<?xml version="1.0" encoding="utf-8" ?>
<otrs_package version="1.1">
    <Name>Survey</Name>
    <Version>11.1.1</Version>
    <Vendor>Rother OSS GmbH</Vendor>
    <URL>https://otobo.io/</URL>
    <License>GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007</License>
    <ChangeLog Date="2026-10-26 13:05:31" Version="11.1.1">Initial release for OTOBO 11.1.</ChangeLog>
    <Description Lang="en">A customer survey tool.</Description>
    <Description Lang="de">Ein Kundenumfragen Werkzeug.</Description>
    <Description Lang="es">Una herramienta de encuestas a clientes.</Description>
    <Description Lang="hu">Egy ügyfélkérdőív eszköz.</Description>
    <Framework>11.1.x</Framework>
    <IntroInstall Lang="en" Title="Install Information" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;WELCOME&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        You are about to install the OTOBO package Survey.&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroInstall>
    <IntroInstall Lang="de" Title="Installation Information" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;WILLKOMMEN&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        Sie sind im Begriff das OTOBO-Paket Survey zu installieren.&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroInstall>
    <IntroInstall Lang="es" Title="Información de Instalación" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;BIENVENIDO&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        Está apunto de instalar el módulo de encuestas de OTOBO.&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroInstall>
    <IntroInstall Lang="hu" Title="Telepítési információk" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;ÜDVÖZÖLJÜK&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        Ön a Survey OTOBO csomag telepítésére készül.&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroInstall>
    <IntroUninstall Lang="en" Title="Uninstallation Information" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;ATTENTION&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        If you uninstall this package, all database tables that were created during installation will be deleted.
        All data from these tables will be irrevocably lost!
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroUninstall>
    <IntroUninstall Lang="de" Title="Uninstallation Information" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;ACHTUNG&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        Bei der Deinstallation werden die von diesem Paket angelegten Datenbank-Tabellen gelöscht.
        Alle darin enthaltenen Daten gehen unwiderruflich verloren!
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroUninstall>
    <IntroUninstall Lang="es" Title="Información de Desinstalación" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;ATENCIÓN&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        Si usted desinstala este paquete, todas las tablas de la base de datos creadas durante la instalación serán borradas.
        ¡Todos los datos de esas tablas serán irrevocablemente perdidos!.
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroUninstall>
    <IntroUninstall Lang="hu" Title="Eltávolítási információk" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;FIGYELEM&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        Ha eltávolítja ezt a csomagot, akkor a telepítés során létrehozott összes adatbázistábla törlésre kerül.
        Az ezekben a táblákban lévő összes adat visszavonhatatlanul el fog veszni!
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroUninstall>
    <IntroUpgrade Lang="en" Title="Upgrade Information" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;WELCOME&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        You are about to upgrade the OTOBO package Survey.&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroUpgrade>
    <IntroUpgrade Lang="de" Title="Upgrade Information" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;WILLKOMMEN&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        Sie sind im Begriff das OTOBO-Paket Survey zu aktualisieren.&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroUpgrade>
    <IntroUpgrade Lang="es" Title="Información de Actualización" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;BIENVENIDO&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        Esta apunto de actualizar el módulo de encuestas de OTOBO.&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroUpgrade>
    <IntroUpgrade Lang="hu" Title="Frissítési információk" Type="pre">

        &lt;br&gt;
        &lt;strong&gt;ÜDVÖZÖLJÜK&lt;/strong&gt;
        &lt;br&gt;
        &lt;br&gt;
        Ön a Survey OTOBO csomag frissítésére készül.&lt;br&gt;
        &lt;br&gt;
        &lt;br&gt;
        ((enjoy))&lt;br&gt;
        &lt;br&gt;

    </IntroUpgrade>
    <CodeUpgrade Type="post" Version="2.1.5">

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}-&gt;{Name}-&gt;{Content};

        $Kernel::OM-&gt;Get($CodeModule)-&gt;CodeUpgradeFromLowerThan_2_1_5();
    </CodeUpgrade>
    <CodeUpgrade Type="post" Version="2.0.92">

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}-&gt;{Name}-&gt;{Content};

        $Kernel::OM-&gt;Get($CodeModule)-&gt;CodeUpgradeFromLowerThan_2_0_92();
    </CodeUpgrade>
    <CodeUpgrade Type="post" Version="4.0.1">

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}-&gt;{Name}-&gt;{Content};

        $Kernel::OM-&gt;Get($CodeModule)-&gt;CodeUpgradeFromLowerThan_4_0_1();

    </CodeUpgrade>
    <CodeUpgrade Type="post" Version="4.0.91">

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}-&gt;{Name}-&gt;{Content};

        $Kernel::OM-&gt;Get($CodeModule)-&gt;CodeUpgradeFromLowerThan_4_0_91();

    </CodeUpgrade>
    <BuildCommitID>719b7d3a60cc3864a33a3fc7f7025fd630dd48c9</BuildCommitID>
    <BuildDate>2026-10-26 13:05:35</BuildDate>
    <BuildHost>opms.rother-oss.com</BuildHost>
    <Filelist>
        <File Location="doc/survey-database.png" Permission="660" Encode="Base64">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</File>
        <File Location="Kernel/Config/Files/XML/Survey.xml" Permission="660" Encode="Base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxvdG9ib19jb25maWcgdmVyc2lvbj0iMi4wIiBpbml0PSJBcHBsaWNhdGlvbiI+CiAgICA8U2V0dGluZyBOYW1lPSJGcm9udGVuZDo6TW9kdWxlIyMjQWdlbnRTdXJ2ZXlPdmVydmlldyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5BbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6TW9kdWxlUmVnaXN0cmF0aW9uPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEl0ZW0gVmFsdWVUeXBlPSJGcm9udGVuZFJlZ2lzdHJhdGlvbiI+CiAgICAgICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwUm8iPgogICAgICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVzY3JpcHRpb24iIFRyYW5zbGF0YWJsZT0iMSI+QSBTdXJ2ZXkgTW9kdWxlLjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5hdkJhck5hbWUiPlN1cnZleTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlRpdGxlIiBUcmFuc2xhdGFibGU9IjEiPlN1cnZleTwvSXRlbT4KICAgICAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICAgICAgPC9JdGVtPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJMb2FkZXI6Ok1vZHVsZTo6QWdlbnRTdXJ2ZXlPdmVydmlldyMjIzAwMi1TdXJ2ZXkiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5TdXJ2ZXkuQWdlbnQuRGVmYXVsdC5jc3M8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iSmF2YVNjcmlwdCI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5TdXJ2ZXkuQWdlbnQuU3VydmV5T3ZlcnZpZXcuanM8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJGcm9udGVuZDo6TmF2aWdhdGlvbiMjI0FnZW50U3VydmV5T3ZlcnZpZXcjIyMwMDItU3VydmV5IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPk1haW4gbWVudSBpdGVtIHJlZ2lzdHJhdGlvbi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6TW9kdWxlUmVnaXN0cmF0aW9uOjpNYWluTWVudTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgIDxEZWZhdWx0SXRlbSBWYWx1ZVR5cGU9IkZyb250ZW5kTmF2aWdhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICAgICAgPC9IYXNoPgogICAgICAgICAgICAgICAgPC9EZWZhdWx0SXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtPgogICAgICAgICAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cFJvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEZXNjcmlwdGlvbiIgVHJhbnNsYXRhYmxlPSIxIj5BIFN1cnZleSBNb2R1bGUuPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5hbWUiIFRyYW5zbGF0YWJsZT0iMSI+U3VydmV5PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkxpbmsiPkFjdGlvbj1BZ2VudFN1cnZleU92ZXJ2aWV3PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkxpbmtPcHRpb24iPjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYXZCYXIiPlN1cnZleTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUeXBlIj5NZW51PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkJsb2NrIj5JdGVtQXJlYTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJBY2Nlc3NLZXkiPjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvIj44MDAwPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtPgogICAgICAgICAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cFJvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEZXNjcmlwdGlvbiIgVHJhbnNsYXRhYmxlPSIxIj5PdmVydmlldzwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYW1lIiBUcmFuc2xhdGFibGU9IjEiPk92ZXJ2aWV3PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkxpbmsiPkFjdGlvbj1BZ2VudFN1cnZleU92ZXJ2aWV3PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkxpbmtPcHRpb24iPjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYXZCYXIiPlN1cnZleTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUeXBlIj48L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQmxvY2siPjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJBY2Nlc3NLZXkiPjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvIj4xMDA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9IYXNoPgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0FycmF5PgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJGcm9udGVuZDo6TW9kdWxlIyMjQWdlbnRTdXJ2ZXlBZGQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpNb2R1bGVSZWdpc3RyYXRpb248L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IkZyb250ZW5kUmVnaXN0cmF0aW9uIj4KICAgICAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iR3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iR3JvdXBSbyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEZXNjcmlwdGlvbiIgVHJhbnNsYXRhYmxlPSIxIj5TdXJ2ZXkgQWRkIE1vZHVsZS48L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYXZCYXJOYW1lIj5TdXJ2ZXk8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUaXRsZSIgVHJhbnNsYXRhYmxlPSIxIj5TdXJ2ZXk8L0l0ZW0+CiAgICAgICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iTG9hZGVyOjpNb2R1bGU6OkFnZW50U3VydmV5QWRkIyMjMDAyLVN1cnZleSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Mb2FkZXIgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6TW9kdWxlUmVnaXN0cmF0aW9uOjpMb2FkZXI8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ1NTIj4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPlN1cnZleS5BZ2VudC5EZWZhdWx0LmNzczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJKYXZhU2NyaXB0Ij4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPlN1cnZleS5BZ2VudC5DdXN0b21lclVzZXJDb25kaXRpb25zLmpzPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iRnJvbnRlbmQ6Ok5hdmlnYXRpb24jIyNBZ2VudFN1cnZleUFkZCMjIzAwMi1TdXJ2ZXkiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TWFpbiBtZW51IGl0ZW0gcmVnaXN0cmF0aW9uLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpNb2R1bGVSZWdpc3RyYXRpb246Ok1haW5NZW51PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgPERlZmF1bHRJdGVtIFZhbHVlVHlwZT0iRnJvbnRlbmROYXZpZ2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgICAgICAgICA8L0RlZmF1bHRJdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iR3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwUm8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2NyaXB0aW9uIiBUcmFuc2xhdGFibGU9IjEiPk5ldzwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYW1lIiBUcmFuc2xhdGFibGU9IjEiPk5ldzwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJMaW5rIj5BY3Rpb249QWdlbnRTdXJ2ZXlBZGQ8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTGlua09wdGlvbiI+PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5hdkJhciI+U3VydmV5PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlR5cGUiPjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJCbG9jayI+PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFjY2Vzc0tleSI+PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlByaW8iPjIwMDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkZyb250ZW5kOjpNb2R1bGUjIyNBZ2VudFN1cnZleUVkaXQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6TW9kdWxlUmVnaXN0cmF0aW9uPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEl0ZW0gVmFsdWVUeXBlPSJGcm9udGVuZFJlZ2lzdHJhdGlvbiI+CiAgICAgICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwUm8iPgogICAgICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVzY3JpcHRpb24iIFRyYW5zbGF0YWJsZT0iMSI+U3VydmV5IEVkaXQgTW9kdWxlLjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5hdkJhck5hbWUiPlN1cnZleTwvSXRlbT4KICAgICAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICAgICAgPC9JdGVtPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJMb2FkZXI6Ok1vZHVsZTo6QWdlbnRTdXJ2ZXlFZGl0IyMjMDAyLVN1cnZleSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Mb2FkZXIgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6TW9kdWxlUmVnaXN0cmF0aW9uOjpMb2FkZXI8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ1NTIj4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPlN1cnZleS5BZ2VudC5EZWZhdWx0LmNzczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJKYXZhU2NyaXB0Ij4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPlN1cnZleS5BZ2VudC5DdXN0b21lclVzZXJDb25kaXRpb25zLmpzPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iRnJvbnRlbmQ6Ok5hdmlnYXRpb24jIyNBZ2VudFN1cnZleUVkaXQjIyMwMDItU3VydmV5IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjAiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPk1haW4gbWVudSBpdGVtIHJlZ2lzdHJhdGlvbi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6TW9kdWxlUmVnaXN0cmF0aW9uOjpNYWluTWVudTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgIDxEZWZhdWx0SXRlbSBWYWx1ZVR5cGU9IkZyb250ZW5kTmF2aWdhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICAgICAgPC9IYXNoPgogICAgICAgICAgICAgICAgPC9EZWZhdWx0SXRlbT4KICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iRnJvbnRlbmQ6Ok1vZHVsZSMjI0FnZW50U3VydmV5U3RhdHMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6Ok1vZHVsZVJlZ2lzdHJhdGlvbjwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iRnJvbnRlbmRSZWdpc3RyYXRpb24iPgogICAgICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cFJvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2NyaXB0aW9uIiBUcmFuc2xhdGFibGU9IjEiPlN1cnZleSBTdGF0cyBNb2R1bGUuPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTmF2QmFyTmFtZSI+U3VydmV5PC9JdGVtPgogICAgICAgICAgICAgICAgPC9IYXNoPgogICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkxvYWRlcjo6TW9kdWxlOjpBZ2VudFN1cnZleVN0YXRzIyMjMDAyLVN1cnZleSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Mb2FkZXIgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6TW9kdWxlUmVnaXN0cmF0aW9uOjpMb2FkZXI8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ1NTIj4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPlN1cnZleS5BZ2VudC5EZWZhdWx0LmNzczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJKYXZhU2NyaXB0Ij4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPlN1cnZleS5BZ2VudC5TdXJ2ZXlTdGF0cy5qczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkZyb250ZW5kOjpOYXZpZ2F0aW9uIyMjQWdlbnRTdXJ2ZXlTdGF0cyMjIzAwMi1TdXJ2ZXkiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TWFpbiBtZW51IGl0ZW0gcmVnaXN0cmF0aW9uLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpNb2R1bGVSZWdpc3RyYXRpb246Ok1haW5NZW51PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgPERlZmF1bHRJdGVtIFZhbHVlVHlwZT0iRnJvbnRlbmROYXZpZ2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgICAgICAgICA8L0RlZmF1bHRJdGVtPgogICAgICAgICAgICA8L0FycmF5PgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICAgPFNldHRpbmcgTmFtZT0iRnJvbnRlbmQ6Ok1vZHVsZSMjI0FnZW50U3VydmV5Wm9vbSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Gcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpNb2R1bGVSZWdpc3RyYXRpb248L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IkZyb250ZW5kUmVnaXN0cmF0aW9uIj4KICAgICAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iR3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iR3JvdXBSbyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEZXNjcmlwdGlvbiIgVHJhbnNsYXRhYmxlPSIxIj5TdXJ2ZXkgWm9vbSBNb2R1bGUuPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTmF2QmFyTmFtZSI+U3VydmV5PC9JdGVtPgogICAgICAgICAgICAgICAgPC9IYXNoPgogICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkxvYWRlcjo6TW9kdWxlOjpBZ2VudFN1cnZleVpvb20jIyMwMDItU3VydmV5IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkxvYWRlciBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpNb2R1bGVSZWdpc3RyYXRpb246OkxvYWRlcjwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDU1MiPgogICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0+U3VydmV5LkFnZW50LkRlZmF1bHQuY3NzPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkphdmFTY3JpcHQiPgogICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0+U3VydmV5LkFnZW50LlN1cnZleVpvb20uanM8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJGcm9udGVuZDo6TmF2aWdhdGlvbiMjI0FnZW50U3VydmV5Wm9vbSMjIzAwMi1TdXJ2ZXkiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TWFpbiBtZW51IGl0ZW0gcmVnaXN0cmF0aW9uLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpNb2R1bGVSZWdpc3RyYXRpb246Ok1haW5NZW51PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgPERlZmF1bHRJdGVtIFZhbHVlVHlwZT0iRnJvbnRlbmROYXZpZ2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgICAgICAgICA8L0RlZmF1bHRJdGVtPgogICAgICAgICAgICA8L0FycmF5PgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJGcm9udGVuZDo6TW9kdWxlIyMjQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkZyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6Ok1vZHVsZVJlZ2lzdHJhdGlvbjwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iRnJvbnRlbmRSZWdpc3RyYXRpb24iPgogICAgICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cFJvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2NyaXB0aW9uIiBUcmFuc2xhdGFibGU9IjEiPkEgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy48L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYXZCYXJOYW1lIj48L0l0ZW0+CiAgICAgICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iTG9hZGVyOjpNb2R1bGU6OkFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucyMjIzAwMi1TdXJ2ZXkiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5TdXJ2ZXkuQWdlbnQuRGVmYXVsdC5jc3M8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iSmF2YVNjcmlwdCI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5TdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucy5qczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlB1YmxpY0Zyb250ZW5kOjpNb2R1bGUjIyNQdWJsaWNTdXJ2ZXkiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpQdWJsaWM6Ok1vZHVsZVJlZ2lzdHJhdGlvbjwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iRnJvbnRlbmRSZWdpc3RyYXRpb24iPgogICAgICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cFJvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2NyaXB0aW9uIiBUcmFuc2xhdGFibGU9IjEiPlB1YmxpYyBTdXJ2ZXkuPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTmF2QmFyTmFtZSI+U3VydmV5PC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGl0bGUiIFRyYW5zbGF0YWJsZT0iMSI+U3VydmV5PC9JdGVtPgogICAgICAgICAgICAgICAgPC9IYXNoPgogICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkxvYWRlcjo6TW9kdWxlOjpQdWJsaWNTdXJ2ZXkjIyMwMDItU3VydmV5IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkxvYWRlciBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OlB1YmxpYzo6TW9kdWxlUmVnaXN0cmF0aW9uPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5TdXJ2ZXkuQ3VzdG9tZXIuRGVmYXVsdC5jc3M8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJTdXJ2ZXk6OlNob3dWb3RlRGF0YSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5FbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Db3JlOjpTdXJ2ZXk8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IkNoZWNrYm94Ij4wPC9JdGVtPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJTdXJ2ZXk6OlNlbmRQZXJpb2QiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+QW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+Q29yZTo6U3VydmV5PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEl0ZW0gVmFsdWVUeXBlPSJTdHJpbmciIFZhbHVlUmVnZXg9Il5cZCskIj4zMDA8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6RGVsZXRlUGVyaW9kIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlJlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiAnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlJyBzZXR0aW5nLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+Q29yZTo6U3VydmV5PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEl0ZW0gVmFsdWVUeXBlPSJTdHJpbmciIFZhbHVlUmVnZXg9Il5cZCskIj4zNjU8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uVGlja2V0VHlwZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5FbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkNvcmU6OlN1cnZleTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iQ2hlY2tib3giPjA8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uU2VydmljZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5FbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+Q29yZTo6U3VydmV5PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEl0ZW0gVmFsdWVUeXBlPSJDaGVja2JveCI+MDwvSXRlbT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iU3VydmV5OjpOb3RpZmljYXRpb25TZW5kZXIiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Db3JlOjpTdXJ2ZXk8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IlN0cmluZyIgVmFsdWVSZWdleD0iIj5xdWFsaXR5QGV4YW1wbGUuY29tPC9JdGVtPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJTdXJ2ZXk6Ok5vdGlmaWNhdGlvblJlY2lwaWVudEJsYWNrbGlzdCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+Q29yZTo6U3VydmV5PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEFycmF5PjwvQXJyYXk+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6Tm90aWZpY2F0aW9uU3ViamVjdCIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Db3JlOjpTdXJ2ZXk8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IlN0cmluZyIgVmFsdWVSZWdleD0iIj5IZWxwIHVzIHdpdGggeW91ciBmZWVkYmFjayE8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6Tm90aWZpY2F0aW9uQm9keSIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Db3JlOjpTdXJ2ZXk8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IlRleHRhcmVhIj5EZWFyIEN1c3RvbWVyLAoKVGhhbmtzIGZvciB1c2luZyBvdXIgc2VydmljZS4gSGVscCB1cyB0byBpbXByb3ZlIHVzIGFuZCBvdXIgc2VydmljZXMuCgpQbGVhc2UgZ2l2ZSB1cyBmZWVkYmFjayBvbiBob3cgdG8gaW1wcm92ZSBvdXIgc2VydmljZXM6CgombHQ7T1RPQk9fQ09ORklHX0h0dHBUeXBlJmd0OzovLyZsdDtPVE9CT19DT05GSUdfRlFETiZndDsvJmx0O09UT0JPX0NPTkZJR19TY3JpcHRBbGlhcyZndDtwdWJsaWMucGw/QWN0aW9uPVB1YmxpY1N1cnZleTtQdWJsaWNTdXJ2ZXlLZXk9Jmx0O09UT0JPX1B1YmxpY1N1cnZleUtleSZndDsKClRoYW5rcyBmb3IgeW91ciBoZWxwIQoKWW91ciBPVE9CTy1UZWFtCiAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iU3VydmV5OjpTZW5kTm9TdXJ2ZXlSZWdFeHAiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+SWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50LjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+Q29yZTo6U3VydmV5PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEl0ZW0gVmFsdWVUeXBlPSJTdHJpbmciIFZhbHVlUmVnZXg9IiI+KE1BSUxFUi1EQUVNT058cG9zdG1hc3RlcnxhYnVzZSlALis/XC4uKz88L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlRpY2tldDo6RXZlbnRNb2R1bGVQb3N0IyMjOTktU3VydmV5U2VuZFJlcXVlc3QiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+VGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Db3JlOjpFdmVudDo6U3VydmV5PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpTeXN0ZW06OlRpY2tldDo6RXZlbnQ6OlN1cnZleVNlbmRSZXF1ZXN0PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJFdmVudCI+KEFydGljbGVDcmVhdGV8VGlja2V0U3RhdGVVcGRhdGUpPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6RnJvbnRlbmQ6Ok92ZXJ2aWV3IyMjU21hbGwiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0LjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpTdXJ2ZXlPdmVydmlldzwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6T3V0cHV0OjpIVE1MOjpTdXJ2ZXlPdmVydmlldzo6U21hbGw8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5hbWUiPlNtYWxsPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYW1lU2hvcnQiPlM8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlBhZ2VTaG93biI+MjU8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkltYWdlIj5vdmVydmlld3NtYWxsLnBuZzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iSW1hZ2VTZWxlY3RlZCI+b3ZlcnZpZXdzbWFsbC1zZWxlY3RlZC5wbmc8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iU3VydmV5OjpGcm9udGVuZDo6QWdlbnRTdXJ2ZXlPdmVydmlldyMjI1Nob3dDb2x1bW5zIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6OlZpZXc6OlN1cnZleU92ZXJ2aWV3PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik51bWJlciI+MTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGl0bGUiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkludHJvZHVjdGlvbiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVzY3JpcHRpb24iPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5vdGlmaWNhdGlvblNlbmRlciI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTm90aWZpY2F0aW9uU3ViamVjdCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTm90aWZpY2F0aW9uQm9keSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iU3RhdHVzIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDcmVhdGVUaW1lIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDcmVhdGVCeSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ2hhbmdlVGltZSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ2hhbmdlQnkiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iU3VydmV5OjpGcm9udGVuZDo6SFRNTFJpY2hUZXh0SGVpZ2h0RGVmYXVsdCIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6OlZpZXc6OlN1cnZleVpvb208L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IlN0cmluZyIgVmFsdWVSZWdleD0iXlswLTldezEsNH0kIj44MDwvSXRlbT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iU3VydmV5OjpGcm9udGVuZDo6SFRNTFJpY2hUZXh0SGVpZ2h0TWF4IiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6Vmlldzo6U3VydmV5Wm9vbTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iU3RyaW5nIiBWYWx1ZVJlZ2V4PSJeWzAtOV17MSw0fSQiPjI1MDA8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6RnJvbnRlbmQ6OkNoYW5nZVN1cnZleVN0YXR1c0dyb3VwcyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6OlZpZXc6OlN1cnZleVpvb208L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6U2VuZEluSG91cnNBZnRlckNsb3NlIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mICdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZCcgc2V0dGluZy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkNvcmU6OlN1cnZleTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iU3RyaW5nIiBWYWx1ZVJlZ2V4PSJeWzAtOV17MSw1fSQiPjA8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6QW1vdW50T2ZTdXJ2ZXlzUGVyMzBEYXlzIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Db3JlOjpTdXJ2ZXk8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IlN0cmluZyIgVmFsdWVSZWdleD0iXlswLTldezEsNH0kIj4wPC9JdGVtPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJTdXJ2ZXk6Okhvb2siIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+VGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkNvcmU6OlN1cnZleTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iU3RyaW5nIiBWYWx1ZVJlZ2V4PSIiPlN1cnZleSM8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlByZWZlcmVuY2VzR3JvdXBzIyMjU3VydmV5T3ZlcnZpZXdTbWFsbFBhZ2VTaG93biIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5QYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6Vmlldzo6UHJlZmVyZW5jZXM8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6Ok91dHB1dDo6SFRNTDo6UHJlZmVyZW5jZXM6OkdlbmVyaWM8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlByZWZlcmVuY2VHcm91cCI+TWlzY2VsbGFuZW91czwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTGFiZWwiIFRyYW5zbGF0YWJsZT0iMSI+U3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQ8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2MiIFRyYW5zbGF0YWJsZT0iMSI+U3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi48L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IktleSIgVHJhbnNsYXRhYmxlPSIxIj5MaW1pdC48L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRhdGEiPgogICAgICAgICAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEwIj4xMDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxNSI+MTU8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMjAiPjIwPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjI1Ij4yNTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIzMCI+MzA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMzUiPjM1PC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGF0YVNlbGVjdGVkIj4yNTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iUHJlZktleSI+VXNlclN1cnZleU92ZXJ2aWV3U21hbGxQYWdlU2hvd248L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlByaW8iPjgwMDA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFjdGl2ZSI+MDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJTdXJ2ZXk6OkZyb250ZW5kOjpNZW51TW9kdWxlIyMjMDAwLUJhY2siIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6Vmlldzo6U3VydmV5Wm9vbTo6TWVudU1vZHVsZTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6T3V0cHV0OjpIVE1MOjpTdXJ2ZXlNZW51OjpHZW5lcmljPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYW1lIiBUcmFuc2xhdGFibGU9IjEiPkJhY2s8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2NyaXB0aW9uIiBUcmFuc2xhdGFibGU9IjEiPkJhY2s8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFjdGlvbiI+PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJMaW5rIj5bJSBFbnYoIkxhc3RTY3JlZW5PdmVydmlldyIpIHwgaHRtbCAlXTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGFyZ2V0Ij5CYWNrPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6RnJvbnRlbmQ6Ok1lbnVNb2R1bGUjIyMwMTAtRWRpdEdlbmVyYWxJbmZvIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZ2VudDo6Vmlldzo6U3VydmV5Wm9vbTo6TWVudU1vZHVsZTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6T3V0cHV0OjpIVE1MOjpTdXJ2ZXlNZW51OjpHZW5lcmljPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYW1lIiBUcmFuc2xhdGFibGU9IjEiPkVkaXQgR2VuZXJhbCBJbmZvPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEZXNjcmlwdGlvbiIgVHJhbnNsYXRhYmxlPSIxIj5FZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQWN0aW9uIj5BZ2VudFN1cnZleUVkaXQ8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkxpbmsiPkFjdGlvbj1BZ2VudFN1cnZleUVkaXQ7U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IGh0bWwgJV08L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlRhcmdldCI+UG9wVXA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iU3VydmV5OjpGcm9udGVuZDo6TWVudU1vZHVsZSMjIzAyMC1FZGl0UXVlc3Rpb25zIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpWaWV3OjpTdXJ2ZXlab29tOjpNZW51TW9kdWxlPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpPdXRwdXQ6OkhUTUw6OlN1cnZleU1lbnU6OkdlbmVyaWM8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5hbWUiIFRyYW5zbGF0YWJsZT0iMSI+RWRpdCBRdWVzdGlvbnM8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2NyaXB0aW9uIiBUcmFuc2xhdGFibGU9IjEiPkVkaXQgc3VydmV5IHF1ZXN0aW9ucy48L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFjdGlvbiI+QWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJMaW5rIj5BY3Rpb249QWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zO1N1cnZleUlEPVslIERhdGEuU3VydmV5SUQgfCBodG1sICVdPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUYXJnZXQiPlBvcFVwPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleTo6RnJvbnRlbmQ6Ok1lbnVNb2R1bGUjIyMwMzAtU3RhdHNEZXRhaWxzIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpWaWV3OjpTdXJ2ZXlab29tOjpNZW51TW9kdWxlPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpPdXRwdXQ6OkhUTUw6OlN1cnZleU1lbnU6OkdlbmVyaWM8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5hbWUiIFRyYW5zbGF0YWJsZT0iMSI+U3RhdHMgRGV0YWlsczwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVzY3JpcHRpb24iIFRyYW5zbGF0YWJsZT0iMSI+Wm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy48L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFjdGlvbiI+QWdlbnRTdXJ2ZXlTdGF0czwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTGluayI+QWN0aW9uPUFnZW50U3VydmV5U3RhdHM7U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IGh0bWwgJV08L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlRhcmdldCI+UG9wVXA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+VHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2s8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGFza05hbWUiPlN1cnZleVJlcXVlc3RzU2VuZDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iU2NoZWR1bGUiPiovMjAgKiAqICogKjwvSXRlbT4gPCEtLSBkZWZhdWx0OiBldmVyeSAyMCBtaW4gLS0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpTeXN0ZW06OkNvbnNvbGU6OkNvbW1hbmQ6Ok1haW50OjpTdXJ2ZXk6OlJlcXVlc3RzU2VuZDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRnVuY3Rpb24iPkV4ZWN1dGU8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1heGltdW1QYXJhbGxlbEluc3RhbmNlcyI+MTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iUGFyYW1zIj4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPi0tZm9yY2U8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvbkN1c3RvbWVyRmllbGRzIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjAiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkNvcmU6OlN1cnZleTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJVc2VyQ3VzdG9tZXJJRCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVXNlclRpdGxlIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJVc2VyRmlyc3RuYW1lIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJVc2VyTGFzdG5hbWUiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlVzZXJMb2dpbiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVXNlckVtYWlsIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJVc2VyUGhvbmUiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlVzZXJGYXgiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlVzZXJNb2JpbGUiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlVzZXJTdHJlZXQiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlVzZXJaaXAiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlVzZXJDaXR5Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJVc2VyQ291bnRyeSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVXNlckNvbW1lbnQiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5UcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5EYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzazwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUYXNrTmFtZSI+U3VydmV5UmVxdWVzdHNEZWxldGU8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlNjaGVkdWxlIj4qLzIwICogKiAqICo8L0l0ZW0+IDwhLS0gZGVmYXVsdDogZXZlcnkgMjAgbWluIC0tPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6U3lzdGVtOjpDb25zb2xlOjpDb21tYW5kOjpNYWludDo6U3VydmV5OjpSZXF1ZXN0c0RlbGV0ZTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRnVuY3Rpb24iPkV4ZWN1dGU8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1heGltdW1QYXJhbGxlbEluc3RhbmNlcyI+MTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iUGFyYW1zIj4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPi0tZm9yY2U8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJTdGF0czo6RHluYW1pY09iamVjdFJlZ2lzdHJhdGlvbiMjI1N1cnZleUxpc3QiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkNvcmU6OlN0YXRzPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpTeXN0ZW06OlN0YXRzOjpEeW5hbWljOjpTdXJ2ZXlMaXN0PC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IlN1cnZleVN0YXRzOjpTaG93RGVsZXRlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjAiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFnZW50OjpWaWV3OjpTdXJ2ZXlTdGF0czwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iU3VydmV5OjpTZW5kT25seVRvUmVhbEN1c3RvbWVyIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+Q29yZTo6U3VydmV5PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEl0ZW0gVmFsdWVUeXBlPSJDaGVja2JveCI+MDwvSXRlbT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgo8L290b2JvX2NvbmZpZz4K</File>
        <File Location="Kernel/Language/ar_SA_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmFyX1NBX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/bg_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmJnX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ9Ch0YrQt9C00LDQudGC0LUg0L3QvtCy0L4g0J/RgNC+0YPRh9Cy0LDQvdC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludHJvZHVjdGlvbid9ID0gJ9CS0YrQstC10LTQtdC90LjQtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAn0JLRitCy0LXQtNC10L3QuNC1INCyINC40LfRgdC70LXQtNCy0LDQvdC10YLQvic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ9Cj0LLQtdC00L7QvNGP0LLQsNC90LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICfQktGK0YLRgNC10YjQvdC+INC+0L/QuNGB0LDQvdC40LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3VzdG9tZXIgY29uZGl0aW9ucyd9ID0gJ9Ca0LvQuNC10L3RgtGB0LrQuCDRg9GB0LvQvtCy0LjRjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJ9Cc0L7Qu9GPLCDQuNC30LHQtdGA0LXRgtC1INGB0LLQvtC50YHRgtCy0L4g0L3QsCDQutC70LjQtdC90YLQsCwg0LfQsCDQtNCwINC00L7QsdCw0LLQuNGC0LUg0YPRgdC70L7QstC40LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAn0JrQu9GO0Ycg0LfQsCDQvtCx0YnQtdGB0YLQstC10L3QviDQv9GA0L7Rg9GH0LLQsNC90LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICfQn9GA0LjQvNC10YDQvdCwINCw0L3QutC10YLQsCc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEdlbmVyYWwgSW5mbyd9ID0gJ9Cg0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQvtGB0L3QvtCy0L3QsNGC0LAg0LjQvdGE0L7RgNC80LDRhtC40Y8nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICfQoNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0LLRitC/0YDQvtGB0LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAn0JLQuNC1INGB0YLQtSDRgtGD0LonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFF1ZXN0aW9ucyd9ID0gJ9CS0YrQv9GA0L7RgdC4INC30LAg0L/RgNC+0YPRh9Cy0LDQvdC10YLQvic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICfQlNC+0LHQsNCy0Y/QvdC1INC90LAg0LLRitC/0YDQvtGBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAn0JLRitCy0LXQtNC10YLQtSDQstGK0L/RgNC+0YHQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICfQndC10L7QsdGF0L7QtNC40Lwg0LUg0L7RgtCz0L7QstC+0YAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICfQndGP0LzQsCDQt9Cw0L/QuNGB0LDQvdC4INCy0YrQv9GA0L7RgdC4INC30LAg0YLQvtCy0LAg0L/RgNC+0YPRh9Cy0LDQvdC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJ9CS0YrQv9GA0L7RgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICfQndC10L7QsdGF0L7QtNC40Lwg0LUg0L7RgtCz0L7QstC+0YAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJ9Ca0L7Qs9Cw0YLQviDQv9GA0LjQutC70Y7Rh9C40YLQtSDRgSDRgNC10LTQsNC60YLQuNGA0LDQvdC10YLQviDQvdCwINCy0YrQv9GA0L7RgdC40YLQtSDQvtGCINC40LfRgdC70LXQtNCy0LDQvdC10YLQviwg0L/RgNC+0YHRgtC+INC30LDRgtCy0L7RgNC10YLQtSDRgtC+0LfQuCDQtdC60YDQsNC9Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJ9CX0LDRgtCy0L7RgNC10YLQtSDRgtC+0LfQuCDQv9GA0L7Qt9C+0YDQtdGGJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICfQoNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0LLRitC/0YDQvtGB0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBxdWVzdGlvbnMnfSA9ICfQktGK0YDQvdC10YLQtSDRgdC1INC60YrQvCDQstGK0L/RgNC+0YHQuNGC0LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAn0JLRitC/0YDQvtGBIDonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICfQktGK0LfQvNC+0LbQvdC4INC+0YLQs9C+0LLQvtGA0Lgg0LfQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAn0JTQvtCx0LDQstGP0L3QtSDQvdCwINCe0YLQs9C+0LLQvtGAJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAn0J3Rj9C80LAg0L7RgtCz0L7QstC+0YDQuCDQt9CwINGC0L7Qt9C4INCy0YrQv9GA0L7RgS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ9Cd0Y/QvNCwINC90Y/QutC+0LvQutC+INC+0YLQs9C+0LLQvtGA0LAsINC4INGJ0LUg0YHQtSDQv9C+0LrQsNC20LUg0YLQtdC60YHRgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJ9Cg0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQvtGC0LPQvtCy0L7RgCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIGVkaXQgcXVlc3Rpb24nfSA9ICfQktGK0YDQvdC10YLQtSDRgdC1LCDQt9CwINC00LAg0YDQtdC00LDQutGC0LjRgNCw0YLQtSDQstGK0L/RgNC+0YHQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAn0J7RgtCz0L7QstC+0YA6JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJ9Ce0L/RhtC40Lgg0LfQsCDQv9GA0LXQs9C70LXQtCDQvdCwINC/0YDQvtGD0YfQstCw0L3QtdGC0L4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAn0KLRitGA0YHQuCDQsiDQsNGC0YDQuNCx0YPRgtC40YLQtSBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3Qg0LggTm90aWZpY2F0aW9uQm9keSwg0LfQsNC80LXQvdGP0LnQutC4INC00YDRg9Cz0Lgg0LDRgtGA0LjQsdGD0YLQuCDRgdGK0YEg0YHRitGJ0L7RgtC+INC40LzQtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAn0JLRgNC10LzQtSDQt9CwINGB0YrQt9C00LDQstCw0L3QtSDQvdCwINCw0L3QutC10YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJ9CR0LXQtyDQvtCz0YDQsNC90LjRh9C10L3QuNC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICfQodCw0LzQviDQsNC90LrQtdGC0LgsINGB0YrQt9C00LDQtNC10L3QuCDQvNC10LbQtNGDJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJ9Cc0LDQutGBLiDQv9C+0LrQsNC30LDQvdC4INC/0YDQvtGD0YfQstCw0L3QuNGPINC90LAg0YHRgtGA0LDQvdC40YbQsNGC0LAnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJ9CY0LfQv9GA0LDRidCw0YcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICfQo9Cy0LXQtNC+0LzQu9C10L3QuNC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICfQn9GA0L7QvNC10L3QtdC90L4g0L7Rgic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICfQn9GA0LXQs9C70LXQtCDQvdCwINCh0YLQsNGC0LjRgdGC0LjQutCw0YLQsCDQvtGCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAn0KLQsNCx0LvQuNGG0LAg0YEg0LjRgdC60LDQvdC40Y/RgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICfQmNC30LHQtdGA0LXRgtC1INCy0YHQuNGH0LrQuCDQt9Cw0Y/QstC60LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAn0JLRgNC10LzQtSDQt9CwINC40LfQv9GA0LDRidCw0L3QtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICfQktGA0LXQvNC1INC30LAg0LPQu9Cw0YHRg9Cy0LDQvdC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICfQmNC30LHQtdGA0LXRgtC1INGC0LDQt9C4INC30LDRj9Cy0LrQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJ9CU0LXRgtCw0LnQu9C4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSBzdGF0cyd9ID0gJ9CY0LfRgtGA0LjQstCw0L3QtSDQvdCwINGB0YLQsNGC0LjRgdGC0LjQutCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICfQlNCw0L3QvdC4INC30LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdCwINC40LfRgdC70LXQtNCy0LDQvdC10YLQvic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAn0JLRitGA0L3QtdGC0LUg0YHQtSDQutGK0Lwg0L7QsdGJ0LjRjyDQv9GA0LXQs9C70LXQtCDQvdCwINGB0YLQsNGC0LjRgdGC0LjRh9C10YHQutC40YLQtSDQtNCw0L3QvdC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICfQn9GA0LXQtNC40YjQvdC+INCz0LvQsNGB0YPQstCw0L3QtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICfQodC70LXQtNCy0LDRiSDQstC+0YInOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAn0JjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQv9GA0L7Rg9GH0LLQsNC90LjRj9GC0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJ9CY0LfQv9GA0LDRgtC10L3QuCDQuNGB0LrQsNC90LjRjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAn0J/QvtC70YPRh9C10L3QuCDQv9GA0L7Rg9GH0LLQsNC90LjRjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGV0YWlscyd9ID0gJ9CU0LDQvdC90Lgg0LfQsCDQuNC30YHQu9C10LTQstCw0L3QtdGC0L4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAn0JHQuNC70LXRgtC90Lgg0YPRgdC70YPQs9C4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAn0JPRgNCw0YTQuNC60LAg0L3QsCDRgNC10LfRg9C70YLQsNGC0LjRgtC1INC+0YIg0LjQt9GB0LvQtdC00LLQsNC90LXRgtC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICfQndGP0LzQsCDRgdGC0LDRgtC40YfQtdGB0LrQuCDRgNC10LfRg9C70YLQsNGC0LguJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ9Cf0YDQvtGD0YfQstCw0L3QtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJ9Cc0L7Qu9GPINC+0YLQs9C+0LLQvtGA0LXRgtC1INC90LAg0YHQu9C10LTQvdC40YLQtSDQstGK0L/RgNC+0YHQuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICfQnNC+0LnRgtC1INC+0YLQs9C+0LLQvtGA0LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJ9Ci0L7QstCwINGB0LAg0YLQstC+0LnRgtC1INC+0YLQs9C+0LLQvtGA0LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAn0JfQsNCz0LvQsNCy0LjQtSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAn0JTQvtCy0LDQstGP0L3QtSDQvdCwINC90L7QstC+INCf0YDQvtGD0YfQstCw0L3QtSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICfQndGP0LzQsNGC0LUg0YDQsNC30YDQtdGI0LXQvdC40LUg0LfQsCDRgtC+0LLQsCDQv9GA0L7Rg9GH0LLQsNC90LUhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJ9Cd0LUg0LUg0LTQsNC00LXQvdC+IElEINC90LAg0L/RgNC+0YPRh9Cy0LDQvdC10YLQviEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICfQoNC10LTQsNC60YLQuNGA0LDQvdC1JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJ9Cd0Y/QvNCw0YLQtSDRgNCw0LfRgNC10YjQtdC90LjQtSDQt9CwINGC0L7QstCwINC/0YDQvtGD0YfQstCw0L3QtSDQuNC70Lgg0LLRitC/0YDQvtGBISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJ9Cd0Y/QvNCw0YLQtSDRgNCw0LfRgNC10YjQtdC90LjQtSDQt9CwINGC0L7QstCwINC/0YDQvtGD0YfQstCw0L3QtSwg0LLRitC/0YDQvtGBINC40LvQuCDQvtGC0LPQvtCy0L7RgCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAn0KDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINCy0YrQv9GA0L7RgdC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ9CU0JAv0J3QlSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICfQoNCw0LTQuNC+ICjRgdC/0LjRgdGK0LopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoZWNrYm94IChMaXN0KSd9ID0gJ9Ca0LLQsNC00YDQsNGC0YfQtSDQt9CwINC+0YLQvNC10YLQutCwICjRgdC/0LjRgdGK0LopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJ9Cd0LXRgtC10L0g0YDQtdC30YPQu9GC0LDRgiDQvdCwINC/0YDQvtC80L7Rg9GC0YrRgNCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICfQktGK0L/RgNC+0YEg0YLQuNC/JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAn0J/RitC70LXQvSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAn0J3QtdC/0YrQu9C10L0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gRWRpdCd9ID0gJ9Cg0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQstGK0L/RgNC+0YEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICfQoNC10LTQsNC60YLQuNGA0LDQvdC1JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJ9Ce0LHRiSDQv9GA0LXQs9C70LXQtCDQvdCwINGB0YLQsNGC0LjRgdGC0LjRh9C10YHQutC40YLQtSDQtNCw0L3QvdC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICfQndGP0LzQsNGC0LUg0YDQsNC30YDQtdGI0LXQvdC40LUg0LfQsCDRgtC+0LLQsCDQv9GA0L7Rg9GH0LLQsNC90LUg0LjQu9C4INGB0YLQsNGC0LjRgdGC0LjRh9C10YHQutC4INC/0L7QtNGA0L7QsdC90L7RgdGC0LghJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ9Cf0L7QtNGA0L7QsdC90L7RgdGC0LgnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICfQndC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0LTQsNC00LUg0L3QvtCy0L4g0YHRitGB0YLQvtGP0L3QuNC1ISDQndGP0LzQsCDQtNC10YTQuNC90LjRgNCw0L3QuCDQstGK0L/RgNC+0YHQuC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICfQndC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0LTQsNC00LUg0L3QvtCy0L4g0YHRitGB0YLQvtGP0L3QuNC1ISDQktGK0L/RgNC+0YHQuCDQvdC10L/RitC70L3QuC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHVzIGNoYW5nZWQuJ30gPSAn0KHRitGB0YLQvtGP0L3QuNC10YLQviDQtSDQv9GA0L7QvNC10L3Qvi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSDQndC1INC1INC40LfQsdGA0LDQvdCwINC+0L/QsNGI0LrQsCAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJy0g0J3Rj9C80LAg0LjQt9Cx0YDQsNC9INGC0LjQvyDQsdC40LvQtdGCIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnLSDQndGP0LzQsCDQuNC30LHRgNCw0L3QsCDRg9GB0LvRg9Cz0LAg0LfQsCDQsdC40LvQtdGC0LggLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0g0J/RgNC+0LzRj9C90LAg0L3QsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+IC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAn0JPQu9Cw0LLQtdC9JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICfQndC10LLQsNC70LjQtNC10L0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ9Cd0L7QsiDRgdGC0LDRgtGD0YEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERlc2NyaXB0aW9uJ30gPSAn0J7Qv9C40YHQsNC90LjQtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ9Ce0YLQs9C+0LLQvtGA0LXQvdC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J25vdCBhbnN3ZXJlZCd9ID0gJ9Cd0LUg0LUg0L7RgtCz0L7QstC+0YDQtdC90L4nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJ9CR0LvQsNCz0L7QtNCw0YDQuNC8INCS0Lgg0LfQsCDQvtCx0YDQsNGC0L3QsNGC0LAg0LLRgNGK0LfQutCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ9Cf0YDQvtGD0YfQstCw0L3QtdGC0L4g0L/RgNC40LrQu9GO0YfQuC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAn0KHRitC+0LHRidC10L3QuNC1ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNb2R1bGUgbm90IGVuYWJsZWQuJ30gPSAn0JzQvtC00YPQu9GK0YIg0L3QtSDQtSDQsNC60YLQuNCy0LjRgNCw0L0uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCwgcGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLid9ID0KICAgICAgICAn0KLQsNC30Lgg0YTRg9C90LrRhtC40Y8g0L3QtSDQtSDQsNC60YLQuNCy0LjRgNCw0L3QsCwg0LzQvtC70Y8sINGB0LLRitGA0LbQtdGC0LUg0YHQtSDRgSDQkNC00LzQuNC90LjRgdGC0YDQsNGC0L7RgC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJ9CT0YDQtdGI0LrQsCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJ9Cd0LXQstCw0LvQuNC00LXQvSDQutC70Y7RhyDQt9CwINC/0YDQvtGD0YfQstCw0L3QtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJ9CS0YrQstC10LTQtdC90LjRj9GCINC60LvRjtGHINC1INC90LXQstCw0LvQuNC00LXQvSwg0LDQutC+INGB0YLQtSDQv9GA0L7RgdC70LXQtNC40LvQuCDQstGA0YrQt9C60LDRgtCwLCDQvNC+0LbQtSDQsdC4INGC0L7QstCwINC1INC+0YHRgtCw0YDRj9C70L4g0LjQu9C4INC90LXQstCw0LvQuNC00L3Qvi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICfQn9GA0L7Rg9GH0LLQsNC90LUg0L3QsCDQs9C70LDRgdGD0LLQsNC90LXRgtC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlIERhdGEnfSA9ICfQlNCw0L3QvdC4INC30LAg0LPQu9Cw0YHRg9Cy0LDQvdC1INCyINC/0YDQvtGD0YfQstCw0L3QuNGP0YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAn0JLQuNC1INCy0LXRh9C1INGB0YLQtSDQvtGC0LPQvtCy0L7RgNC40LvQuC4nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJ9Ch0L/QuNGB0YrQuiDRgSDQsNC90LrQtdGC0LgnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICfQndCw0LjRgdGC0LjQvdCwINC70Lgg0LjRgdC60LDRgtC1INC00LAg0LjQt9GC0YDQuNC10YLQtSDRgtC+0LfQuCDQstGK0L/RgNC+0YE/INCS0YHQuNGH0LrQuCDRgdCy0YrRgNC30LDQvdC4INC00LDQvdC90Lgg0YnQtSDQsdGK0LTQsNGCINC30LDQs9GD0LHQtdC90LghJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAn0J3QsNC40YHRgtC40L3QsCDQu9C4INC40YHQutCw0YLQtSDQtNCwINC40LfRgtGA0LjQtdGC0LUg0YLQvtC30Lgg0L7RgtCz0L7QstC+0YA/JzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJ9Cc0L7QtNGD0Lsg0LfQsCDQv9GA0L7Rg9GH0LLQsNC90LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICfQnNC+0LTRg9C7INC30LAg0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINCy0YrQv9GA0L7RgdC4INC+0YIg0L/RgNC+0YPRh9Cy0LDQvdC10YLQvi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQktGB0LjRh9C60Lgg0L/QsNGA0LDQvNC10YLRgNC4INC30LAg0L7QsdC10LrRgtCwINC+0YIg0LjQt9GB0LvQtdC00LLQsNC90LXRgtC+INCyINC40L3RgtC10YDRhNC10LnRgdCwINC90LAg0LDQs9C10L3RgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICfQodC70LXQtCDQvdGP0LrQvtC70LrQviDQtNC90Lgg0YHQu9C10LQg0LjQt9C/0YDQsNGJ0LDQvdC1INC90LAg0LXQu9C10LrRgtGA0L7QvdC90L7RgtC+INC/0LjRgdC80L4sINCyINC60L7QtdGC0L4g0L3QtSDRgdC1INC40LfQv9GA0LDRidCw0YIg0L3QvtCy0Lgg0LfQsNGP0LLQutC4INC30LAg0L/RgNC+0YPRh9Cy0LDQvdC1INC90LAg0YHRitGJ0LjRjyDQutC70LjQtdC90YIuINCY0LfQsdC40YDQsNC90LXRgtC+INC90LAgMCDQstC40L3QsNCz0Lgg0YnQtSDQuNC30L/RgNCw0YnQsCDQtdC70LXQutGC0YDQvtC90L3QsNGC0LAg0L/QvtGJ0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ9Cf0L4g0L/QvtC00YDQsNC30LHQuNGA0LDQvdC1INC90LAg0LjQvNC10LnQuyDQt9CwINGD0LLQtdC00L7QvNGP0LLQsNC90LUg0L3QsCDQutC70LjQtdC90YLQuNGC0LUg0LfQsCDQvdC+0LLQviDQv9GA0L7Rg9GH0LLQsNC90LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAn0KHRgtCw0L3QtNCw0YDRgtC10L0g0L/QvtC00LDRgtC10Lsg0L3QsCDQuNC80LXQudC70LAg0LfQsCDRg9Cy0LXQtNC+0LzRj9Cy0LDQvdC1INC90LAg0LrQu9C40LXQvdGC0Lgg0LfQsCDQvdC+0LLQviDQv9GA0L7Rg9GH0LLQsNC90LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc3ViamVjdCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ9Ch0YLQsNC90LTQsNGA0YLQvdCwINGC0LXQvNCwINC30LAg0LjQvNC10LnQu9CwINC30LAg0YPQstC10LTQvtC80Y/QstCw0L3QtSDQvdCwINC/0L7RgtGA0LXQsdC40YLQtdC70LjRgtC1INC30LAg0L3QvtCy0L4g0L/RgNC+0YPRh9Cy0LDQvdC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICfQnNC+0LTRg9C7INC30LAg0L/RgNC10LPQu9C10LQsINC30LAg0LTQsCDQv9C+0LrQsNC20LUg0LjQt9Cz0LvQtdC0INC90LAg0YHQv9C40YHRitC60LAg0YEg0L/RgNC+0YPRh9Cy0LDQvdC40Y/RgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICfQntC/0YDQtdC00LXQu9GPINCz0YDRg9C/0LgsINC60L7QuNGC0L4g0LjQvNCw0YIg0YDQsNC30YDQtdGI0LXQvdC40LUg0LTQsCDQv9GA0L7QvNC10L3Rj9GCINGB0YLQsNGC0YPRgdCwINC90LAg0L/RgNC+0YPRh9Cy0LDQvdC10YLQvi4g0JzQsNGB0LjQstGK0YIg0LUg0L/RgNCw0LfQtdC9INC/0L4g0L/QvtC00YDQsNC30LHQuNGA0LDQvdC1INC4INCw0LPQtdC90YLQuNGC0LUg0L7RgiDQstGB0LjRh9C60Lgg0LPRgNGD0L/QuCDQvNC+0LPQsNGCINC00LAg0L/RgNC+0LzQtdC90Y/RgiDRgdGC0LDRgtGD0YHQsCDQvdCwINC/0YDQvtGD0YfQstCw0L3QtdGC0L4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAn0J7Qv9GA0LXQtNC10LvRjyDQtNCw0LvQuCDQt9Cw0Y/QstC60LjRgtC1INC30LAg0L/RgNC+0YPRh9Cy0LDQvdC40Y8g0YnQtSDRgdC1INC40LfQv9GA0LDRidCw0YIg0YHQsNC80L4g0LTQviDRgNC10LDQu9C90Lgg0LrQu9C40LXQvdGC0LguJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICfQnNCw0LrRgdC40LzQsNC70L3QuNGPINCx0YDQvtC5INC/0YDQvtGD0YfQstCw0L3QuNGPLCDQutC+0LjRgtC+INGB0LUg0LjQt9C/0YDQsNGJ0LDRgiDQvdCwINC60LvQuNC10L3RgtC4INC90LAg0LLRgdC10LrQuCAzMCDQtNC90LguICgwIC0g0L7Qt9C90LDRh9Cw0LLQsCDQvdC1INC80LDQutGB0LjQvNGD0LwsINCy0YHQuNGH0LrQuCDQt9Cw0Y/QstC60Lgg0LfQsCDQv9GA0L7Rg9GH0LLQsNC90LUg0YnQtSDQsdGK0LTQsNGCINC40LfQv9GA0LDRgtC10L3QuCkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAn0KHRg9C80LDRgtCwINCyINGH0LDRgdC+0LLQtSwg0LfQsCDQutC+0Y/RgtC+INCx0LjQu9C10YLRitGCINGC0YDRj9Cx0LLQsCDQtNCwINCx0YrQtNC1INC30LDRgtCy0L7RgNC10L0sINC30LAg0LTQsCDRgdC1INC30LDQtNC10LnRgdGC0LLQsCDQuNC30L/RgNCw0YnQsNC90LXRgtC+INC90LAg0L/RgNC+0YPRh9Cy0LDQvdC1LCAoMCAtINC+0LfQvdCw0YfQsNCy0LAg0LjQt9C/0YDQsNGJ0LDQvdC1INCy0LXQtNC90LDQs9CwINGB0LvQtdC0INC30LDRgtCy0LDRgNGP0L3QtSkuINCX0LDQsdC10LvQtdC20LrQsCA6INC40LfQv9GA0LDRidCw0L3QtdGC0L4g0YHRitGBINC30LDQutGK0YHQvdC10L3QuNC1INC90LAg0LjQt9GB0LvQtdC00LLQsNC90LXRgtC+INGB0LUg0LjQt9Cy0YrRgNGI0LLQsCDQvtGCIE9UT0JPIERhZW1vbiwg0L/RgNC10LTQuCDQsNC60YLQuNCy0LjRgNCw0L3QtdGC0L4g0L3QsCDQvdCw0YHRgtGA0L7QudC60LDRgtCwICJEYWVtb24gOjogU2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyIDo6IFRhc2sgIyMjIFN1cnZleVJlcXVlc3RzU2VuZCIuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJ9CU0LXRhNC40L3QuNGA0LAg0LrQvtC70L7QvdC40YLQtSDQt9CwINC/0LDQtNCw0YnQuNGPINGB0L/QuNGB0YrQuiDQt9CwINC40LfQs9GA0LDQttC00LDQvdC1INC90LAg0YPRgdC70L7QstC40Y8g0LfQsCDQuNC30L/RgNCw0YnQsNC90LUgKDAgPT4g0L3QtdCw0LrRgtC40LLQvdC+LCAxID0+INCw0LrRgtC40LLQvdC+KS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAn0JLQuNGB0L7Rh9C40L3QsNGC0LAg0L/QviDQv9C+0LTRgNCw0LfQsdC40YDQsNC90LUg0LfQsCDQuNC30LPQu9C10LTQsCDRgSDRgtC10LrRgdGCINC30LAg0LXQu9C10LzQtdC90YLQuNGC0LUg0L3QsCBab29tIFN1cnZleS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAn0JTQtdGE0LjQvdC40YDQsCDQs9GA0YPQv9C40YLQtSAocncpLCDQutC+0LjRgtC+INC80L7Qs9Cw0YIg0LTQsCDQuNC30YLRgNC40LLQsNGCINGB0YLQsNGC0LjRgdGC0LjRh9C10YHQutC4INC00LDQvdC90Lgg0L7RgiDQv9GA0L7Rg9GH0LLQsNC90LXRgtC+Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICfQnNCw0LrRgdC40LzQsNC70L3QsNGC0LAg0LLQuNGB0L7Rh9C40L3QsCDQt9CwINC40LfQs9C70LXQtNCwINGBINGC0LXQutGB0YIg0LfQsCDQtdC70LXQvNC10L3RgtC40YLQtSDQvdCwIFpvb20gU3VydmV5Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAn0JrQvtC70L7QvdC40YLQtSDQt9CwINC/0L7QutCw0LfQstCw0L3QtSDQsiDQvtCx0YnQuNGPINC/0YDQtdCz0LvQtdC0INC90LAg0LjQt9GB0LvQtdC00LLQsNC90LXRgtC+LiDQotCw0LfQuCDQvtC/0YbQuNGPINC90Y/QvNCwINCy0LvQuNGP0L3QuNC1INCy0YrRgNGF0YMg0L/QvtC30LjRhtC40Y/RgtCwINC90LAg0LrQvtC70L7QvdC40YLQtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJ9Ce0L/RgNC10LTQtdC70Y8g0LTQsNC70Lgg0YHRgtCw0YLQuNGB0YLQuNGH0LXRgdC60LjRj9GCINC80L7QtNGD0Lsg0LzQvtC20LUg0LTQsCDQs9C10L3QtdGA0LjRgNCwINGB0L/QuNGB0YrRhtC4INGBINC/0YDQvtGD0YfQstCw0L3QuNGPLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJ9Cg0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQvtCx0YnQsNGC0LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQv9GA0L7Rg9GH0LLQsNC90LXRgtC+Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAn0KDQtdC00LDQutGC0LjRgNCw0LnRgtC1INCy0YrQv9GA0L7RgdC40YLQtSDQvdCwINC40LfRgdC70LXQtNCy0LDQvdC10YLQvi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAn0JDQutGC0LjQstC40YDQsNC90LUg0LjQu9C4INC00LXQsNC60YLQuNCy0LjRgNCw0L3QtSDQvdCwINC10LrRgNCw0L3QsCAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0LTQsNC90L3QuCIg0LfQsCDQs9C70LDRgdGD0LLQsNC90LUg0LIg0L/Rg9Cx0LvQuNGH0L3QuNGPINC40L3RgtC10YDRhNC10LnRgSwg0LfQsCDQtNCwINGB0LUg0L/QvtC60LDQt9Cy0LDRgiDQtNCw0L3QvdC4INC+0YIg0LrQvtC90LrRgNC10YLQtdC9INGA0LXQt9GD0LvRgtCw0YIg0L7RgiDQv9GA0L7Rg9GH0LLQsNC90LXRgtC+LCDQutC+0LPQsNGC0L4g0LrQu9C40LXQvdGC0YrRgiDRgdC1INC+0L/QuNGC0LAg0LTQsCDQvtGC0LPQvtCy0L7RgNC4INC90LAg0L/RgNC+0YPRh9Cy0LDQvdC10YLQviDQt9CwINCy0YLQvtGA0Lgg0L/RitGCLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJ9CQ0LrRgtC40LLQuNGA0LDQudGC0LUg0LjQu9C4INC00LXQsNC60YLQuNCy0LjRgNCw0LnRgtC1INC/0YDQvtCy0LXRgNC60LDRgtCwINC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdCwINC40LfQv9GA0LDRidCw0L3QtSDQt9CwINGD0YHQu9GD0LPQsNGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAn0JDQutGC0LjQstC40YDQsNC50YLQtSDQuNC70Lgg0LTQtdCw0LrRgtC40LLQuNGA0LDQudGC0LUg0L/RgNC+0LLQtdGA0LrQsNGC0LAg0L3QsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0LjQt9C/0YDQsNGJ0LDQvdC1INC30LAg0YLQuNC/0LAg0L3QsCDQsdC40LvQtdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cg0LXQs9C40YHRgtGA0LDRhtC40Y/RgtCwINC90LAgRnJvbnRlbmQg0LzQvtC00YPQu9CwINC30LAg0L/RgNC+0YPRh9Cy0LDQvdC1INC00L7QsdCw0LLRjyDQsiDQuNC90YLQtdGA0YTQtdC50YHQsCDQvdCwINCw0LPQtdC90YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cg0LXQs9C40YHRgtGA0LDRhtC40Y8g0L3QsCDQvNC+0LTRg9C7IEZyb250ZW5kINC30LAg0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINCw0L3QutC10YLQsNGC0LAg0LIg0LjQvdGC0LXRgNGE0LXQudGB0LAg0L3QsCDQsNCz0LXQvdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn0KDQtdCz0LjRgdGC0YDQsNGG0LjRjyDQvdCwINC80L7QtNGD0LsgRnJvbnRlbmQg0LfQsCDRgdGC0LDRgtC40YHRgtC40YfQtdGB0LrQuCDQtNCw0L3QvdC4INCyINC40L3RgtC10YDRhNC10LnRgdCwINC90LAg0LDQs9C10L3RgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn0KDQtdCz0LjRgdGC0YDQsNGG0LjRjyDQvdCwIEZyb250ZW5kINC80L7QtNGD0Lsg0LfQsCDQvdCw0LHQu9GO0LTQtdC90LjQtSDRg9Cy0LXQu9C40YfQtdC90LjQtSDQsiDQuNC90YLQtdGA0YTQtdC50YHQsCDQvdCwINCw0LPQtdC90YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ9Cg0LXQs9C40YHRgtGA0LDRhtC40Y8g0L3QsCDQvNC+0LTRg9C7IEZyb250ZW5kINC30LAg0L7QsdC10LrRgtCwINC90LAg0L7QsdGJ0LXRgdGC0LLQtdC90L7RgtC+INC/0YDQvtGD0YfQstCw0L3QtSDQsiDQv9GD0LHQu9C40YfQvdC40Y8g0YDQsNC50L7QvSDQvdCwINC/0YDQvtGD0YfQstCw0L3QtdGC0L4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICfQkNC60L4g0YLQvtC30Lgg0YDQtdCz0LXQutGBINGB0YrQstC/0LDQtNCwLCDQvdGP0LzQsCDQtNCwINCx0YrQtNC1INC40LfQv9GA0LDRgtC10L3QviDQv9GA0L7Rg9GH0LLQsNC90LUg0L3QsCDQutC70LjQtdC90YLQuNGC0LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJ9Cb0LjQvNC40YIuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAn0J/QsNGA0LDQvNC10YLRgNC4INC90LAg0YHRgtGA0LDQvdC40YbQuNGC0LUgKNCyINC60L7QuNGC0L4g0YHQsCDQv9C+0LrQsNC30LDQvdC4INC/0YDQvtGD0YfQstCw0L3QuNGP0YLQsCkg0L3QsCDQvtCx0YnQuNGPINC/0YDQtdCz0LvQtdC0INC90LAg0LjQt9GB0LvQtdC00LLQsNC90LXRgtC+Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJ9Cf0YPQsdC70LjRh9C90L4g0L/RgNC+0YPRh9Cy0LDQvdC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAn0KDQtdC30YPQu9GC0LDRgtC4LCDQv9C+LdGB0YLQsNGA0Lgg0L7RgiDQutC+0L3RhNC40LPRg9GA0LjRgNCw0L3QuNGPINCx0YDQvtC5INC00L3QuCwg0YnQtSDQsdGK0LTQsNGCINC40LfRgtGA0LjRgtC4LiDQl9Cw0LHQtdC70LXQttC60LA6INC40LfRgtGA0LjQudGC0LUg0YDQtdC30YPQu9GC0LDRgtC40YLQtSwg0L3QsNC/0YDQsNCy0LXQvdC4INC+0YIgT1RPQk8gRGFlbW9uLCDQv9GA0LXQtNC4INCw0LrRgtC40LLQuNGA0LDQvdC1INC90LAg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5UYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGXigJwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cf0L7QutCw0LfQstCw0L3QtSDQvdCwINCy0YDRitC30LrQsCDQsiDQvNC10L3RjtGC0L4sINC30LAg0LTQsCDRgNC10LTQsNC60YLQuNGA0LAg0L/RgNC+0YPRh9Cy0LDQvdC1INCyINC90LXQs9C+0LLQuNGPINC80LDRidCw0LHQtdC9INC40LfQs9C70LXQtCDQvdCwINC40L3RgtC10YDRhNC10LnRgdCwINC90LAg0LDQs9C10L3RgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cf0L7QutCw0LfQstCw0L3QtSDQvdCwINCy0YDRitC30LrQsCDQsiDQvNC10L3RjtGC0L4sINC30LAg0LTQsCDRgNC10LTQsNC60YLQuNGA0LAg0LLRitC/0YDQvtGB0Lgg0L7RgiDQv9GA0L7Rg9GH0LLQsNC90LXRgtC+INCyINC90LXQs9C+0LLQuNGPINC40LfQs9C70LXQtCDQt9CwINGD0LLQtdC70LjRh9C10L3QuNC1INC90LAg0LjQvdGC0LXRgNGE0LXQudGB0LAg0L3QsCDQsNCz0LXQvdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQn9C+0LrQsNC30LLQsNC90LUg0L3QsCDQstGA0YrQt9C60LAg0LIg0LzQtdC90Y7RgtC+LCDQt9CwINC00LAg0YHQtSDQstGK0YDQvdC1INCyINC40LfQs9C70LXQtNCwINC30LAg0YPQstC10LvQuNGH0LXQvdC40LUg0L3QsCDQuNC90YLQtdGA0YTQtdC50YHQsCDQvdCwINCw0LPQtdC90YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQn9C+0LrQsNC30LLQsNC90LUg0L3QsCDQstGA0YrQt9C60LAg0LIg0LzQtdC90Y7RgtC+LCDQt9CwINC00LAg0L/RgNC40LHQu9C40LbQuCDQv9C+0LTRgNC+0LHQvdC+0YHRgtC40YLQtSDQsiDRgdGC0LDRgtC40YHRgtC40YfQtdGB0LrQuNGC0LUg0LTQsNC90L3QuCDQt9CwINC/0YDQvtGD0YfQstCw0L3QtdGC0L4g0LIg0LXQutGA0LDQvdCwINC30LAg0YPQstC10LvQuNGH0LXQvdC40LUg0L3QsCDQuNC90YLQtdGA0YTQtdC50YHQsCDQvdCwINCw0LPQtdC90YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ9Ch0YLQsNGC0LjRgdGC0LjQutCwL9CU0LXRgtCw0LnQu9C4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJ9CU0L7QsdCw0LLRj9C90LUg0L3QsCDQvNC+0LTRg9C7Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAn0KDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINCc0L7QtNGD0LsuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAn0J/RgNC10LPQu9C10LQg0L3QsCDQuNC30YHQu9C10LTQstCw0L3QtdGC0L4g0LfQsCAi0JzQsNC70YrQuiIg0LvQuNC80LjRgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJ9Cc0L7QtNGD0LsgItCh0YLQsNGC0LjRgdGC0LjQutCwINC90LAg0L/RgNC+0YPRh9Cy0LDQvdC40Y/RgtCwIi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJ9Cc0L7QtNGD0Lsg0LfQsCDRg9Cy0LXQu9C40YfQsNCy0LDQvdC1INC90LAg0L3QsNCx0LvRjtC00LXQvdC40LXRgtC+Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJ9CT0YDQsNC90LjRhtCwINC90LAg0LjQt9GB0LvQtdC00LLQsNC90LXRgtC+INC90LAg0YHRgtGA0LDQvdC40YbQsCDQt9CwINC/0YDQtdCz0LvQtdC0INC90LAgItCc0LDQu9C60LgiLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLid9ID0gJ9Cf0YDQvtGD0YfQstCw0L3QuNGP0YLQsCDQvdGP0LzQsCDQtNCwINCx0YrQtNCw0YIg0LjQt9C/0YDQsNGC0LXQvdC4INC00L4g0LrQvtC90YTQuNCz0YPRgNC40YDQsNC90LjRgtC1INC40LzQtdC50Lsg0LDQtNGA0LXRgdC4Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAn0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRitGCINC30LAg0L/RgNC+0YPRh9Cy0LDQvdC1LCDQvdCw0L/RgC4g0J/RgNC+0YPRh9Cy0LDQvdC1ICMsIE15U3VydmV5ICMuINCf0L4g0L/QvtC00YDQsNC30LHQuNGA0LDQvdC1INC1ICLQn9GA0L7Rg9GH0LLQsNC90LUgIyIuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAn0JzQvtC00YPQuyDQt9CwINGB0YrQsdC40YLQuNC1INC90LAg0LHQuNC70LXRgtC4INC30LAg0LDQstGC0L7QvNCw0YLQuNGH0L3QviDQuNC30L/RgNCw0YnQsNC90LUg0L3QsCDQt9Cw0Y/QstC60Lgg0LfQsCDQtdC70LXQutGC0YDQvtC90L3QsCDQv9C+0YnQsCDQtNC+INC60LvQuNC10L3RgtC40YLQtSwg0LDQutC+INCx0LjQu9C10YLRitGCINC1INC30LDRgtCy0L7RgNC10L0uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICfQl9Cw0LTQtdC50YHRgtCy0LDQudGC0LUg0LjQt9GC0YDQuNGC0Lgg0YDQtdC30YPQu9GC0LDRgtC4ICjQstC60LvRjtGH0LjRgtC10LvQvdC+INC00LDQvdC90Lgg0LfQsCDQs9C70LDRgdGD0LLQsNC90LUg0Lgg0LfQsNGP0LLQutC4KS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJ1RyaWdnZXIg0LjQt9C/0YDQsNGJ0LAg0LfQsNC60YrRgdC90LXQu9C4INC30LDRj9Cy0LrQuCDQt9CwINC/0YDQvtGD0YfQstCw0L3QtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICfQo9Cy0LXQu9C40YfQtdGC0LUg0YHRgtCw0YLQuNGB0YLQuNGH0LXRgdC60LjRgtC1INC00LDQvdC90LguJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/ca_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmNhX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/cs_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmNzX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ1Z5dHZvxZlpdCBub3bDvSBwcsWvemt1bSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICfDmnZvZCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnw5p2b2QgUHLFr3prdW11JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAnVMSbbG8gTm90aWZpa2FjZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ0ludGVybsOtIFBvcGlzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICdWZcWZZWpuw70ga2zDrcSNIHByxa96a3VtdSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJ1Vrw6F6a292w70gcHLFr3prdW0nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdVcHJhdml0IFrDoWtsYWRuw60gSW5mbyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9ucyd9ID0gJ1VwcmF2aXQgT3TDoXpreSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgYXJlIGhlcmUnfSA9ICdKc3RlIHpkZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnT3TDoXpreSBQxa9yemt1bXUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAnUMWZaWRhdCBPdMOhemt1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAnTmFwacWhdGUgb3TDoXprdSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICdPZHBvdsSbxI8gamUgcG/FvmFkb3bDoW5hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnUHLFr3prdW0gbmVvYnNhaHVqZSDFvsOhZG7DqSBvdMOhemt5Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJ090w6F6a2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnT2Rwb3bEm8SPIGplIHBvxb5hZG92w6FuYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXaGVuIHlvdSBmaW5pc2ggdG8gZWRpdCB0aGUgc3VydmV5IHF1ZXN0aW9ucyBqdXN0IGNsb3NlIHRoaXMgc2NyZWVuLid9ID0KICAgICAgICAnQcW+IHVrb27EjcOtdGUgw7pwcmF2dSBvdMOhemVrLCB0YWsgamVuIHphdsWZZXRlIG9rbm8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICdVcHJhdml0IE90w6F6a3knOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBxdWVzdGlvbnMnfSA9ICd2csOhdGl0IHNlIHpwxJt0IGsgb3TDoXprw6FtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJ090w6F6a2E6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnTW/Fvm7DqSBPZHBvdsSbZGkgcHJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdQxZlpZGF0IE9kcG92xJvEjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJ090w6F6a2EgbmVtw6EgZGVmaW5vdmFuw6kgb2Rwb3bEm2RpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnVXByYXZpdCBPZHBvdsSbxI8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAndnLDoXRpdCBzZSB6cMSbdCBrIG90w6F6Y2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJ09kcG92xJvEjzonOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnTmFzdGF2ZW7DrSBwxZllaGxlZHUgcHLFr3prdW11JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICfEjGFzIHZ5dHZvxZllbsOtIFByxa96a3VtdSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnUG91emUgcHLFr3prdW15IHZ5dHZvxZllbsOpIG1lemknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnTWF4aW11bSBwcsWvemt1bcWvIG5hIHN0csOhbmt1JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICdOb3RpZmlrYWNlIE9kZXPDrWxhdGVsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnTm90aWZpa2FjZSBQxZllZG3Em3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ1ptxJtuxJtubyDFmWXFoWl0ZWxlbSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnQW5vL05lJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICdUeXAgT3TDoXpreSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJ0Rva29uxI1lbsOpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICdOZWRva29uxI1lbsOpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ0NoeWJuw70nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ05vdsO9IFN0YXR1cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICdQb3BpcyBQcsWvemt1bXUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdvZHBvdsSbemVubyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICduZXpvZHBvdsSbemVubyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBNZXNzYWdlISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNb2R1bGUgbm90IGVuYWJsZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCwgcGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFcnJvciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlIERhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgYWxyZWFkeSBhbnN3ZXJlZCB0aGUgc3VydmV5Lid9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FsbCBwYXJhbWV0ZXJzIGZvciB0aGUgU3VydmV5IG9iamVjdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBpZiBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBvbmx5IHNlbmQgdG8gcmVhbCBjdXN0b21lcnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IGdlbmVyYWwgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/da_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmRhX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ0R1IGVyIGhlcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ1VuZGVyc8O4Z2Vsc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvdyBteSBhbnN3ZXJzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gRWRpdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3Igc3RhdHMgZGV0YWlsISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICdLYW4gaWtrZSBzw6Z0dGUgbnkgc3RhdHVzISBEZXIgZXIgaWtrZSBkZWZpbmVyZXQgbm9nZW4gc3DDuHJnc23DpWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ1N0YXR1cyDDpm5kcmV0ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ1VneWxkaWcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdiZXN2YXJldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICdpa2tlIGJlc3ZhcmV0JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICdUYWsgZm9yIGRpbiBiZXN2YXJlbHNlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICdFdCB1bmRlcnPDuGdlbHNlc21vZHVsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FsbCBwYXJhbWV0ZXJzIGZvciB0aGUgU3VydmV5IG9iamVjdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBpZiBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBvbmx5IHNlbmQgdG8gcmVhbCBjdXN0b21lcnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IGdlbmVyYWwgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/de_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmRlX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ05ldWUgVW1mcmFnZSBlcnN0ZWxsZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnRWlubGVpdHVuZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnVW1mcmFnZSBFaW5sZWl0dW5nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAnQmVuYWNocmljaHRpZ3VuZyBUZXh0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnSW50ZXJuZSBCZXNjaHJlaWJ1bmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3VzdG9tZXIgY29uZGl0aW9ucyd9ID0gJ0t1bmRlbmJlZGluZ3VuZ2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnQml0dGUgd8OkaGxlbiBTaWUgZWluZSBLdW5kZW5laWdlbnNjaGFmdCwgdW0gZWluZSBCZWRpbmd1bmcgaGluenV6dWbDvGdlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICfDlmZmZW50bGljaGVyIFVtZnJhZ2VzY2hsw7xzc2VsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnQmVpc3BpZWx1bWZyYWdlJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnQWxsZ2VtZWluZSBBbmdhYmVuIGJlYXJiZWl0ZW4nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdGcmFnZW4gYmVhcmJlaXRlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgYXJlIGhlcmUnfSA9ICdTaWUgc2luZCBoaWVyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICdVbWZyYWdlLUZyYWdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICdGcmFnZSBoaW56dWbDvGdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ0ZyYWdlIGVpbmdlYmVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJ0FudHdvcnQgZXJmb3JkZXJsaWNoJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnRsO8ciBkaWVzZSBVbWZyYWdlIHNpbmQga2VpbmUgRnJhZ2VuIGdlc3BlaWNoZXJ0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJ0ZyYWdlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBSZXF1aXJlZCd9ID0gJ0FudHdvcnQgZXJmb3JkZXJsaWNoJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICdOYWNoIGRlbSBCZWFyYmVpdGVuIGRlciBVbWZyYWdlIGRpZXNlcyBGZW5zdGVyIGVpbmZhY2ggc2NobGllw59lbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICdEaWVzZXMgRmVuc3RlciBzY2hsaWXDn2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICdGcmFnZSBiZWFyYmVpdGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAnWnVyw7xjayB6dSBkZW4gRnJhZ2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJ0ZyYWdlOic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJ03DtmdsaWNoZSBBbnR3b3J0ZW4gZsO8cic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAnQW50d29ydCBoaW56dWbDvGdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJ0bDvHIgZGllc2UgRnJhZ2Ugc2luZCBrZWluZSBBbnR3b3J0ZW4gZ2VzcGVpY2hlcnQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICdEaWVzZSBGcmFnZSBoYXQgbmljaHQgbWVocmVyZSBBbnR3b3J0ZW4sIGVpbiBUZXh0ZWluZ2FiZWZlbGQgd2lyZCBoaW56dWdlZsO8Z3QuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnQW50d29ydCBiZWFyYmVpdGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ1p1csO8Y2sgenVtIEJlYXJiZWl0ZW4gZGVyIEZyYWdlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlcjonfSA9ICdBbnR3b3J0Oic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICdVbWZyYWdlLcOcYmVyc2ljaHRzb3B0aW9uZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnU3VjaHQgaW4gZGVuIEF0dHJpYnV0ZW46IE5hbWUsIFRpdGVsLCBFaW5sZWl0dW5nLCBCZXNjaHJlaWJ1bmcsIEJlbmFjaHJpY2h0aWd1bmdzLUFic2VuZGVyLCBCZW5hY2hyaWNodGlndW5ncy1CZXRyZWZmIHVuZCBCZW5hY2hyaWNodGlndW5ncy1UZXh0LCDDvGJlcnNjaHJlaWJ0IGFuZGVyZSBBdHRyaWJ1dGUgbWl0IGRlbSBnbGVpY2hlbiBOYW1lbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnVW1mcmFnZS1FcnN0ZWxsemVpdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJ0tlaW5lIEJlc2NocsOkbmt1bmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJ051ciBlcnN0ZWxsdGUgVW1mcmFnZW4gendpc2NoZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnTWF4aW1hbGUgQW56YWhsIGFuZ2V6ZWlndGVyIFVtZnJhZ2VuIHBybyBTZWl0ZSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAnQmVuYWNocmljaHRpZ3VuZ3MtQWJzZW5kZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICdCZW5hY2hyaWNodGlndW5ncy1CZXRyZWZmJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICdHZcOkbmRlcnQgdm9uJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ1N0YXRpc3Rpa8O8YmVyc2ljaHQgdm9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAnQW5mcmFnZW50YWJlbGxlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICdBbGxlIEFuZnJhZ2VuIGF1c3fDpGhsZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAnU2VuZGV6ZWl0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJ0Fic3RpbW11bmdzemVpdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgdGhpcyByZXF1ZXN0J30gPSAnRGllc2UgQW5mcmFnZSBhdXN3w6RobGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAnU2llaGUgRGV0YWlscyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICdTdGF0aXN0aWtlbiBsw7ZzY2hlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAnVW1mcmFnZS1TdGF0aXN0aWtkZXRhaWxzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICdadXLDvGNrIHp1ciDDnGJlcnNpY2h0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICdWb3JoZXJpZ2UgQmV3ZXJ0dW5nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJ07DpGNoc3RlIEJld2VydHVuZyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICdVbWZyYWdlaW5mb3JtYXRpb25lbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnR2VzZW5kZXRlIEFuZnJhZ2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICdFcmhhbHRlbmUgVW1mcmFnZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICdVbWZyYWdlZGV0YWlscyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICdUaWNrZXQtRGllbnN0ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ1VtZnJhZ2VlcmdlYm5pc3NlLUdyYXBoJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICdLZWluZSBTdGF0aXN0aWtlcmdlYm5pc3NlLic7CgogICAgIyBUZW1wbGF0ZTogUHVibGljU3VydmV5CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXknfSA9ICdVbWZyYWdlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnQml0dGUgYmVhbnR3b3J0ZW4gU2llIGRpZXNlIEZyYWdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICdaZWlnZSBtZWluZSBBbnR3b3J0ZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJ0RpZXMgc2luZCBJaHJlIEFudHdvcnRlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICdVbWZyYWdldGl0ZWwnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJ05ldWUgVW1mcmFnZSBoaW56dWbDvGdlbic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICdTaWUgaGFiZW4ga2VpbmUgQmVyZWNodGlndW5nIGbDvHIgZGllc2UgVW1mcmFnZSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnS2VpbmUgU3VydmV5SUQgw7xiZXJtaXR0ZWx0ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ1VtZnJhZ2UgYmVhcmJlaXRlbic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICdTaWUgaGFiZW4ga2VpbmUgQmVyZWNodGlndW5nIGbDvHIgZGllc2UgVW1mcmFnZSBvZGVyIEZyYWdlISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJ1NpZSBoYWJlbiBrZWluZSBCZXJlY2h0aWd1bmcgZsO8ciBkaWVzZSBVbWZyYWdlLCBGcmFnZSBvZGVyIEFudHdvcnQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJ0ZyYWdlbiBkZXIgVW1mcmFnZSBiZWFyYmVpdGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ0phL05laW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAnT3B0aW9uc2ZlbGQgKExpc3RlKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICdLb250cm9sbGvDpHN0Y2hlbiAoTGlzdGUpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJ05ldCBQcm9tb3RlciBQdW5rdHphaGwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJ0ZyYWdldHlwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAnVm9sbHN0w6RuZGlnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICdVbnZvbGxzdMOkbmRpZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnRnJhZ2UgYmVhcmJlaXRlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ0FudHdvcnQgYmVhcmJlaXRlbic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICdTdGF0aXN0aWvDvGJlcnNpY2h0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICdTaWUgaGFiZW4ga2VpbmUgQmVyZWNodGlndW5nIGbDvHIgZGllc2UgVW1mcmFnZS0gb2RlciBTdGF0aXN0aWtkZXRhaWxzISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICdTdGF0aXN0aWtkZXRhaWwnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICdOZXVlciBTdGF0dXMga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuISBLZWluZSBGcmFnZW4gZGVmaW5pZXJ0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJ05ldWVyIFN0YXR1cyBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4hIEZyYWdlbiBuaWNodCBrb21wbGV0dC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHVzIGNoYW5nZWQuJ30gPSAnU3RhdHVzIGdlw6RuZGVydC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSBLZWluZSBRdWV1ZSBhdXNnZXfDpGhsdCAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJy0gS2VpbiBUaWNrZXQtVHlwIGF1c2dld8OkaGx0IC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnLSBLZWluIFRpY2tldC1TZXJ2aWNlIGF1c2dld8OkaGx0IC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICctIFN0YXR1cyDDpG5kZXJuIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnTWFzdGVyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICdVbmfDvGx0aWcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ05ldWVyIFN0YXR1cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICdVbWZyYWdlbi1CZXNjaHJlaWJ1bmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdiZWFudHdvcnRldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICduaWNodCBiZWFudHdvcnRldCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnRGFua2UgZsO8ciBJaHIgRmVlZGJhY2suJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnRGllIFVtZnJhZ2UgaXN0IGJlZW5kZXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBNZXNzYWdlISd9ID0gJ1VtZnJhZ2VuYWNocmljaHQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICdNb2R1bCBuaWNodCBha2l2aWVydC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICdEaWVzZXMgRmVhdHVyZSBpc3QgbmljaHQgYWt0aXYuIEJpdHRlIHdlbmRlbiBTaWUgc2ljaCBhbiBJaHJlbiBBZG1pbmlzdHJhdG9yLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnVW1mcmFnZWZlaGxlciEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJ1VuZ8O8bHRpZ2VyIFVtZnJhZ2VzY2hsw7xzc2VsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnRGVyIGVpbmdlZ2ViZW5lIFVtZnJhZ2VzY2hsw7xzc2VsIGlzdCB1bmfDvGx0aWcuIFdlbm4gU2llIGVpbmVtIExpbmsgZ2Vmb2xndCBzaW5kLCBpc3QgZGllc2VyIG3DtmdsaWNoZXJ3ZWlzZSB2ZXJhbHRldCBvZGVyIGJlc2Now6RkaWd0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJ1VtZnJhZ2VzdGltbWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJ0RhdGVuIFVtZnJhZ2VlcmdlYm5pc3NlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICdTaWUgaGFiZW4gZGllIFVtZnJhZ2Ugc2Nob24gYmVhbnR3b3J0ZXQuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICdVbWZyYWdlbi1MaXN0ZSc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJ1dvbGxlbiBTaWUgZGllc2UgRnJhZ2Ugd2lya2xpY2ggbMO2c2NoZW4/IEFsbGUgZGFyaW4gZW50aGFsdGVuZW4gRGF0ZW4gd2VyZGVuIEdFTMOWU0NIVCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICdXb2xsZW4gU2llIGRpZXNlIEZyYWdlIHdpcmtsaWNoIGzDtnNjaGVuPyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICdFaW4gVW1mcmFnZS1Nb2R1bC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ0VpbiBNb2R1bCwgdW0gVW1mcmFnZW4genUgYmVhcmJlaXRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdBbGxlIFBhcmFtZXRlciBmw7xyIGRhcyBVbWZyYWdlLU1vZHVsIGltIEFnZW50ZW4tSW50ZXJmYWNlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICdBbnphaGwgYW4gVGFnZW4gbmFjaCBkZW0gVmVyc2FuZCBlaW5lciBVbWZyYWdlLUUtTWFpbCBpbiBkZW5lbiBrZWluZSBuZXVlIFVtZnJhZ2UtRS1NYWlsIGFuIGRlbiBnbGVpY2hlbiBLdW5kZW4gdmVyc2VuZGV0IHdpcmQuIFfDpGhsZW4gU2llIDAsIHVtIGltbWVyIFVtZnJhZ2UtRS1NYWlscyB6dSB2ZXJzZW5kZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ1ZvcmVpbmdlc3RlbGx0ZXIgVGV4dCBmw7xyIEJlbmFjaHJpY2h0aWd1bmdzLUUtTWFpbHMgYW4gZGVuIEt1bmRlbiDDvGJlciBuZXVlIFVtZnJhZ2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ1ZvcmVpbmdlc3RlbGx0ZXIgQWJzZW5kZXIgZsO8ciBCZW5hY2hyaWNodGlndW5ncy1FLU1haWxzIGFuIGRlbiBLdW5kZW4gw7xiZXIgbmV1ZSBVbWZyYWdlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnVm9yZWluZ2VzdGVsbHRlciBCZXRyZWZmIGbDvHIgQmVuYWNocmljaHRpZ3VuZ3MtRS1NYWlscyBhbiBkZW4gS3VuZGVuIMO8YmVyIG5ldWUgVW1mcmFnZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJ0RlZmluaWVydCBlaW4gw5xiZXJzaWNodHMtTW9kdWwsIGRhc3MgZWluZSBMaXN0ZSBhbGxlciBVbWZyYWdlbiBhbnplaWd0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICdEYXMgQXJyYXkgaXN0IHN0YW5kYXJkbcOkw59pZyBsZWVyIHVuZCBBZ2VudGVuIGF1cyBhbGxlbiBHcnVwcGVuIGvDtm5uZW4gZGVuIFN0YXR1cyBkZXIgVW1mcmFnZSDDpG5kZXJuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJ0RlZmluaWVydCwgb2IgVW1mcmFnZS1BbmZyYWdlbiBudXIgYW4gcmVhbGUgS3VuZGVuIGdlc2VuZGV0IHdlcmRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJ0RlZmluaWVydCBkaWUgbWF4aW1hbGUgQW56YWhsIHZvbiBVbWZyYWdlbiwgZGllIGVpbiBLdW5kZSBpbm5lcmhhbGIgdm9uIDMwIFRhZ2VuIHp1Z2VzYW5kdCBiZWtvbW10LiAoMCBzdGVodCBmw7xyIOKAnmtlaW4gTWF4aW11beKAnCwgYWxsZSBVbWZyYWdlLUUtTWFpbHMgd2VyZGVuIHZlcnNhbmR0LiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgYW1vdW50IGluIGhvdXJzIGEgdGlja2V0IGhhcyB0byBiZSBjbG9zZWQgdG8gdHJpZ2dlciB0aGUgc2VuZGluZyBvZiBhIHN1cnZleSwgKCAwIG1lYW5zIHNlbmQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2xvc2UgKS4gTm90ZTogZGVsYXllZCBzdXJ2ZXkgc2VuZGluZyBpcyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZFwnIHNldHRpbmcuJ30gPQogICAgICAgICdEZWZpbmllcnQgZGllIEFuemFobCBhbiBTdHVuZGVuIGbDvHIgZGllIGVpbiBUaWNrZXQgZ2VzY2hsb3NzZW4gc2VpbiBtdXNzLCB1bSBkZW4gVmVyc2FuZCBlaW5lciBVbWZyYWdlIGF1c3p1bMO2c2VuICggMCBiZWRldXRldCwgc29mb3J0IG5hY2ggU2NobGllw59lbiBlaW5lcyBUaWNrZXRzIHNlbmRlbiApLiBIaW53ZWlzOiBEYXMgQWJzZW5kZW4gZGVyIHZlcnrDtmdlcnRlbiBVbWZyYWdlIHdpcmQgZHVyY2ggZGVuIE9UT0JPIERhZW1vbiBlcmxlZGlndCwgdm9yaGVyaWdlIEFrdGl2aWVydW5nIGR1cmNoIGRpZSBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgRWluc3RlbGx1bmcuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJ0RlZmluaWVydCBkaWUgU3BhbHRlbiBmw7xyIGRpZSBEcm9wZG93bi1MaXN0ZSBmw7xyIGRpZSBFcnN0ZWxsdW5nIHZvbiBTZW5kZWJlZGluZ3VuZ2VuICgwID0+IGluYWt0aXYsIDEgPT4gYWt0aXYpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdEZWZpbmllcnQgZGllIFN0YW5kYXJkaMO2aGUgZWluZXMgUmljaHRleHQtQmVyZWljaHMgZsO8ciBkaWUgVW1mcmFnZS1EZXRhaWxhbnNpY2h0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBncm91cHMgKHJ3KSB3aGljaCBjYW4gZGVsZXRlIHN1cnZleSBzdGF0cy4nfSA9ICdEZWZpbmllcnQgZGllIEdydXBwZW4gKHJ3KSwgZGllIFVtZnJhZ2VzdGF0aXN0aWtlbiBsw7ZzY2hlbiBrw7ZubmVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdEZWZpbmllcnQgZGllIG1heGltYWxlIEjDtmhlIGbDvHIgUmljaHRleHQtQW5zaWNodGVuIGbDvHIgRWxlbWVudGUgZGVyIFVtZnJhZ2UtRGV0YWlsYW5zaWNodC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJ0RlZmluaWVydCBkaWUgYW5nZXplaWd0ZW4gU3BhbHRlbiBkZXIgVW1mcmFnZS3DnGJlcnNpY2h0LiBEaWVzZSBPcHRpb24gaGF0IGtlaW5lIEF1c3dpcmt1bmcgYXVmIGRpZSBQb3NpdGlvbiBkZXIgU3BhbHRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJ0Jlc3RpbW10LCBvYiBkYXMgU3RhdGlzdGlrLU1vZHVsIFVtZnJhZ2VsaXN0ZW4gZXJ6ZXVnZW4ga2Fubi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICdBbGxnZW1laW5lIFVtZnJhZ2UtSW5mb3JtYXRpb25lbiBiZWFyYmVpdGVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnVW1mcmFnZS1GcmFnZW4gYmVhcmJlaXRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAnQWt0aXZpZXJlbiBvZGVyIGRlYWt0aXZpZXJlbiBkaWUgU2hvd1ZvdGVEYXRhIEFuemVpZ2VuIGluIGRlciDDtmZmZW50bGljaGVuIE9iZXJmbMOkY2hlLCB1bSBBYnN0aW1tdW5nc2RhdGVuIGFuenV6ZWlnZW4sIHdlbiBlaW4gS3VuZGUgdmVyc3VjaHQsIGVpbiB6d2VpdGVzIG1hbCBhYnp1c3RpbW1lbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICdBa3RpdmllcmVuIG9kZXIgRGVha3RpdmllcmVuIGRlciBQcsO8ZnVuZyBkZXIgVmVyc2FuZGJlZGluZ3VuZ2VuIGbDvHIgZGVuIFNlcnZpY2UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnQWt0aXZpZXJlbiBvZGVyIERlYWt0aXZpZXJlbiBkZXIgUHLDvGZ1bmcgZGVyIFZlcnNhbmRiZWRpbmd1bmdlbiBmw7xyIGRlbiBUaWNrZXQtVHlwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGcm9udGVuZC1Nb2R1bC1SZWdpc3RyaWVydW5nIGbDvHIgZGFzIEhpbnp1ZsO8Z2VuIGVpbmVyIFVtZnJhZ2UgaW0gQWdlbnRlbi1JbnRlcmZhY2UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGcm9udGVuZC1Nb2R1bC1SZWdpc3RyaWVydW5nIGbDvHIgZGllIFVtZnJhZ2ViZWFyYmVpdHVuZyBpbSBBZ2VudGVuLUludGVyZmFjZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGcm9udGVuZC1Nb2R1bC1SZWdpc3RyaWVydW5nIGbDvHIgZGllIFVtZnJhZ2VkZXRhaWxhbnNpY2h0IGltIEFnZW50ZW4tSW50ZXJmYWNlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRnJvbnRlbmQtTW9kdWwtUmVnaXN0cmllcnVuZyBmw7xyIGRpZSBVbWZyYWdlLURldGFpbGFuc2ljaHQgaW0gQWdlbnRlbi1JbnRlcmZhY2UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICdGcm9udGVuZC1Nb2R1bC1SZWdpc3RyaWVydW5nIGbDvHIgZGllIMO2ZmZlbnRsaWNoZSBVbWZyYWdlw7xiZXJzaWNodC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ1dlbm4gZGllc2VyIHJlZ3Vsw6RyZSBBdXNkcnVjayB6dXRyaWZmdCwgd2lyZCBrZWluZSBVbWZyYWdlIGFuIGRlbiBLdW5kZW4gZ2VzZW5kZXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJ0dyZW56d2VydC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICdQYXJhbWV0ZXIgZsO8ciBkaWUgU2VpdGVuIGRlciBVbWZyYWdlw7xiZXJzaWNodC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICfDlmZmZW50bGljaGUgVW1mcmFnZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJ0VyZ2Vibmlzc2UsIGRpZSDDpGx0ZXIgYWxzIGRpZSBrb25maWd1cmllcnRlIEFuemFobCB2b24gVGFnZW4gc2luZCwgd2VyZGVuIGdlbMO2c2NodC4gSGlud2VpczogTMO2c2NoZW4gU2llIGRpZSBFcmdlYm5pc3NlIGRlcyBPVE9CTy1EYWVtb25zLCBiZXZvciBTaWUgZGllIEVpbnN0ZWxsdW5nIFwnVGFzayMjIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBha3RpdmllcmVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdaZWlndCBlaW5lbiBMaW5rIGltIE1lbsO8IGRlciBEZXRhaWxhbnNpY2h0IGltIEFnZW50ZW4tSW50ZXJmYWNlIGFuLCBkZXIgZXMgZXJtw7ZnbGljaHQgZWluZSBVbWZyYWdlIHp1IGJlYXJiZWl0ZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnWmVpZ3QgZWluZW4gTGluayBpbSBNZW7DvCBkZXIgRGV0YWlsYW5zaWNodCBpbSBBZ2VudGVuLUludGVyZmFjZSBhbiwgZGVyIGVzIGVybcO2Z2xpY2h0IGRpZSBGcmFnZW4gZWluZXIgVW1mcmFnZSB6dSBiZWFyYmVpdGVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnWmVpZ3QgZWluZW4gTGluayBpbSBNZW7DvCBkZXIgRGV0YWlsYW5zaWNodCBpbSBBZ2VudGVuLUludGVyZmFjZSBhbiwgbWl0IGRlbSB6dW0gVW1mcmFnZS1ab29tIHp1csO8Y2tnZWdhbmdlbiB3ZXJkZW4ga2Fubi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdaZWlndCBlaW5lbiBMaW5rIGltIE1lbsO8IGRlciBEZXRhaWxhbnNpY2h0IGltIEFnZW50ZW4tSW50ZXJmYWNlIGFuLCBtaXQgZGVtIGRpZSBEZXRhaWxzIGVpbmVyIFVtZnJhZ2UgYW5nZXplaWd0IHdlcmRlbiBrw7ZubmVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAnU3RhdGlzdGlrZGV0YWlscyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICciVW1mcmFnZSBoaW56dWbDvGdlbiItTW9kdWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICciVW1mcmFnZSBiZWFyYmVpdGVuIi1Nb2R1bC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICdVbWZyYWdlw7xiZXJzaWNodCAiS2xlaW4iIC0gTGltaXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICdVbWZyYWdlc3RhdGlzdGlrLU1vZHVsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnVW1mcmFnZS1EZXRhaWxhbnNpY2h0LU1vZHVsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJ1VtZnJhZ2VuLUxpbWl0IHBybyBTZWl0ZSBpbiBkZXIgVW1mcmFnZcO8YmVyc2ljaHQgIktsZWluIi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICdVbWZyYWdlbiB3ZXJkZW4gbmljaHQgYW4gZGllIGtvbmZpZ3VyaWVydGVuIEUtTWFpbC1BZHJlc3NlbiBnZXNlbmRldC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ0RpZSBlaW5kZXV0aWdlIEJlemVpY2hudW5nIGbDvHIgZWluZSBVbWZyYWdlLCB6LiBCLiBTdXJ2ZXkjIG9kZXIgTXlTdXJ2ZXkjLiBTdGFuZGFyZCBpc3QgU3VydmV5Iy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICdUaWNrZXQtRXZlbnQtTW9kdWwsIHVtIGF1dG9tYXRpc2NoIFVtZnJhZ2UtRS1NYWlscyBhbiBLdW5kZW4genUgc2VuZGVuLCB3ZW5uIGVpbiBUaWNrZXQgZ2VzY2hsb3NzZW4gd2lyZC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJ0F1c2zDtnNlciB6dW0gTMO2c2NoZW4gdm9uIEVyZ2Vibmlzc2VuIChpbmtsdXNpdmUgQWJzdGltbXVuZ3NkYXRlbiB1bmQgQW5mcmFnZW4pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnQXVzbMO2c2VyIHp1bSBTZW5kZW4gdm9uIHZlcnrDtmdlcnRlbiBBbmZyYWdlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICdTdGF0aXN0aWstRGV0YWlscyBlcmjDtmhlbi4nOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/el_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVsX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICfOlc65z4POsc6zz4nOs86uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIEJvZHknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3VzdG9tZXIgY29uZGl0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgc3VydmV5IGtleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEdlbmVyYWwgSW5mbyd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgYXJlIGhlcmUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIHJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBSZXF1aXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXaGVuIHlvdSBmaW5pc2ggdG8gZWRpdCB0aGUgc3VydmV5IHF1ZXN0aW9ucyBqdXN0IGNsb3NlIHRoaXMgc2NyZWVuLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBxdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIGVkaXQgcXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5U3RhdHMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3IG9mJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgdGhpcyByZXF1ZXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSBzdGF0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbnQgcmVxdWVzdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjZWl2ZWQgc3VydmV5cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFJlc3VsdHMgR3JhcGgnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gc3RhdCByZXN1bHRzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogUHVibGljU3VydmV5CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvdyBteSBhbnN3ZXJzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gRWRpdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3Igc3RhdHMgZGV0YWlsISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHVzIGNoYW5nZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01hc3Rlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkJ30gPSAnzobOus+Fz4HOvyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc3ViamVjdCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBncm91cHMgd2hpY2ggaGF2ZSBhIHBlcm1pc3Npb24gdG8gY2hhbmdlIHN1cnZleSBzdGF0dXMuIEFycmF5IGlzIGVtcHR5IGJ5IGRlZmF1bHQgYW5kIGFnZW50cyBmcm9tIGFsbCBncm91cHMgY2FuIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgYW1vdW50IGluIGhvdXJzIGEgdGlja2V0IGhhcyB0byBiZSBjbG9zZWQgdG8gdHJpZ2dlciB0aGUgc2VuZGluZyBvZiBhIHN1cnZleSwgKCAwIG1lYW5zIHNlbmQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2xvc2UgKS4gTm90ZTogZGVsYXllZCBzdXJ2ZXkgc2VuZGluZyBpcyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZFwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBncm91cHMgKHJ3KSB3aGljaCBjYW4gZGVsZXRlIHN1cnZleSBzdGF0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgc3RhdHMgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMaW1pdC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gem9vbSBpbnRvIHRoZSBzdXJ2ZXkgc3RhdGlzdGljcyBkZXRhaWxzIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgZXZlbnQgbW9kdWxlIHRvIHNlbmQgYXV0b21hdGljYWxseSBzdXJ2ZXkgZW1haWwgcmVxdWVzdHMgdG8gY3VzdG9tZXJzIGlmIGEgdGlja2V0IGlzIGNsb3NlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/en_CA_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVuX0NBX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/en_GB_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVuX0dCX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICdJbnRyb2R1Y3Rpb24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ1lvdSBhcmUgaGVyZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICdJbnZhbGlkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldyBTdGF0dXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERlc2NyaXB0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2Fuc3dlcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J25vdCBhbnN3ZXJlZCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBNZXNzYWdlISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNb2R1bGUgbm90IGVuYWJsZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCwgcGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFcnJvciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlIERhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgYWxyZWFkeSBhbnN3ZXJlZCB0aGUgc3VydmV5Lid9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FsbCBwYXJhbWV0ZXJzIGZvciB0aGUgU3VydmV5IG9iamVjdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBpZiBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBvbmx5IHNlbmQgdG8gcmVhbCBjdXN0b21lcnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IGdlbmVyYWwgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/es_CO_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVzX0NPX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/es_MX_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVzX01YX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0NyZWFyIE51ZXZhIEVuY3Vlc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludHJvZHVjdGlvbid9ID0gJ0ludHJvZHVjY2nDs24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJ0ludHJvZHVjY2nDs24gZGUgbGEgRW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIEJvZHknfSA9ICdDdWVycG8gZGUgTm90aWZpY2FjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ0Rlc2NyaXBjacOzbiBJbnRlcm5hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICdDb25kaWNpb25lcyBkZWwgY2xpZW50ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJ1BvciBmYXZvciBlbGlqYSB1bmEgcHJvcGllZGFkIGRlbCBDbGllbnRlIHBhcmEgYcOxYWRpciBsYSBjb25kaWNpw7NuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgc3VydmV5IGtleSd9ID0gJ0xsYXZlIHDDumJpY2EgZGUgbGEgZW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICdFamVtcGxvIGRlIGVuY3Vlc3RhJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnRWRpdGFyIGluZm9ybWFjacOzbiBHZW5lcmFsJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnRWRpdGFyIFByZWd1bnRhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgYXJlIGhlcmUnfSA9ICdVc3RlZCBlc3TDoSBhcXXDrSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnUHJlZ3VudGFzIGRlIEVzdGFkaXN0aWNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ0FncmVnYXIgUHJlZ3VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICdFc2NyaWJhIGxhIHByZWd1bnRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJ1Jlc3B1ZXN0YSByZXF1ZXJpZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICdObyBoYXkgcHJlZ3VudGFzIGFsbWFjZW5hZGFzIHBhcmEgZXN0YSBlbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdQcmVndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICdSZXNwdWVzdGEgUmVxdWVyaWRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICdDdWFuZG8gaGF5YSB0ZXJtaW5hZG8gZGUgZWRpdGFyIHN1IGVuY3Vlc3RhIHNvbG8gY2llcnJlIGVzdGEgcGFudGFsbGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAnQ2VycmFyIGVzdGEgdmVudGFuYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnRWRpdGFyIFByZWd1bnRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAncmVncmVzYXIgYSBwcmVndW50YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAnUHJlZ3VudGE6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnUG9zaWJsZXMgcmVzcHVlc3RhcyBwYXJhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdBZ3JlZ2FyIFJlc3B1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJ05vIGhheSByZXNwdWVzdGFzIGFsbWFjZW5hZGFzIHBhcmEgZXN0YSBwcmVndW50YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ0VzdGEgcHJlZ3VudGEgbm8gdGllbmUgdmFyaWFzIHJlc3B1ZXN0YXMsIHVuIMOhcmVhIGRlIHRleHRvIHNlcsOhIG1vc3RyYWRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJ0VkaXRhciBSZXNwdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAndm9sdmVyIGEgZWRpdGFyIHByZWd1bnRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlcjonfSA9ICdSZXNwdWVzdGE6JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJ09wY2lvbmVzIGRlIGxhIHZpc3RhIGdlbmVyYWwgZGUgbGFzIGVuY3VlbnN0YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnQnVzY2EgZW4gbG9zIGF0cmlidXRvcyBOw7ptZXJvLCBUw610dWxvLCBJbnRyb2R1Y2Npw7NuLCBEZXNjcmlwY2nDs24sIFJlbWl0ZW50ZSBkZSBOb3RpZmljYXRpb24sIEFzdW50byBkZSBsYSBOb3RpZmljYWNpw7NuLCB5IEN1ZXJwbyBkZSBsYSBub3RpZmljYWNpw7NuLCBzb2JyZSBlc2NyaWJpZW5kbyBvdHJvcyBhdHJpYnV0b3MgY29uIGVsIG1pc21vIG5vbWJyZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnRmVjaGEgZGUgQ3JlYWNpw7NuIGRlbCBsYSBFbmN1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJ1NpbiByZXN0cmljY2lvbmVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICdTb2xvIGVuY3Vlc3RhcyBjcmVhZGFzIGVudHJlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJ07Dum0uIE3DoXhpbW8gZGUgZW5jdWVzdGFzIHBvciBww6FnaW5hJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICdSZW1pdGVudGUgZGUgTm90aWZpY2FjaW9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnQXN1bnRvIGRlIE5vdGlmaWNhY2nDs24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ01vZGlmaWNhY28gcG9yJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ1Jlc3VtZW4gZGUgRXN0YWTDrXN0aWNhcyBkZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ1RhYmxhIGRlIFNvbGljaXR1ZGVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICdTZWxlY2Npb25hciB0b2RhcyBsYXMgcGV0aWNpb25lcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICdUaWVtcG8gZGUgRW52w61vJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJ1RpZW1wbyBkZSBWb3RvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICdTZWxlY2Npb25hciBlc3RhIHBldGljacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJ1ZlciBEZXRhbGxlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICdFbGltaW5hciBlc3RhZMOtc3RpY2FzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICdEZXRhbGxlcyBkZSBFc3RhZGlzdGljYXMgZGUgRW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJ3JlZ3Jlc2FyIGEgcmVzw7ptZW4gZGUgZXN0YWRpc3RpY2FzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICdWb3RvIHByZXZpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICdTaWd1aWVudGUgdm90byc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICdJbmZvcm1hY2nDs24gZGUgRW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJ1NvbGljaXR1ZGVzIGVudmlhZGFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICdTb2xpY2l0dWRlcyByZWNpYmlkYXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICdEZXRhbGxlcyBkZSBFbmN1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICdTZXJ2aWNpb3MgZGUgVGlja2V0cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ0dyYWZpY2EgZGUgUmVzdWx0YWRvcyBkZSBFbmN1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnTm8gaGF5IGdyYWZpY2FzIGRlIHJlc3VsdGFkb3MuJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ0VuY3Vlc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnUG9yIGZhdm9yIGNvbnRlc3RlIGVzdGFzIHByZWd1bnRhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICdNb3N0cmFyIG1pcyByZXNwdWVzdGFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICdFc3RhcyBzb24gc3VzIHJlc3B1ZXN0YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAnVMOtdHVsbyBkZSBsYSBFbmN1ZXN0YSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnQcOxYWRpciBOdWV2YSBFbmN1ZXN0YSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICdVc3RlZCBub3QgdGllbmUgcGVybWlzb3MgZW4gZXN0YSBlbmN1ZXN0YSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnwqFObyBzZSBoYSBkYWRvIGVsIFN1cnZleUlEISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ0VkaXRhciBFbmN1ZXN0YSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICdVc3RlZCBubyB0aWVuZSBwZXJtaXNvcyBlbiBlc3RhIGVuY3Vlc3RhIG8gcHJlZ3VudGEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAnVXN0ZWQgbm8gdGllbmUgcGVybWlzb3MgZW4gZXN0YSBlbmN1ZXN0YSwgcHJlZ3VudGEgbyByZXNwdWVzdGEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJ0VkaXRhciBQcmVndW50YXMgZGUgRXN0YWTDrXN0aWNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ1NpL05vJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ09wY2nDs24gKGxpc3RhKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICdDYXNpbGxhIGRlIHZlcmlmaWNhY2nDs24gKGxpc3RhKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICdQdW50YWplIFByb21vdG9yIE5ldG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJ1RpcG8gZGUgUHJlZ3VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICdDb21wbGV0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAnSW5jb21wbGV0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnRWRpdGFyIFByZWd1bnRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnRWRpdGFyIFJlc3B1ZXN0YSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICdSZXN1bWVuIGRlIEVzdGFkaXN0aWNhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnVXN0ZWQgbm8gdGllbmUgcGVybWlzb3MgZW4gZXN0YSBlbmN1ZXN0YSBvIGRldGFsbGUgZXN0YWTDrXN0aWNvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICdEZXRhbGxlIGRlIEVzdGFkw61zdGljYXMnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICdObyBzZSBwdWVkZSBlc3RhYmxlY2VyIG51ZXZvIGVzdGFkbyEgTm8gaGF5IHByZWd1bnRhcyBkZWZpbmlkYXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnwqFObyBwdWVkZSBjYW1iaWFyc2UgZWwgZXN0YWRvISBQcmVndW50YXMgSW5jb21wbGV0YXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ0VzdGFkbyBjYW1iaWFkby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSBObyBzZSBoYSBzZWxlY2Npb25hZG8gbmluZ3VuYSBjb2xhIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnLSBUaXBvIGRlIHRpY2tldCBubyBzZWxlY2Npb25hZG8gLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICctIFNlcnZpY2lvIGRlIHRpY2tldCBubyBzZWxlY2Npb25hZG8gLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0gQ2FtYmlhciBFc3RhZG8gLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICdNYWVzdHJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICdJbnZhbGlkbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnTnVldm8gRXN0YWRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJ0Rlc2NyaXBjacOzbiBkZSBsYSBFbmN1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ3Jlc3BvbmRpZG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnbm8gcmVzcG9uZGlkbyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnR3JhY2lhcyBwb3Igc3UgcmV0cm9hbGltZW50YWNpw7NuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ0xhIGVuY3Vlc3RhIGhhIHRlcm1pbmFkby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnTWVuc2FqZSBkZSBsYSBFbmN1ZXN0YSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJ03Ds2R1bG8gbm8gaGFiaWxpdGFkby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICdFc3RhIGZ1bmNpb25hbGlkYWQgbm8gZXN0YSBoYWJpbGl0YWRhLCBwb3IgZmF2b3IgY29udGFjdGUgYWwgYWRtaW5pc3RyYWRvci4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJ0Vycm9yIGVuIGxhIEVuY3Vlc3RhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnTGxhdmUgZGUgZW5jdWVzdGEgaW52w6FsaWRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnTGEgbGxhdmUgaW5zZXJ0YWRhIGRlIGxhIGVuY3Vlc3RhIGVzIGludsOhbGlkYSwgc2kgaGEgc2VndWlkbyB1biBlbmxhY2UsIHF1aXrDoSBlc3RlIG9ic29sZXRhIG8gcm90YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICdWb3RhY2nDs24gZGUgbGEgRW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJ0RhdG9zIGRlIFZvdGFjacOzbiBkZSBsYSBFbmN1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnVXN0ZWQgeWEgaGEgY29udGVzdGFkbyBlc3RhIGVuY3Vlc3RhLic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnTGlzdGEgZGUgRW5jdWVzdGFzJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAnwr9SZWFsbWVudGUgZGVzZWEgZWxpbWluYXIgZXN0YSBwcmVndW50YT8gVE9ET1MgbG9zIGRhdG9zIGFzb2NpYWRvcyBkZSBQRVJERVLDgU4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnwr9SZWFsbWVudGUgZGVzZWEgZWxpbWluYXIgZXN0YSByZXNwdWVzdGE/JzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJ1VuIE3Ds2R1bG8gZGUgRW5jdWVzdGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnVW4gbcOzZHVsbyBwYXJhIGVkaXRhciBsYXMgcHJlZ3VudGFzIGRlIHVuYSBlbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdUb2RvcyBsb3MgcGFyYW1ldHJvcyBwYXJhIGVsIG9iamV0byBFbmN1ZXN0YSBlbiBsYSBpbnRlcmZhc2UgZGUgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICdDYW50aWRhZCBkZSBkw61hcyBkZXNwdcOpcyBkZSBlbnZpYXIgdW4gY29ycmVvIGRlIGVuY3Vlc3RhIGVuIGxvcyBxdWUgbm8gc2UgZW52w61hbiBudWV2YXMgc29saWNpdHVkZXMgZGUgZW5jdWVzdGEgYWwgbWlzbW8gY2xpZW50ZS4gU2kgc2Ugc2VsZWNjaW9uYSAwIHNlIGVudmlhcsOhIHNpZW1wcmUgZWwgY29ycmVvIGRlIGxhIGVuY3Vlc3RhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICdDdWVycG8gZGVmYXVsdCBwYXJhIGVsIGVtYWlsIGRlIG5vdGlmaWNhY2nDs24gYSBsb3MgY2xpZW50ZXMgc29icmUgbGEgZW5jdWVzdGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnUmVtaXRlbnRlIGRlZmF1bHQgcGFyYSBlbCBlbWFpbCBkZSBub3RpZmljYWNpw7NuIGEgbG9zIGNsaWVudGVzIHNvYnJlIGxhIGVuY3Vlc3RhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICdBc3VudG8gZGVmYXVsdCBwYXJhIGVsIGVtYWlsIGRlIG5vdGlmaWNhY2nDs24gYSBsb3MgY2xpZW50ZXMgc29icmUgbGEgZW5jdWVzdGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJ0RlZmluZSB1bmEgbcOzZHVsbyByZXN1bWVuIHBhcmEgbW9zdHJhciBsYSB2aXN0YSBwZXF1ZcOxYSBkZSBsYSBsaXN0YSBkZSBlbmN1ZXN0YXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJ0RlZmluZSBsb3MgZ3J1cG9zIHF1ZSB0aWVuZW4gcGVybWlzb3MgcGFyYSBjYW1iaWFyIGVsIGVzdGFkbyBkZSBsYXMgZW5jdWVzdGFzLiBMYSBsaXN0YSBlc3RhIHZhY8OtYSBwb3Igb21pc2nDs24geSBsb3MgYWdlbnRlcyBkZSB0b2RvcyBsb3MgZ3J1cG9zIHB1ZWRlbiBjYW1iaWFyIGVsIGVzdGFkbyBkZSBsYXMgZW5jdWVzdGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJ0RlZmluZSBzaSBsYXMgcGV0aWNpb25lcyBkZSBlbmN1ZXN0YXMgc2Vyw6FuIG1hbmRhZGFzIHNvbG8gYSBsb3MgY2xpZW50ZXMgcmVhbGVzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnRGVmaW5lIGxhIGNhbnRpZGFkIG3DoXhpbWEgZGUgZW5jdWVzdGFzIHF1ZSBzZSBtYW5kYXLDoW4gYSB1biBjbGllbnRlIGNhZGEgMzAgZMOtYXMuICggMCBzaWduaWZpY2EgcXVlIG5vIGhheSB1biBtw6F4aW1vLCB0b2RhcyBsYXMgZW5jdWVzdGFzIHNlcsOhbiBlbnZpYWRhcykuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnRGVmaW5lIGxhIGNhbnRpZGFkIGRlIGhvcmFzIHF1ZSB0aWVuZSBxdWUgdGVuZXIgY2VycmFyIHVuIHRpY2tldCBwYXJhIGRpc3BhcmFyIGVsIGVudsOtbyBkZSB1bmEgZW5jdWVzdGEsICgwIHNpZ25pZmljYSBtYW5kYXIgaW5tZWRpYXRhbWVudGUgYWwgY2VycmFyKS4gTm90YTogZWwgZW52w61vIHJldGFyZGFkbyBlcyByZWFsaXphZG8gcG9yIGVsICJPVE9CTyBEYWVtb24iIHVuYSB2ZXogYWN0aXZhZG8gZWwgYWp1c3RlIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAnRGVmaW5lIGxhcyBjb2x1bW5hcyBkZSBsYSBsaXN0YSBkZXNwbGVnYWJsZSBwYXJhIGNvbnN0cnVpciBsYXMgY29uZGljaW9uZXMgZGUgZW52w61vICggMCA9PiBpbmFjdGl2bywgMSA9PiBhY3Rpdm8pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdEZWZpbmUgbGEgYWx0dXJhIHByZWRlZmluaWRhIHBhcmEgbGEgdmlzdGEgZGUgdGV4dG8gZW5yaXF1ZWNpZG8gcGFyYSBsb3MgZWxlbWVudG9zIGRlIGxhIHBhbnRhbGwgZGUgZGV0YWxsZSBkZSBlc3RhZGlzdGljYXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJ0RlZmluZSBsb3MgZ3J1cG9zIChydykgcXVlIHBvZHLDoW4gZWxpbWluYXIgbGFzIGVzdGFkw61zdGljYXMgZGUgbGFzIGVuY3Vlc3Rhcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnRGVmaW5lIGxhIGFsdHVyYSBtw6F4aW1hIHBhcmEgbGEgdmlzdGEgZGUgdGV4dG8gZW5yaXF1ZWNpZG8gcGFyYSBsb3MgZWxlbWVudG9zIGRlIGxhIHBhbnRhbGxhIGRlIGRldGFsbGUgZGUgZXN0YWRpc3RpY2FzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnRGVmaW5lIGxhcyBjb2x1bW5hcyBxdWUgc2UgbW9zdHJhcsOhbiBlbiBlbCByZXN1bWVuIGRlIGVuY3Vlc3Rhcy4gRXN0YSBvcGNpw7NuIG5vIHRpZW5lbiBuaW5nw7puIGVmZWN0byBlbiBsYSBwb3NpY2nDs24gZGUgbGFzIGNvbHVtbmFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAnRGV0ZXJtaW5hIHNpIGVsIG3Ds2R1bG8gZGUgZXN0YWTDrXN0aWNhcyBwdWVkYSBnZW5lcmFyIGxpc3RhcyBkZSBlbmN1ZXN0YXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IGdlbmVyYWwgaW5mb3JtYXRpb24uJ30gPSAnRWRpdGFyIGxhIGluZm9ybWFjacOzbiBnZW5lcmFsIGRlIGxhIGVuY3Vlc3RhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnRWRpdGFyIGxhcyBwcmVndW50YXMgZGUgbGEgZW5jdWVzdGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJ0FjdGl2YSBvIGRlc2FjdGl2YSBsYSBwYW50YWxsYSBkZSAiTW9zdHJhciBEYXRvcyBkZSBWb3RvcyIgZW4gbGEgaW50ZXJmYWNlIHDDumJsaWNhIHBhcmEgbW9zdHJhciBsb3MgcmVzdWx0YWRvcyBkZSB1bmEgZW5jdWVzdGEgZXNwZWPDrWZpY2EgY3VhbmRvIHVuIGNsaWVudGUgcXVpZXJlIHJlc3BvbmRlciB1bmEgZW5jdWVzdGEgcG9yIHNlZ3VuZGEgdmV6Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJ0FjdGl2YSBvIGRlc2FjdGl2YSBsYSBjb21wcm9iYWNpw7NuIGRlIGxhIGNvbmRpY2nDs24gZGUgZW52w61vIHBhcmEgZWwgc2VydmljaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnQWN0aXZhIG8gZGVzYWN0aXZhIGxhIGNvbXByb2JhY2nDs24gZGUgbGEgY29uZGljacOzbiBkZSBlbnbDrW8gcGFyYSBlbCB0aXBvIGRlIHRpY2tldC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUmVnaXN0cm8gZGUgbcOzZHVsbyBmcm9udGVuZCBTdXJ2ZXlBZGQgZW4gbGEgaW50ZXJmYWNlIGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZWdpc3RybyBkZSBtw7NkdWxvIGZyb250ZW5kIFN1cnZleUVkaXQgZW4gbGEgaW50ZXJmYWNlIGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUmVnaXN0cm8gZGUgbcOzZHVsbyBmcm9udGVuZCBTdXJ2ZXlTdGF0cyBlbiBsYSBpbnRlcmZhY2UgZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJvIGRlIG3Ds2R1bG8gZnJvbnRlbmQgU3VydmV5Wm9vbSBlbiBsYSBpbnRlcmZhY2UgZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJvIGRlIG3Ds2R1bG8gZnJvbnRlbmQgUHVibGljU3VydmV5IGVuIGxhIGludGVyZmFjZSBww7pibGljYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ1NpIGVzdGEgZXhwcmVzacOzbiByZWd1bGFyIGNvbmN1ZXJkYSwgbGEgZW5jdWVzdGEgbm8gc2Vyw6EgZW52aWFkYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnTMOtbWl0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICdQYXJhbWV0cm9zIHBhcmEgbGFzIHDDoWdpbmFzIChlbiBxdWUgbGFzIGVuY3Vlc3RhcyBzb24gbW9zdHJhZGFzKSBkZSBsYSB2aXN0YSBkZSByZXN1bWVuIHBlcXVlw7FhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJ0VuY3Vlc3RhIFDDumJsaWNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnTG9zIHJlc3VsdGFkb3MgbcOhcyBhbnRpZ3VvcyBxdWUgbGEgY2FudGlkYWQgZGUgZMOtYXMgY29uZmlndXJhZG9zLCBzZXLDoW4gZWxpbWluYWRvcy4gTm90YTogZWxpbWluYXIgbG9zIHJlc3VsdGFkb3MgZXMgcmVhbGl6YWRvIHBvciBlbCAiT1RPQk8gRGFlbW9uIiBwcmV2aWEgYWN0aXZhY2nDs24gZGVsIGFqdXN0ZSBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNdWVzdHJhIHVuIHbDrW5jdWxvIGVuIGVsIG1lbsO6IGRlIGVkaWNpw7NuIGRlIHVuYSBlbmN1ZXN0YSBlbiBzdSB2aXN0YSBkZSBkZXRhbGxlIGVuIGxhIGludGVyZmFjZSBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ011ZXN0cmEgdW4gdsOtbmN1bG8gZW4gZWwgbWVuw7ogZGUgZWRpY2nDs24gcHJlZ3VudGFzIGRlIHVuYSBlbmN1ZXN0YSBlbiBzdSB2aXN0YSBkZSBkZXRhbGxlIGVuIGxhIGludGVyZmFjZSBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTXVlc3RyYSB1biB2w61uY3VsbyBlbiBlbCBtZW7DuiBwYXJhIGlyIGhhY2lhIGF0csOhcyBlbiB2aXN0YSBkZSBkZXRhbGxlIGRlIHVuYSBlbmN1ZXN0YSBlbiBsYSBpbnRlcmZhY2UgZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNdWVzdHJhIHVuIHbDrW5jdWxvIGVuIGVsIG1lbsO6IHBhcmEgaXIgZGV0YWxsZSBkZSBsYXMgZXN0YWTDrXN0aWNhcyBkZSB1bmEgZW5jdWVzdGEgZW4gc3UgdmlzdGEgZGUgZGV0YWxsZSBlbiBsYSBpbnRlcmZhY2UgZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ0RldGFsbGUgZGUgbGEgRW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnTcOzZHVsbyBwYXJhIGFncmVnYXIgRW5jdWVzdGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnTcOzZHVsbyBkZSBFZGljacOzbiBkZSBFbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICdMaW1pdGUgZGUgbGEgdmlzdGEgZGUgcmVzdW1lbiAicGVxdWXDsWEiJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnTcOzZHVsbyBkZSBTdGFkw61zdGljYXMgZGUgRW5jdWVzdGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICdNb2R1bG8gZGUgRGV0YWxsZSBkZSBFbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICdMw61taXRlIGRlIGVuY3VlbnRhcyBwb3IgcMOhZ2luYSBwYXJhIGVsIFJlc3VtZW4gZGUgRW5jdWVzdGEgIlBlcXVlw7FvIi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICdMYXMgZW5jdWVzdGFzIG5vIGRlIG1hbmRhcsOhbiBhIGxhcyBkaXJlY2Npb25lcyBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvIGFxdcOtIGNvbmZpZ3VyYWRhcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ0VsIGlkZW50aWZpY2Fkb3IgcGFyYSB1bmEgZW5jdWVzdGEsIGVqZW1wbG8gU3VydmV5IywgTXlTdXJ2ZXkjLiBQb3IgZGVmZWN0byBlcyBTdXJ2ZXkjLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgZXZlbnQgbW9kdWxlIHRvIHNlbmQgYXV0b21hdGljYWxseSBzdXJ2ZXkgZW1haWwgcmVxdWVzdHMgdG8gY3VzdG9tZXJzIGlmIGEgdGlja2V0IGlzIGNsb3NlZC4nfSA9CiAgICAgICAgJ03Ds2R1bG8gZGUgZXZlbnRvIGRlIHRpY2tldCBxdWUgbWFuZGEgY29ycmVvcyBlbGVjdHLDs25pY29zIGRlIGVuY3Vlc3RhcyBoYWNpYSBsb3MgY2xpZW50ZXMgc2kgdW4gdGlja2V0IGVzIGNlcnJhZG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICdEaXNwYXJhIGxhIGVsaW1pbmFjacOzbiBkZSByZXN1bHRhZG9zIChpbmNsdXllbmRvIGRhdG9zIGRlIHZvdG9zIHkgcGV0aWNpb25lcykuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICdEaXNwYXJhZG9yIHBhcmEgc29saWNpdHVkZXMgZGUgZW52w61vIGRlIGVuY3Vlc3RhcyByZXRyYXNhZGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJ0lyIGEgbG9zIGRldGFsbGVzIGRlIGxhIGVzdGFkw61zdGljYS4nOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/es_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVzX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0NyZWFyIG51ZXZhIGVuY3Vlc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludHJvZHVjdGlvbid9ID0gJ0ludHJvZHVjY2nDs24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJ0ludHJvZHVjY2nDs24gZGUgbGEgRW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIEJvZHknfSA9ICdDdWVycG8gZGUgTm90aWZpY2FjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ0Rlc2NyaXBjacOzbiBJbnRlcm5hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICdDb25kaWNpb25lcyBkZWwgY2xpZW50ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJ0VsbGlqYSB1bmEgcHJvcGllZGFkIGRlbCBjbGllbnRlIHBhcmEgYWdyZWdhciB1bmEgY29uZGljacOzbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICdDbGF2ZSBkZSBlbmN1ZXN0YSBww7pibGljYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJ0VuY3Vlc3RhIGRlIGVqZW1wbG8nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdFZGl0YXIgaW5mb3JtYWNpw7NuIEdlbmVyYWwnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdFZGl0YXIgUHJlZ3VudGFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ1VzdGVkIGVzdMOhIGFxdcOtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICdQcmVndW50YXMgZGUgbGEgRW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAnQWdyZWdhciBQcmVndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ0VzY3JpYmEgbGEgcHJlZ3VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIHJlcXVpcmVkJ30gPSAnUmVzcHVlc3RhIHJlcXVlcmlkYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJ05vIGhheSBwcmVndW50YXMgZ3VhcmRhZGFzIHBhcmEgZXN0YSBlbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdQcmVndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICdSZXNwdWVzdGEgUmVxdWVyaWRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICdDdWFuZG8gdGVybWluZSBkZSBlZGl0YXIgbGFzIHByZWd1bnRhcyBkZSBsYSBlbmN1ZXN0YSwgY2llcnJlIGVzdGEgdmVudGFuYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICdDZXJyYXIgw6lzdGEgdmVudGFuYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnRWRpdGFyIFByZWd1bnRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAncmVncmVzYXIgYSBwcmVndW50YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAnUHJlZ3VudGE6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnUG9zaWJsZXMgcmVzcHVlc3RhcyBwYXJhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdBZ3JlZ2FyIFJlc3B1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJ05vIGhheSByZXNwdWVzdGFzIGFsbWFjZW5hZGFzIHBhcmEgZXN0YSBwcmVndW50YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ0VzdGEgcHJlZ3VudGEgbm8gdGllbmUgdmFyaWFzIHJlc3B1ZXN0YXMsIHVuIGFyZWEgZGUgdGV4dG8gc2Vyw6EgbW9zdHJhZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICdFZGl0YXIgUmVzcHVlc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ3ZvbHZlciBhIGVkaXRhciBwcmVndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnUmVzcHVlc3RhOic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICdPcGNpb25lcyBkZSByZXN1bWVuIGRlIGVuY3Vlc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJ0J1c2NhIGVuIGxvcyBhdHJpYnV0b3M6IE7Dum1lcm8sIFTDrXR1bG8sIEludHJvZHVjY2nDs24sIERlc2NyaXBjacOzbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IHkgTm90aWZpY2F0aW9uQm9keSwgYW51bGFuZG8gb3Ryb3MgYXRyaWJ1dG9zIGNvbiBlbCBtaXNtbyBub21icmUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJ0ZlY2hhIGNyZWFjacOzbiBkZSBsYSBlbmN1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJ1NpbiByZXN0cmljY2nDs24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJ1NvbG8gZW5jdWVzdGFzIGNyZWFkYXMgZW50cmUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnRW5jdWVzdGFzIG1vc3RyYWRhcyBwb3IgcMOhZ2luYSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAnUmVtaXRlbnRlIGRlIE5vdGlmaWNhY2lvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJ0FzdW50byBkZSBOb3RpZmljYWNpw7NuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICdNb2RpZmljYWRvIHBvcic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICdSZXN1bWVuIGRlIEVzdGFkw61zdGljYXMgZGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICdUYWJsYSBkZSBTb2xpY2l0dWRlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnU2VsZWNjaW9uYXIgdG9kYXMgbGFzIHNvbGljaXR1ZGVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJ1RpZW1wbyBkZSBFbnbDrW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnVGllbXBvIGRlIFZvdG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJ1NlbGVjY2lvbmFyIGVzdGEgc29saWNpdHVkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAnVmVyIERldGFsbGVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSBzdGF0cyd9ID0gJ0JvcnJhciBlc3RhZMOtc3RpY2FzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICdEZXRhbGxlcyBkZSBFc3RhZGlzdGljYXMgZGUgRW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJ3JlZ3Jlc2FyIGEgcmVzw7ptZW4gZGUgZXN0YWRpc3RpY2FzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICdWb3RvIGFudGVyaW9yJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJ1ZvdG8gcHLDs3hpbW8nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAnSW5mb3JtYWNpw7NuIGRlIEVuY3Vlc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbnQgcmVxdWVzdHMnfSA9ICdTb2xpY2l0dWRlcyBlbnZpYWRhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnRW5jdWVzdGFzIHJlY2liaWRhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGV0YWlscyd9ID0gJ0RldGFsbGVzIGRlIGVuY3Vlc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJ1NlcnZpY2lvcyBkZSBUaWNrZXRzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnR3LDoWZpY2EgZGUgUmVzdWx0YWRvcyBkZSBFbmN1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnTm8gaGF5IGdyYWZpY2FzIGRlIHJlc3VsdGFkb3MuJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ0VuY3Vlc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnUG9yIGZhdm9yIGNvbnRlc3RlIGVzdGFzIHByZWd1bnRhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICdNb3N0cmFyIG1pcyByZXNwdWVzdGFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICdFc3RhcyBzb24gc3VzIHJlc3B1ZXN0YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAnVMOtdHVsbyBkZSBsYSBFbmN1ZXN0YSAnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJ0HDsWFkaXIgbnVldmEgRW5jdWVzdGEnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnwqFObyB0aWVuZSBwZXJtaXNvIHBhcmEgZXN0YSBlbmN1ZXN0YSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnwqFObyBzZSBkYSBuaW5ndW5hIElEIGRlIGxhIGVuY3Vlc3RhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ0VkaXRhciBFbmN1ZXN0YSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICfCoU5vIHRpZW5lIHBlcm1pc28gcGFyYSBlc3RhIGVuY3Vlc3RhIG8gcHJlZ3VudGEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAnwqFObyB0aWVuZSBwZXJtaXNvIHBhcmEgZXN0YSBlbmN1ZXN0YSwgcHJlZ3VudGEgbyByZXNwdWVzdGEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJ0VkaXRhciBQcmVndW50YXMgZGUgbGEgRW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnU2kvTm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAnT3BjacOzbiAobGlzdGEpICc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICdDYXNpbGxhIGRlIHZlcmlmaWNhY2nDs24gKGxpc3RhKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICdQdW50dWFjacOzbiBOZXQgUHJvbW90ZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJ1RpcG8gZGUgUHJlZ3VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICdDb21wbGV0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAnSW5jb21wbGV0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnRWRpdGFyIFByZWd1bnRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnRWRpdGFyIFJlc3B1ZXN0YSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICdSZXN1bWVuIGRlIEVzdGFkaXN0aWNhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnwqFObyB0aWVuZSBwZXJtaXNvIHBhcmEgZXN0YSBlbmN1ZXN0YSBvIGRldGFsbGUgZGUgZXN0YWTDrXN0aWNhcyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnRGV0YWxsZSBkZSBFc3RhZMOtc3RpY2FzJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnwqFObyBzZSBwdWVkZSBlc3RhYmxlY2VyIG51ZXZvIGVzdGFkbyEgTm8gaGF5IHByZWd1bnRhcyBkZWZpbmlkYXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnwqFObyBzZSBwdWVkZSBlc3RhYmxlY2VyIHVuIG51ZXZvIGVzdGFkbyEgUHJlZ3VudGFzIGluY29tcGxldGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICdFc3RhZG8gY2FtYmlhZG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJy0gTm8gc2UgaGEgc2VsZWNjaW9uYWRvIG5pbmd1bmEgY29sYSAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJy0gTm8gc2UgaGEgc2VsZWNjaW9uYWRvIG5pbmfDum4gdGlwbyBkZSB0aWNrZXQgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICctIE5vIHNlIHNlbGVjY2lvbsOzIGVsIHNlcnZpY2lvIGRlIHRpY2tldC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICctIENhbWJpYXIgRXN0YWRvIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnTWFlc3Rybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkJ30gPSAnTm8gdsOhbGlkbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnTnVldm8gRXN0YWRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJ0Rlc2NyaXBjacOzbiBkZSBsYSBFbmN1ZXN0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ3Jlc3BvbmRpZG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnbm8gcmVzcG9uZGlkbyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnR3JhY2lhcyBwb3IgdHVzIGNvbWVudGFyaW9zLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ0xhIGVuY3Vlc3RhIGhhIHRlcm1pbmFkby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnwqFNZW5zYWplIGRlIEVuY3Vlc3RhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNb2R1bGUgbm90IGVuYWJsZWQuJ30gPSAnTcOzZHVsbyBubyBoYWJpbGl0YWRvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJ0VzdGEgZnVuY2nDs24gbm8gZXN0w6EgaGFiaWxpdGFkYSwgcMOzbmdhc2UgZW4gY29udGFjdG8gY29uIHN1IGFkbWluaXN0cmFkb3IuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFcnJvciEnfSA9ICfCoUVycm9yIGVuIGxhIGVuY3Vlc3RhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnQ2xhdmUgZGUgZW5jdWVzdGEgbm8gdsOhbGlkYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJ0xhIGNsYXZlIGRlIGVuY3Vlc3RhIGluc2VydGFkYSBubyBlcyB2YWxpZGEsIHNpIHNpZ3Vpw7MgdW4gdsOtbmN1bG8gdGFsIHZleiBlc3RlIG9ic29sZXRvIG8gcm90by4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICdWb3RvIGRlIGxhIGVuY3Vlc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlIERhdGEnfSA9ICdEYXRvcyBkZSB2b3RhY2nDs24gZGUgbGEgZW5jdWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgYWxyZWFkeSBhbnN3ZXJlZCB0aGUgc3VydmV5Lid9ID0gJ1VzdGVkIHlhIGhhIGNvbnRlc3RhZG8gZXN0YSBlbmN1ZXN0YS4nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJ0xpc3RhIGRlIGVuY3Vlc3Rhcyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJ8K/UmVhbG1lbnRlIGRlc2VhIGVsaW1pbmFyIGVzdGEgcHJlZ3VudGE/IFRPRE9TIGxvcyBkYXRvcyBhc29jaWFkb3Mgc2UgUEVSREVSw4FOISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJ8K/UmVhbG1lbnRlIGRlc2VhIGVsaW1pbmFyIGVzdGEgcmVzcHVlc3RhPyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICdVbiBNw7NkdWxvIGRlIEVuY3Vlc3Rhcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ1VuIG3Ds2R1bG8gcGFyYSBlZGl0YXIgbGFzIHByZWd1bnRhcyBkZSB1bmEgZW5jdWVzdGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FsbCBwYXJhbWV0ZXJzIGZvciB0aGUgU3VydmV5IG9iamVjdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnVG9kb3MgbG9zIHBhcmFtZXRyb3MgcGFyYSBlbCBvYmpldG8gRW5jdWVzdGEgZW4gbGEgaW50ZXJmYXNlIGRlIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnQ2FudGlkYWQgZGUgZMOtYXMgZGVzcHXDqXMgZGUgaGFiZXIgbWFuZGFuZG8gdW4gY29ycmVvIGVsZWN0csOzbmljbyBkZSBlbmN1ZXN0YSBlbiBsb3MgcXVlIG5vIHNlIG1hbmRhcsOhbiBudWV2YXMgZW5jdWVzdGFzIGhhY2lhIGVsIG1pc21vIGNsaWVudGUuIFNlbGVjY2lvbmFyIDAgbWFuZGFyw6EgbnVldm9zIGNvcnJlb3MgZWxlY3Ryw7NuaWNvcyBkZSBlbmN1ZXN0YSBzaWVtcHJlLiAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnQ3VlcnBvIGRlZmF1bHQgcGFyYSBlbCBlbWFpbCBkZSBub3RpZmljYWNpw7NuIGEgbG9zIGNsaWVudGVzIHNvYnJlIGxhIGVuY3Vlc3RhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ1JlbWl0ZW50ZSBkZWZhdWx0IHBhcmEgZWwgZW1haWwgZGUgbm90aWZpY2FjacOzbiBhIGxvcyBjbGllbnRlcyBzb2JyZSBsYSBlbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnQXN1bnRvIGRlZmF1bHQgcGFyYSBlbCBlbWFpbCBkZSBub3RpZmljYWNpw7NuIGEgbG9zIGNsaWVudGVzIHNvYnJlIGxhIGVuY3Vlc3RhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICdEZWZpbmUgdW5hIG3Ds2R1bG8gcmVzdW1lbiBwYXJhIG1vc3RyYXIgbGEgdmlzdGEgcGVxdWXDsWEgZGUgbGEgbGlzdGEgZGUgZW5jdWVzdGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICdEZWZpbmUgbG9zIGdydXBvcyBxdWUgdGllbmVuIHBlcm1pc28gcGFyYSBjYW1iaWFyIGVsIGVzdGFkbyBkZSBsYSBlbmN1ZXN0YS4gTGEgbWF0cml6IGVzdMOhIHZhY8OtYSBwb3IgZGVmZWN0byB5IGxvcyBhZ2VudGVzIGRlIHRvZG9zIGxvcyBncnVwb3MgcHVlZGVuIGNhbWJpYXIgZWwgZXN0YWRvIGRlIGxhIGVuY3Vlc3RhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJ0RlZmluZSBzaSBsYXMgc29saWNpdHVkZXMgZGUgZW5jdWVzdGEgc29sbyBzZSBlbnZpYXLDoW4gYSBjbGllbnRlcyByZWFsZXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICdEZWZpbmUgbGEgY2FudGlkYWQgbcOheGltYSBkZSBlbmN1ZXN0YXMgcXVlIHNlIG1hbmRhcsOhbiBhIHVuIGNsaWVudGUgY2FkYSAzMCBkw61hcy4gKCAwIHNpZ25pZmljYSBxdWUgbm8gaGF5IHVuIG3DoXhpbW8sIHRvZGFzIGxhcyBlbmN1ZXN0YXMgc2Vyw6FuIGVudmlhZGFzKS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgYW1vdW50IGluIGhvdXJzIGEgdGlja2V0IGhhcyB0byBiZSBjbG9zZWQgdG8gdHJpZ2dlciB0aGUgc2VuZGluZyBvZiBhIHN1cnZleSwgKCAwIG1lYW5zIHNlbmQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2xvc2UgKS4gTm90ZTogZGVsYXllZCBzdXJ2ZXkgc2VuZGluZyBpcyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZFwnIHNldHRpbmcuJ30gPQogICAgICAgICdEZWZpbmUgbGEgY2FudGlkYWQgZW4gaG9yYXMgZW4gcXVlIHNlIGRlYmUgY2VycmFyIHVuIHRpY2tldCBwYXJhIGFjdGl2YXIgZWwgZW52w61vIGRlIHVuYSBlbmN1ZXN0YSwgKDAgc2lnbmlmaWNhIGVudmlhciBpbm1lZGlhdGFtZW50ZSBkZXNwdcOpcyBkZWwgY2llcnJlKS4gTm90YTogZWwgZW52w61vIHRhcmTDrW8gZGUgbGEgZW5jdWVzdGEgZXMgcmVhbGl6YWRvIHBvciBEYWVtb24gT1RPQk8sIHByZXZpYSBhY3RpdmFjacOzbiBkZSBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAnRGVmaW5lIGxhcyBjb2x1bW5hcyBwYXJhIGxhIGxpc3RhIGRlc3BsZWdhYmxlIHBhcmEgY3JlYXIgY29uZGljaW9uZXMgIGRlIGVudsOtbyAoMCA9PiBpbmFjdGl2bywgMSA9PiBhY3Rpdm8pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdEZWZpbmUgbGEgYWx0dXJhIHByZWRlZmluaWRhIHBhcmEgbGEgdmlzdGEgZGUgdGV4dG8gZW5yaXF1ZWNpZG8gcGFyYSBsb3MgZWxlbWVudG9zIGRlIGxhIHBhbnRhbGwgZGUgZGV0YWxsZSBkZSBlc3RhZGlzdGljYXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJ0RlZmluZSBsb3MgZ3J1cG9zIChydykgcXVlIHB1ZWRlbiBlbGltaW5hciBsYXMgZXN0YWTDrXN0aWNhcyBkZSBsYSBlbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnRGVmaW5lIGxhIGFsdHVyYSBtw6F4aW1hIHBhcmEgbGFzIHZpc3RhcyBkZSB0ZXh0byBlbnJpcXVlY2lkbyBwYXJhIGxvcyBlbGVtZW50b3MgZGUgem9vbSBkZSBlbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJ0RlZmluZSBsYXMgY29sdW1uYXMgcXVlIHNlIG1vc3RyYXLDoW4gZW4gZWwgcmVzdW1lbiBkZSBlbmN1ZXN0YXMuIEVzdGEgb3BjacOzbiBubyB0aWVuZW4gbmluZ8O6biBlZmVjdG8gZW4gbGEgcG9zaWNpw7NuIGRlIGxhcyBjb2x1bW5hcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJ0RldGVybWluYSBzaSBlbCBtw7NkdWxvIGRlIGVzdGFkw61zdGljYXMgcHVlZGUgZ2VuZXJhciBsaXN0YXMgZGUgZW5jdWVzdGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJ0VkaXRhciBpbmZvcm1hY2nDs24gZ2VuZXJhbCBkZSBsYSBlbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ0VkaXRhciBwcmVndW50YXMgZGUgbGEgZW5jdWVzdGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJ0FjdGl2YSBvIGRlc2FjdGl2YSBsYSBwYW50YWxsYSBkZSAiTW9zdHJhciBEYXRvcyBkZSBWb3RvcyIgZW4gbGEgaW50ZXJmYWNlIHDDumJsaWNhIHBhcmEgbW9zdHJhciBsb3MgcmVzdWx0YWRvcyBkZSB1bmEgZW5jdWVzdGEgZXNwZWPDrWZpY2EgY3VhbmRvIHVuIGNsaWVudGUgcXVpZXJlIHJlc3BvbmRlciB1bmEgZW5jdWVzdGEgcG9yIHNlZ3VuZGEgdmV6Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJ0FjdGl2YSBvIGRlc2FjdGl2YSBsYSBjb21wcm9iYWNpw7NuIGRlIGxhIGNvbmRpY2nDs24gZGUgZW52w61vIHBhcmEgZWwgc2VydmljaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnQWN0aXZhIG8gZGVzYWN0aXZhIGxhIGNvbXByb2JhY2nDs24gZGUgbGEgY29uZGljacOzbiBkZSBlbnbDrW8gcGFyYSBlbCB0aXBvIGRlIHRpY2tldC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUmVnaXN0cm8gZGUgbcOzZHVsbyBmcm9udGVuZCBTdXJ2ZXlBZGQgZW4gbGEgaW50ZXJmYWNlIGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZWdpc3RybyBkZSBtw7NkdWxvIGZyb250ZW5kIFN1cnZleUVkaXQgZW4gbGEgaW50ZXJmYWNlIGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUmVnaXN0cm8gZGUgbcOzZHVsbyBmcm9udGVuZCBTdXJ2ZXlTdGF0cyBlbiBsYSBpbnRlcmZhY2UgZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJvIGRlIG3Ds2R1bG8gZnJvbnRlbmQgU3VydmV5Wm9vbSBlbiBsYSBpbnRlcmZhY2UgZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJvIGRlIG3Ds2R1bG8gZnJvbnRlbmQgUHVibGljU3VydmV5IGVuIGxhIGludGVyZmFjZSBww7pibGljYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ1NpIGVzdGEgZXhwcmVzacOzbiByZWd1bGFyIGNvbmN1ZXJkYSwgbm8gc2UgZW52aWFyw6EgbmluZ3VuYSBlbmN1ZXN0YSBhbCBjbGllbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMaW1pdC4nfSA9ICdMw61taXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJ1BhcmFtZXRyb3MgcGFyYSBsYXMgcMOhZ2luYXMgKGVuIHF1ZSBsYXMgZW5jdWVzdGFzIHNvbiBtb3N0cmFkYXMpIGRlIGxhIHZpc3RhIGRlIHJlc3VtZW4gcGVxdWXDsWEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnRW5jdWVzdGEgUMO6YmxpY2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICdMb3MgcmVzdWx0YWRvcyBhbnRlcmlvcmVzIGEgbGEgY2FudGlkYWQgY29uZmlndXJhZGEgZGUgZMOtYXMgc2Vyw6FuIGVsaW1pbmFkb3MuIE5vdGE6IGVsaW1pbmUgbG9zIHJlc3VsdGFkb3MgcmVhbGl6YWRvcyBwb3IgRGFlbW9uIE9UT0JPLCBhbnRlcyBkZSBsYSBhY3RpdmFjacOzbiBkZSBsYSBjb25maWd1cmFjacOzbiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNdWVzdHJhIHVuIHbDrW5jdWxvIGVuIGVsIG1lbsO6IGRlIGVkaWNpw7NuIGRlIHVuYSBlbmN1ZXN0YSBlbiBzdSB2aXN0YSBkZSBkZXRhbGxlIGVuIGxhIGludGVyZmFjZSBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ011ZXN0cmEgdW4gdsOtbmN1bG8gZW4gZWwgbWVuw7ogZGUgZWRpY2nDs24gcHJlZ3VudGFzIGRlIHVuYSBlbmN1ZXN0YSBlbiBzdSB2aXN0YSBkZSBkZXRhbGxlIGVuIGxhIGludGVyZmFjZSBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTXVlc3RyYSB1biB2w61uY3VsbyBlbiBlbCBtZW7DuiBwYXJhIGlyIGhhY2lhIGF0csOhcyBlbiB2aXN0YSBkZSBkZXRhbGxlIGRlIHVuYSBlbmN1ZXN0YSBlbiBsYSBpbnRlcmZhY2UgZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNdWVzdHJhIHVuIHbDrW5jdWxvIGVuIGVsIG1lbsO6IHBhcmEgaXIgZGV0YWxsZSBkZSBsYXMgZXN0YWTDrXN0aWNhcyBkZSB1bmEgZW5jdWVzdGEgZW4gc3UgdmlzdGEgZGUgZGV0YWxsZSBlbiBsYSBpbnRlcmZhY2UgZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ0RldGFsbGVzIGRlIEVzdGFkw61zdGljYXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnQWdyZWdhciBtw7NkdWxvIGRlIGVuY3Vlc3RhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnTcOzZHVsbyBkZSBFZGljacOzbiBkZSBFbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICdMaW1pdGUgZGUgbGEgdmlzdGEgZGUgcmVzdW1lbiBwZXF1ZcOxYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICdNw7NkdWxvIGRlIFN0YWTDrXN0aWNhcyBkZSBFbmN1ZXN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJ01vZHVsbyBkZSBEZXRhbGxlIGRlIEVuY3Vlc3RhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJ0zDrW1pdGUgZGUgZW5jdWVzdGFzIHBvciBww6FnaW5hIHBhcmEgbGEgdmlzdGEgZ2VuZXJhbCBkZSBlbmN1ZXN0YSDCq3BlcXVlw7FhwrsuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnTGFzIGVuY3Vlc3RhcyBubyBkZSBtYW5kYXLDoW4gYSBsYXMgZGlyZWNjaW9uZXMgZGUgY29ycmVvIGVsZWN0csOzbmljbyBhcXXDrSBjb25maWd1cmFkYXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICdFbCBpZGVudGlmaWNhZG9yIHBhcmEgdW5hIGVuY3Vlc3RhLCBlamVtcGxvIFN1cnZleSMsIE15U3VydmV5Iy4gUG9yIGRlZmVjdG8gZXMgU3VydmV5Iy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICdNw7NkdWxvIGRlIGV2ZW50byBkZSB0aWNrZXQgcXVlIG1hbmRhIGNvcnJlb3MgZWxlY3Ryw7NuaWNvcyBkZSBlbmN1ZXN0YXMgaGFjaWEgbG9zIGNsaWVudGVzIHNpIHVuIHRpY2tldCBlcyBjZXJyYWRvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnRGVzZW5jYWRlbmFyIHJlc3VsdGFkb3MgZGUgZWxpbWluYWNpw7NuIChpbmNsdWlkb3MgZGF0b3MgeSBzb2xpY2l0dWRlcyBkZSB2b3RvKS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJ0Rlc2VuY2FkZW5hciBlbCBlbnbDrW8gZGUgc29saWNpdHVkZXMgZGUgZW5jdWVzdGEgY29uIHJldHJhc28uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnSXIgYSBsb3MgZGV0YWxsZXMgZGUgbGEgRXN0YWTDrXN0aWNhLic7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/et_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmV0X1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/fa_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmZhX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ9iz2KfYrtiq2YYg2YbYuNix2LPZhtis24wg2KzYr9uM2K8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAn2YXYudix2YHbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAn2YXYudix2YHbjCDZhti42LHYs9mG2KzbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ9io2K/ZhtmHINmH2LTYr9in2LEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICfYqtmI2LbbjNit2KfYqiDYr9in2K7ZhNuMJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICfYtNix2KfbjNi3INmF2LTYqtix24wnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICfZhNi32YHYpyDbjNqpINmI24zamNqv24wg2YXYtNiq2LHbjCDYsdinINio2LHYp9uMINin2LbYp9mB2Ycg2LTYr9mGINio2Ycg2LTYsdin24zYtyDYp9mG2KrYrtin2Kgg2qnZhtuM2K8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAn2qnZhNuM2K8g2LnZhdmI2YXbjCDZhti42LHYs9mG2KzbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJ9mG2LjYsdiz2YbYrNuMINmG2YXZiNmG2YcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICfZiNuM2LHYp9uM2LQg2KfYt9mE2KfYudin2Kog2LnZhdmI2YXbjCc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9ucyd9ID0gJ9mI24zYsdin24zYtCDYs9mI2KfZhNin2KonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAn2KrZiCDYp9uM2YbYrNin24zbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAn2LPZiNin2YTYp9iqINmG2LjYsdiz2YbYrNuMINmH2KcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAn2KfZgdiy2YjYr9mGINiz2YjYp9mEJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAn2LPZiNin2YQg2LHYpyDYqNmG2YjbjNiz24zYryc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICfZvtin2LPYriDYp9mE2LLYp9mF24wg2KfYs9iqJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAn2LPZiNin2YTbjCDYqNix2KfbjCDYp9uM2YYg2YbYuNix2LPZhtis24wg2LDYrtuM2LHZhyDZhti02K/ZhyDYp9iz2KouJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uJ30gPSAn2LPZiNin2YQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAn2b7Yp9iz2K4g2KfZhNiy2KfZhduMINin2LPYqic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXaGVuIHlvdSBmaW5pc2ggdG8gZWRpdCB0aGUgc3VydmV5IHF1ZXN0aW9ucyBqdXN0IGNsb3NlIHRoaXMgc2NyZWVuLid9ID0KICAgICAgICAn2YjZgtiq24wg2qnYp9ixINmI24zYsdin24zYtCDYs9mI2KfZhNin2Kog2YbYuNix2LPZhtis24wg2KrZhdin2YUg2LTYryDYp9uM2YYg2b7Zhtis2LHZhyDYsdinINio2KjZhtiv24zYry4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICfYqNiz2KrZhiDYp9uM2YYg2b7Zhtis2LHZhyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAn2YjbjNix2KfbjNi0INiz2YjYp9mEJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAn2KjYp9iy2q/YtNiqINio2Ycg2LPZiNin2YTYp9iqJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJ9iz2YjYp9mEOic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJ9m+2KfYs9iuINmH2KfbjCDZhdmF2qnZhiDYqNix2KfbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAn2KfZgdiy2YjYr9mGINm+2KfYs9iuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAn2b7Yp9iz2K7bjCDYqNix2KfbjCDYp9uM2YYg2LPZiNin2YTYp9iqINiw2K7bjNix2Ycg2YbYtNiv2Ycg2KfYs9iqLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICfZhtin2YXYudiq2KjYsSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc3ViamVjdCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBncm91cHMgd2hpY2ggaGF2ZSBhIHBlcm1pc3Npb24gdG8gY2hhbmdlIHN1cnZleSBzdGF0dXMuIEFycmF5IGlzIGVtcHR5IGJ5IGRlZmF1bHQgYW5kIGFnZW50cyBmcm9tIGFsbCBncm91cHMgY2FuIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgYW1vdW50IGluIGhvdXJzIGEgdGlja2V0IGhhcyB0byBiZSBjbG9zZWQgdG8gdHJpZ2dlciB0aGUgc2VuZGluZyBvZiBhIHN1cnZleSwgKCAwIG1lYW5zIHNlbmQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2xvc2UgKS4gTm90ZTogZGVsYXllZCBzdXJ2ZXkgc2VuZGluZyBpcyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZFwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBncm91cHMgKHJ3KSB3aGljaCBjYW4gZGVsZXRlIHN1cnZleSBzdGF0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgc3RhdHMgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMaW1pdC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gem9vbSBpbnRvIHRoZSBzdXJ2ZXkgc3RhdGlzdGljcyBkZXRhaWxzIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgZXZlbnQgbW9kdWxlIHRvIHNlbmQgYXV0b21hdGljYWxseSBzdXJ2ZXkgZW1haWwgcmVxdWVzdHMgdG8gY3VzdG9tZXJzIGlmIGEgdGlja2V0IGlzIGNsb3NlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/fi_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmZpX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0x1byB1dXNpIGt5c2VseSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICdFc2l0dGVseSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnS3lzZWx5biBlc2l0dGVseSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ011aXN0dXR1a3NlbiB2aWVzdGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICdTaXPDpGluZW4ga3V2YXVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdNdW9ra2FhIHRpZXRvamEnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdNdW9ra2FhIGt5c3lteWtzacOkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnS3lzZWx5biBreXN5bXlrc2V0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ0xpc8Okw6Qga3lzeW15cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ1N5w7Z0w6Qga3lzeW15cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICdLeXNlbHl5biBlaSBvbGUgdGFsbGVubmV0dHUga3lzeW15a3Npw6QuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uJ30gPSAnS3lzeW15cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnTXVva2thYSBreXN5bXlzdMOkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAnbWVuZSB0YWthaXNpbiBreXN5bXlrc2lpbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICdWYXN0YXVzdmFpaHRvZWhkb3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJ0xpc8Okw6QgdmFzdGF1cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnVMOkc3PDpCBlaSBvbGUgdXNlaXRhIHZhc3RhdWtzaWEsIG7DpHl0ZXTDpMOkbiB0ZWtzdGlhbHVlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJ011b2trYWEgdmFzdGF1c3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ21lbmUgdGFrYWlzaW4gbXVva2thYW1hYW4ga3lzeW15c3TDpCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICdNdWlzdHV0dWtzZW4gbMOkaGV0dMOkasOkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnTXVpc3R1dHVrc2VuIG90c2lra28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ011b2trYWFqYSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICdUdWxvc3RlbiB5aHRlZW52ZXRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAnTMOkaGV0eXNhaWthJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJ8OEw6RuZXN0eXNhaWthJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICdLeXNlbHluIHR1bG9zdGVuIHlrc2l0eWlza29oZGF0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICdtZW5lIHRha2Fpc2luIHlodGVlbnZldG9vbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICdLeXNlbHluIHRpZWRvdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnTMOkaGV0ZXR0eWrDpCBreXNlbHlpdMOkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICdWYXN0YXVzdGVuIG3DpMOkcsOkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnS3lzZWx5biB5a3NpdHlpc2tvaGRhdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFJlc3VsdHMgR3JhcGgnfSA9ICdUdWxvc3RlbiBncmFhZml0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICdFaSB0dWxva3NpYS4nOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnS3lzZWx5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnVmFzdGFhIHNldXJhYXZpaW4ga3lzeW15a3NpaW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvdyBteSBhbnN3ZXJzJ30gPSAnTsOkeXTDpCB2YXN0YXVrc2VuaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnTsOkbcOkIG92YXQgdmFzdGF1a3Nlc2knOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAnS3lzZWx5biBvdHNpa2tvJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICdMaXPDpMOkIHV1c2kga3lzZWx5JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICdNdW9ra2FhIGt5c2VsecOkJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICdNdW9ra2FhIGt5c3lteWtzacOkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ0t5bGzDpCAvIEVpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ1ZhbGl0c2UgeWtzaSBtb25lc3RhIChMaXN0YSknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAnVmFsaXRzZSB5a3NpIHRhaSB1c2VhbXBpYSAoTGlzdGEpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAnVmFsbWlzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICdLZXNrZW5lcsOkaW5lbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnS3lzeW15c3RlbiBtdW9ra2F1cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ1Zhc3RhdXN0ZW4gbXVva2thdXMnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAnVHVsb3N0ZW4geWh0ZWVudmV0byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ1lrc2l0eWlza29odGFpc2V0IHR1bG9rc2V0JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnVXVkZW4gdGlsYW4gYXNldHRhbWluZW4gZWkgb25uaXN0dSEgRXQgb2xlIG3DpMOkcml0dMOkbnl0IGt5c3lteWtzacOkLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICdUaWxhIG11dXRldHR1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0gTXV1dGEgdGlsYWEgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ1BvaXN0ZXR0dSBrw6R5dMO2c3TDpCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJ0t5c2VseW4ga3V2YXVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2Fuc3dlcmVkJ30gPSAnVmFzdGFzaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICdFaSB2YXN0YW5udXQnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJ0tpaXRvcyBwYWxhdXR0ZWVzdGFzaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICdLeXNlbHkgb24gdmFsbWlzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICdPbGV0IGpvIHZhc3Rhbm51dCB0w6Row6RuIGt5c2VseXluLic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJ0t5c2VseW9taW5haXN1dXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ01vZHV1bGkga3lzZWx5aWRlbiBsdW9udGlpbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ1R1bG9zdGVuIHlrc2l0eWlza29oZGF0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgZXZlbnQgbW9kdWxlIHRvIHNlbmQgYXV0b21hdGljYWxseSBzdXJ2ZXkgZW1haWwgcmVxdWVzdHMgdG8gY3VzdG9tZXJzIGlmIGEgdGlja2V0IGlzIGNsb3NlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/fr_CA_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmZyX0NBX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/fr_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmZyX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0Nyw6llciB1biBub3V2ZWF1IHNvbmRhZ2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnUHLDqXNlbnRhdGlvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnUHLDqXNlbnRhdGlvbiBkdSBzb25kYWdlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAnQ29ycHMgZGUgbGEgbm90aWZpY2F0aW9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnRGVzY3JpcHRpb24gaW50ZXJuZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnVmV1aWxsZXogY2hvaXNpciB1bmUgcHJvcHJpw6l0w6kgY2xpZW50IHBvdXIgYWpvdXRlciB1bmUgY29uZGl0aW9uLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgc3VydmV5IGtleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJ0V4ZW1wbGUgZGUgc29uZGFnZSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEdlbmVyYWwgSW5mbyd9ID0gJ01vZGlmaWVyIGxlcyBpbmZvcm1hdGlvbnMgZ8OpbsOpcmFsZXMnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdNb2RpZmllciBsZXMgcXVlc3Rpb25zJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ1ZvdXMgw6p0ZXMgaWNpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICdRdWVzdGlvbnMgZHUgc29uZGFnZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICdBam91dGVyIGRlcyBxdWVzdGlvbnMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICfDiWNyaXZleiBsYSBxdWVzdGlvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICdSw6lwb25zZSByZXF1aXNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnQXVjdW5lIHF1ZXN0aW9uIHNhdXZlZ2FyZMOpZSBwb3VyIGNldHRlIGVucXXDqnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJ1F1ZXN0aW9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBSZXF1aXJlZCd9ID0gJ1LDqXBvbnNlIHJlcXVpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJ0FwcsOocyBhdm9pciB0ZXJtaW7DqSBsXCfDqWRpdGlvbiBkdSBzb25kYWdlLCBmZXJtZXogY2V0dGUgZmVuw6p0cmUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAnRmVybWVyIGNldHRlIGZlbsOqdHJlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICdNb2RpZmllciBsYSBxdWVzdGlvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ1JldG91ciBhdXggcXVlc3Rpb25zJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJ1F1ZXN0aW9uIDonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICdSw6lwb25zZXMgcG9zc2libGVzIHBvdXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJ0Fqb3V0ZXIgdW5lIHLDqXBvbnNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAnQXVjdW5lIHLDqXBvbnNlIG5cJ2Egw6l0w6kgdHJvdXbDqWUgcG91ciBjZXR0ZSBxdWVzdGlvbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ2lsIG5cJ3kgYSBwYXMgZGUgcsOpcG9uc2VzIHBvc3NpYmxlLCB1bmUgem9uZSBkZSB0ZXh0ZSBzZXJhIGFmZmljaMOpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJ01vZGlmaWVyIGxhIHLDqXBvbnNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ1JldG91ciDDoCBsYSBtb2RpZmljYXRpb24gZGVzIHF1ZXN0aW9ucyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnUsOpcG9uc2UgOic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICdWdWUgZFwnZW5zZW1ibGUgZGVzIG9wdGlvbnMgZGUgc29uZGFnZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnUGFzIGRlIHJlc3RyaWN0aW9ucyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJ1NvbmRhZ2VzIG1heGltdW0gcGFyIHBhZ2UnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJ0V4cMOpZGl0ZXVyIGRlIGxhIG5vdGlmaWNhdGlvbiAgJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnU3VqZXQgZGUgbGEgbm90aWZpY2F0aW9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICdNb2RpZmnDqSBwYXInOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5U3RhdHMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3IG9mJ30gPSAnVnVlIGRcJ2Vuc2VtYmxlIGRlcyBzdGF0aXN0aXF1ZXMgZGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICdUYWJsZWF1IGRlcyBkZW1hbmRlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnU8OpbGVjdGlvbm5lciB0b3V0ZXMgbGVzIGRlbWFuZGVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJ1RlbXBzIGRlIGxcJ2Vudm9pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJ1RlbXBzIGRlIHZvdGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJ1PDqWxlY3Rpb25uZXIgY2V0dGUgZGVtYW5kZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJ1ZvaXIgbGVzIGTDqXRhaWxzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSBzdGF0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAnRMOpdGFpbCBzdGF0aXN0aXF1ZSBzb25kYWdlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICdSZXRvdXIgw6AgbGEgdnVlIGRcJ2Vuc2VtYmxlIGRlcyBzdGF0aXN0aXF1ZXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAnSW5mb3JtYXRpb24gc29uZGFnZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnRW52b3nDqSBkZW1hbmRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICdTb25kYWdlIHJlw6d1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnRMOpdGFpbHMgc29uZGFnZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICdTZXJ2aWNlIFRpY2tldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ0dyYXBoaXF1ZSByw6lzdWx0YXQgc29uZGFnZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnUGFzIGRlIHN0YXRpc3RpcXVlIHNvbmRhZ2UuJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ0VucXXDqnRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnTWVyY2kgZGUgcsOpcG9uZHJlIMOgIGNlcyBxdWVzdGlvbnMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvdyBteSBhbnN3ZXJzJ30gPSAnVm9pciBtZXMgcsOpcG9uc2VzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICdWb2ljaSB2b3MgcsOpcG9uc2VzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJ1RpdHJlIEVucXXDqnRlJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICdBam91dGVyIHVuIHNvbmRhZ2UnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ01vZGlmaWVyIGxlIHNvbmRhZ2UnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdFF1ZXN0aW9ucy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJ01vZGlmaWVyIGxlcyBxdWVzdGlvbnMgZHUgc29uZGFnZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZZXMvTm8nfSA9ICdPdWkvTm9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ0JvdXRvbiBSYWRpbyAoTGlzdGUpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoZWNrYm94IChMaXN0KSd9ID0gJ0Nhc2Ugw6AgY29jaGVyIChMaXN0ZSknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICdUeXBlIGRlIFF1ZXN0aW9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAnVGVybWluw6knOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJ0luY29tcGxldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnTW9kaWZpZXIgbGEgcXVlc3Rpb24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICdNb2RpZmllciBsYSByw6lwb25zZSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICdWdWUgZFwnZW5zZW1ibGUgZGVzIHN0YXRpc3RpcXVlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ0TDqXRhaWwgU3RhdHMnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICdJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyICEgYXVjdW5lIHF1ZXN0aW9uIG5cJ2VzdCBkZWZpbmllJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ0xlIHN0YXR1dCBhIMOpdMOpIGNoYW5nw6kuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJy0gQXVjdW5lIGZpbGUgc8OpbGVjdGlvbm7DqWUgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnLSBDaGFuZ2VyIGxlIHN0YXR1dCAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01hc3Rlcid9ID0gJ01hw650cmUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ05vbiB2YWxpZGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ05vdXZlYXUgU3RhdHV0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJ0Rlc2NyaXB0aW9uIGR1IHNvbmRhZ2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdSw6lwb25kdSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICdOb24gcsOpcG9uZHUnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJ01lcmNpIHBvdXIgdm90cmUgcmV0b3VyLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ0xlIHNvbmRhZ2UgZXN0IHRlcm1pbsOpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICdWb3VzIGF2ZXogZMOpasOgIHLDqXBvbmR1IMOgIGNldHRlIEVucXXDqnRlJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICdFdGVzIHZvdXMgc3VyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGNldHRlIHF1ZXN0aW9uID8gVG91dGVzIGxlcyBkb25uw6llcyBhc3NvY2nDqWVzIHNlcm9udCBwZXJkdWVzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJ0V0ZXMgdm91cyBzdXIgZGUgdm91bG9pciBzdXBwcmltZXIgY2V0dGUgcXVlc3Rpb24gPyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICdVbiBtb2R1bGUgZFwnRW5xdcOqdGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ1VuIG1vZHVsZSBwb3VyIG1vZGlmaWVyIGxlcyBxdWVzdGlvbnMgZFwndW4gc29uZGFnZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdUb3VzIGxlcyBwYXJhbcOodHJlcyBwb3VyIGxlIHNvbmRhZ2UgZGFucyBsXCdpbnRlcmZhY2UgZGUgbFwnYWdlbnQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ05vbWJyZSBkZSBqb3VycyBhcHLDqHMgYXZvaXIgZW52b3nDqSB1biBtYWlsIGRlIHNvbmRhZ2UsIHBlbmRhbnQgbGVxdWVsIGF1Y3VuIG5vdXZlYXUgc29uZGFnZSBuZSBzZXJhIHJlbnZvecOpIGF1IG3Dqm1lIHV0aWxpc2F0ZXVyLiBFbiBjaG9pc2lzc2FudCAwIHVuIG1haWwgZGUgc29uZGFnZSBzZXJhIGVudm95w6kgw6AgY2hhcXVlIGZvaXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0NvcnBzIHBhciBkw6lmYXV0IGRlIGxhIG5vdGlmaWNhdGlvbiBDbGllbnQgcGFyIG1haWwgw6AgcHJvcG9zIGRcJ3VuZSBub3V2ZWxsZSBlbnF1w6p0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICdFeHDDqWRpdGV1ciBwYXIgZMOpZmF1dCBwb3VyIGxhIG5vdGlmaWNhdGlvbiBDbGllbnQgcGFyIG1haWwgw6AgcHJvcG9zIGRcJ3VuZSBub3V2ZWxsZSBlbnF1w6p0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnU3VqZXQgcGFyIGTDqWZhdXQgcG91ciBsYSBub3RpZmljYXRpb24gQ2xpZW50IHBhciBtYWlsIMOgIHByb3BvcyBkXCd1bmUgbm91dmVsbGUgZW5xdcOqdGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJ0TDqWZpbmlyIHVuIG1vZHVsZSBk4oCZYXBlcsOndSBvw7kgbW9udHJlciBsYSBsaXN0ZSBkZXMgc29uZGFnZXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBncm91cHMgd2hpY2ggaGF2ZSBhIHBlcm1pc3Npb24gdG8gY2hhbmdlIHN1cnZleSBzdGF0dXMuIEFycmF5IGlzIGVtcHR5IGJ5IGRlZmF1bHQgYW5kIGFnZW50cyBmcm9tIGFsbCBncm91cHMgY2FuIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICdEw6lmaW5pIGxlIG5vbWJyZSBtYXhpbXVtIGRcJ2VucXXDqnRlcyBxdWkgc2Vyb250IGVudm95w6llcyBhIHVuIENsaWVudCBwYXIgcMOpcmlvZGUgZGUgMzAgam91cnMuICgwIHNpZ25pZmllIHBhcyBkZSBtYXhpbXVtLCB0b3V0ZXMgbGVzIGVucXXDqnRlcyBzZXJvbnQgZXhww6lkacOpZXMpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnRMOpZmluaXIgbGEgaGF1dGV1ciBwYXIgZMOpZmF1dCBkZSBsYSB2dWUgem9vbcOpZSBkZXMgw6lsw6ltZW50cyBkdSBzb25kYWdlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBncm91cHMgKHJ3KSB3aGljaCBjYW4gZGVsZXRlIHN1cnZleSBzdGF0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICdEw6lmaW5pciBsZXMgY29sb25uZXMgdmlzaWJsZSBkZSBs4oCZYXBlcsOndSBkdSBzb25kYWdlLiBjZXR0ZSBvcHRpb24gblwnYSBwYXMgZFwnZWZmZXQgc3VyIGxhIHBvc2l0aW9uIGRlcyBjb2xvbm5lcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJ2FjdGl2ZSBvdSBkw6lzYWN0aXZlIGxhIHZ1ZSBkZXMgcsOpc3VsdGF0cyBkXCd1biBzb25kYWdlIGRhbnMgbFwnaW50ZXJmYWNlIHB1YmxpcXVlIGxvcnNxdVwndW4gY2xpZW50IGVzc2FpZSBkZSByw6lwb25kcmUgdW5lIGRldXhpw6htZSBmb2lzIGEgdW4gc29uZGFnZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICdBY3RpdmUgb3UgZMOpc2FjdGl2ZSBsYSB2w6lyaWZpY2F0aW9uIGRlIGxhIGNvbmRpdGlvbiBkXCdlbnZvaSBwb3VyIGxlIHNlcnZpY2UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnQWN0aXZlIG91IGTDqXNhY3RpdmUgbGEgdsOpcmlmaWNhdGlvbiBkZSBsYSBjb25kaXRpb24gZFwnZW52b2kgcG91ciBjZSB0eXBlIGRlIHRpY2tldC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnSW50ZXJmYWNlIGR1IG1vZHVsZSBkXCdlbnJlZ2lzdHJlbWVudCBkXCd1biBham91dCBkZSBzb25kYWdlIGRhbnMgbFwnaW50ZXJmYWNlIGFnZW50Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnSW50ZXJmYWNlIGR1IG1vZHVsZSBkXCdlbnJlZ2lzdHJlbWVudCBkZSBsXCfDqWRpdGlvbiBkXCd1biBzb25kYWdlIGRhbnMgbFwnaW50ZXJmYWNlIGFnZW50Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgc3RhdHMgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ1NpIGNldHRlIGV4cHJlc3Npb24gcsOpZ3VsacOocmUgZXN0IHbDqXJpZmnDqWUsIGF1Y3VuZSBlbnF1w6p0ZSBDbGllbnQgbmUgc2VyYSBlbnZvecOpZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnTGltaXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJ0VucXXDqnRlIHB1YmxpcXVlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ0TDqXRhaWxzIFN0YXRzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnTW9kdWxlIGRcJ8OpZGl0aW9uIGRcJ2VucXXDqnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJ01vZHVsZSBzdGF0aXN0aXF1ZSBkXCdlbnF1w6p0ZXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICdNb2R1bGUgZGUgbGEgdnVlIGTDqXRhaWxsw6llIGRcJ2VucXXDqnRlcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICdMZXMgZW5xdcOqdGUgbmUgc2Vyb250IHBhcyBlbnZvecOpZXMgYXV4IGFkcmVzc2VzIGVtYWlsIGNvbmZpZ3Vyw6llcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ0xcJ2lkZW50aWZpYW50IHBvdXIgdW5lIGVucXXDqnRlLiBwYXIgZXguIFN1cnZleSMsIE15U3VydmV5Iy4gcGFyIGTDqWZhdXQgOiBTdXJ2ZXkjLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgZXZlbnQgbW9kdWxlIHRvIHNlbmQgYXV0b21hdGljYWxseSBzdXJ2ZXkgZW1haWwgcmVxdWVzdHMgdG8gY3VzdG9tZXJzIGlmIGEgdGlja2V0IGlzIGNsb3NlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/gl_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmdsX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0NyZWFyIHVuaGEgZW5xdWlzYSBub3ZhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludHJvZHVjdGlvbid9ID0gJ0ludHJvZHVjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnSW50cm9kdWNpw7NuIMOhIGVucXVpc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIEJvZHknfSA9ICdUZXh0byBkYSBub3RpZmljYWNpw7NuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnRGVzY3JpY2nDs24gaW50ZXJuYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnRWRpdGFyIGEgaW5mb3JtYWNpw7NuIHhlcmFsJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnRWRpdGFyIGFzIHByZWd1bnRhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgYXJlIGhlcmUnfSA9ICdWb3N0ZWRlIGVzdMOhIGFxdcOtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICdQcmVndW50YXMgZGEgZW5xdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICdFbmdhZGlyIHVuaGEgcHJlZ3VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICdFc2NyaWJhIGEgcHJlZ3VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIHJlcXVpcmVkJ30gPSAnUmVxdcOtcmVzZSB1bmhhIHJlc3Bvc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnTm9uIGhhaSBwcmVndW50YXMgZ2FyZGFkYXMgcGFyYSBlc3RhIGVucXVpc2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uJ30gPSAnUHJlZ3VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnUmVxdcOtcmVzZSB1bmhhIHJlc3Bvc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJ0VkaXRhciBwcmVndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ3JldG9ybmFyIMOhcyBwcmVndW50YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnUmVzcG9zdGFzIHBvc8OtYmVpcyBhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdFbmdhZGlyIHVuaGEgcmVzcG9zdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICdOb24gaGFpIHJlc3Bvc3RhcyBnYXJkYWRhcyBwYXJhIGVzdGEgcHJlZ3VudGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICdJc3RvIG5vbiB0ZW4gdmFyaWFzIHJlc3Bvc3RhczsgbcOzc3RyYXNlIHVuIGNhZHJvIHBhcmEgZXNjcmliaXIgdGV4dG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnRWRpdGFyIGEgcmVzcG9zdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAncmV0b3JuYXIgw6EgZWRpY2nDs24gZGEgcHJlZ3VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAnUmVtaXRlbnRlIGRhIG5vdGlmaWNhY2nDs24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICdBc3VudG8gZGEgbm90aWZpY2FjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAnQ2FtYmlhZG8gcG9yJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ1Zpc3RhIHhlcmFsIGRhcyBlc3RhdMOtc3RpY2FzIGRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAnVMOhYm9hIGRlIHNvbGljaXR1ZGVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAnSG9yYSBkZSBlbnbDrW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnSG9yYSBkZSB2b3RhY2nDs24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJ1ZlciBvcyBkZXRhbGxlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJ0RldGFsbGVzIEVzdGF0w61zdGljb3MgRW5xdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAndm9sdGUgYSB2aXN0YSB4ZXJhbCBkYXMgZXN0YXTDrXN0aWNhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICdJbmZvcm1hY2nDs24gZGEgZW5xdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnRW52aWFyIHNvbGljaXR1ZGVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICdFbnF1aXNhcyByZWNpYmlkYXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICdEZXRhbGxlcyBkYSBlbnF1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJ1NlcnZpem9zIFRpY2tldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ0dyw6FmaWNvIFJlc3VsdGFkb3MgRW5xdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnTm8gcmVzdWx0YWRvcyBlc3RhdMOtc3RpY2EnOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnRW5xdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJ1Jlc3BvbmRhIGEgZXN0YXMgcHJlZ3VudGFzLCBzZSBmYWkgbyBmYXZvcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICdNb3N0cmFyIGFzIG1pw7FhcyByZXNwb3N0YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJ0VzdGFzIHNvbiBhcyBzw7phcyByZXNwb3N0YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAnVMOtdHVsbyBkYSBlbnF1aXNhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICdFbmdhZGlyIHVuaGEgZW5xdWlzYSBub3ZhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICdFZGl0YXIgZW5xdWlzYSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAnRWRpdGFyIFByZWd1bnRhcyBkYSBFbnF1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ1NpL05vbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICdPcGNpw7NuIGV4Y2x1w61udGUgKGxpc3RhKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICdPcGNpw7NuIG5vbiBleGNsdcOtbnRlIChsaXN0YSknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICdUaXBvIGRlIHByZWd1bnRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAnQ29tcGxldGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJ0luY29tcGxldGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gRWRpdCd9ID0gJ0VkaXRhciBQcmVndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ0VkaXRhciBSZXNwb3N0YSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICdWaXN0YSB4ZXJhbCBkYXMgZXN0YXTDrXN0aWNhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ0RldGFsbGUgZGFzIGVzdGF0w61zdGljYXMnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICdOb24gc2UgcG9kZSBlc3RhYmxlY2VyIG8gbm92byBzdGF0dXMhTm9uIGhhaSBwcmVndW50YXMgZGVmaW5pZGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICdFc3RhZG8gY2FtYmlhZG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJy0gTm9uIGhhaSBuaW5ndW5oYSBmaWxhIHNlbGVjY2lvbmFkYSAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICctIENhbWJpYXIgbyBlc3RhZG8gLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICdQcmluY2lwYWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ0luY29ycmVjdG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ05vdm8gZXN0YWRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJ0Rlc2NyaWNpw7NuIGRhIGVucXVpc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdyZXNwb25kaWRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J25vdCBhbnN3ZXJlZCd9ID0gJ25vbiByZXNwb25kaWRhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICdHcmF6YXMgcG9sYSBzw7phIG9waW5pw7NuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ0EgZW5xdWlzYSBlc3TDoSByZW1hdGFkYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnWGEgcmVzcG9uZGV1IGEgZXN0YSBlbnF1aXNhLic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAnQ29uZmlybWEgcXVlIGRlc2V4YSBlbGltaW5hciBlc3RhIHByZWd1bnRhLiBIYW5zZSBQRVJERVIgVE9ET1Mgb3MgZGF0b3MgYXNvY2lhZG9zISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJ0NvbmZpcm1hIHF1ZSBkZXNleGEgZWxpbWluYXIgZXN0YSBwcmVndW50YT8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnVW4gbcOzZHVsbyBkZSBlbnF1aXNhcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ1VuIG3Ds2R1bG8gcGFyYSBlZGl0YXIgcHJlZ3VudGFzIGRlIGVucXVpc2FzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1TDs2RvbG9zIHBhcmFtZXRyb3MgcGFyYSDDsyBvYnhldG8gRW5xdWlzYSBuYSBpbnRlcmZhY2UgZGUgYXhlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICdDYW50aWRhZGUgZGUgZMOtYXMgZGVzcG9pcyBkZSBlbnZpYXIgdW5oYSBlbnF1aXNhIGRlIGNvcnJlbyBubyBxdWUgbm9uIHNlIGVudsOtYW4gbm92YXMgcGV0aWNpw7NucyBkZSBlbnF1aXNhIGFvIG1lc21vIGNsaWVudGUuIFNlbGVjY2lvbmFuZG8gMCBlbnZpYXLDoSBzZW1wcmUgbyBjb3JyZW8gZGUgZW5xdWlzYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnQ29ycG8gcG9yIGRlZmVjdG8gcGFyYSBvIGNvcnJlbyBlbGVjdHLDs25pY28gZGUgbm90aWZpY2FjacOzbiBhIGNsaWVudGVzIHNvYnJlIG5vdmEgZW5xdWlzYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICdSZW1pdGVudGUgcG9yIGRlZmVjdG8gcGFyYSBvIGNvcnJlbyBlbGVjdHLDs25pY28gZGUgbm90aWZpY2FjacOzbiBhIGNsaWVudGVzIHNvYnJlIG5vdmEgZW5xdWlzYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnVGVtYSBwb3IgZGVmZWN0byBwYXJhIG8gY29ycmVvIGVsZWN0csOzbmljbyBkZSBub3RpZmljYWNpw7NuIGEgY2xpZW50ZXMgc29icmUgbm92YSBlbnF1aXNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICdEZWZpbmUgdW4gbcOzZHVsbyBkZSB2aXN0YSB4ZXJhbCBwYXJhIG1vc3RyYXIgYSB2aXN0YSBwZXF1ZW5hIGR1bmhhIGxpc3RhIGRlIGVucXVpc2FzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBpZiBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBvbmx5IHNlbmQgdG8gcmVhbCBjdXN0b21lcnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJ0RlZmluZSBhIGNhbnRpZGFkZSBtw6F4aW1hIGRlIGVucXVpc2FzIHF1ZSBlbnbDrWFuc2UgYW9zIGNsaWVudGVzIHBvciAzMCBkw61hcy4gKDAgc2lnbmlmaWNhIG5vIG3DoXhpbW8sIHTDs2RhbGFzIHBldGljacOzbnMgZGUgZW5xdWlzYSBzZXLDoW4gZW52aWFkYXMpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnRGVmaW5lIGEgYWx0dXJhIHBvciBkZWZlY3RvIHBhcmEgdmlzdGFzIHRleHRvIGVucmlxdWVjaWRvIHBhcmEgZWxlbWVudG9zIGRlIFpvb21FbnF1aXNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBncm91cHMgKHJ3KSB3aGljaCBjYW4gZGVsZXRlIHN1cnZleSBzdGF0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICdEZWZpbmUgYXMgY29sdW1uYXMgbW9zdHJhZGFzIG5hIHZpc2nDs24geGVyYWwgZGUgZW5xdWlzYS4gRXN0YSBvcGNpw7NuIG5vbiB0ZW4gbmluZ8O6biBlZmVjdG8gc29icmUgYSBwb3NpY2nDs24gZGFzIGNvbHVtbmFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IGdlbmVyYWwgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAnQWN0aXZlIG91IGRlc2FjdGl2ZSBhIHBhbnRhbGxhIE1vc3RyYXJEYXRvc1ZvdG8gbmEgaW50ZXJmYWNlIHDDumJsaWNhIHBhcmEgbW9zdHJhciBkYXRvcyBkdW4gcmVzdWx0YWRvIGRlIGVucXVpc2EgZXNwZWNpZmljYSBjYW5kbyBvIGNsaWVudGUgaW50ZW50YSByZXNwb25kZXIgYSBlbnF1aXNhIHBvciBzZWd1bmRhIHZlei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICdBY3RpdmUgb3UgZGVzYWN0aXZlIGEgY29uZGljaW9uIGRlIGNvbXByb2JhY2lvbiBlbnZpYXIgcGFyYSBvIHNlcnZpem8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnQWN0aXZlIG91IGRlc2FjdGl2ZSBhIGNvbXByb2JhY2nDs24gZW52aWFyIGNvbmRpY2nDs24gcGFyYSBvIHRpcG8gZGUgdGlja2V0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZXhpc3RybyBtw7NkdWxvIGZyb250ZW5kIHBhcmEgZW5nYWRpciBlbnF1aXNhIG5hIGludGVyZmFjZSBkZSBheGVudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZXhpc3RybyBtw7NkdWxvIGZyb250ZW5kIHBhcmEgZWRpdGFyIGVucXVpc2EgbmEgaW50ZXJmYWNlIGRlIGF4ZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZXhpc3RybyBtw7NkdWxvIGZyb250ZW5kIHBhcmEgZXN0YXTDrXN0aWNhcyBkZSBlbnF1aXNhIG5hIGludGVyZmFjZSBkZSBheGVudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZXhpc3RybyBtw7NkdWxvIGZyb250ZW5kIHBhcmEgem9vbSBkZSBlbnF1aXNhIG5hIGludGVyZmFjZSBkZSBheGVudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICdSZXhpc3RybyBtw7NkdWxvIGZyb250ZW5kIHBhcmEgb2J4ZWN0byBFbnF1aXNhUHVibGljYSBuYSDDoXJlYSBFbnF1aXNhIHDDumJsaWNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAnU2UgYSBleHByZXNpw7NuIHJlZ3VsYXIgY29pbmNpZGUsIG5vbiBlbnZpYXLDoXNlIGVucXVpc2EgYW8gY2xpZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnUGFyw6FtZXRyb3MgcGFyYSBhcyBww6F4aW5hcyAobmFzIGNhbGVzIGFzIGVucXVpc2FzIHNvbiBtb3N0cmFkYXMpIGRhIHZpc3RhIHhlcmFsIHBlcXVlbmEgZGEgZW5xdWlzYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICdFbnF1aXNhIHDDumJsaWNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ01vc3RyYSB1biBlbmxhY2Ugbm8gbWVudSBwYXJhIGVkaXRhciB1bmhhIGVucXVpc2EgbmEgc8O6YSB2aXN0YSB6b29tIGRhIGludGVyZmFjZSBkZSBheGVudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTW9zdHJhIHVuIGVubGFjZSBubyBtZW51IHBhcmEgZWRpdGFyIHByZWd1bnRhcyBkZSBlbnF1aXNhIG5hIHPDumEgdmlzdGEgem9vbSBkYSBpbnRlcmZhY2UgZGUgYXhlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTW9zdHJhIHVuIGVubGFjZSBubyBtZW51IHBhcmEgdm9sdGFyIGF0csOhcyBuYSB2aXN0YSB6b29tIGRlIGVucXVpc2EgZGEgaW50ZXJmYWNlIGRlIGF4ZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNb3N0cmEgdW4gZW5sYWNlIG5vIG1lbnUgcGFyYSBmYWNlciB6b29tIG5vcyBkZXRhbGxlcyBkYXMgZXN0YXTDrXN0aWNhcyBkYSBlbnF1aXNhIG5hIHPDumEgdmlzdGEgem9vbSBkYSBpbnRlcmZhY2UgZGUgYXhlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAnRGV0YWxsZXMgZGFzIGVzdGF0w61zdGljYXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICdNw7NkdWxvIEVkaXRhciBFbnF1aXNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJ0zDrW1pdGUgIlBlcXVlbm8iIFZpc3RhIFhlcmFsIEVucXVpc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICdNw7NkdWxvIEVzdGF0w61zdGljYXMgRW5xdWlzYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJ03Ds2R1bG8gWm9vbSBFbnF1aXNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLid9ID0gJ0VucXVpc2FzIG5vbiBzZXLDoW4gZW52aWFkYXMgYW9zIGVuZGVyZXpvcyBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvIGNvbmZpZ3VyYWRvcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ08gaWRlbnRpZmljYWRvciBwYXJhIHVuaGEgZW5xdWlzYSwgZXguIEVucXVpc2EjLCBNacOxYUVucXVpc2EjLCBQb3IgZGVmZWN0byDDqSBFbnF1aXNhIy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICdNw7NkdWxvIGV2ZW50byB0aWNrZXQgcGFyYSBlbnZpYXIgYXV0b21hdGljYW1lbnRlIHBldGljacOzbnMgZGUgZW5xdWlzYSBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvIHNlIHVuIHRpY2tldCDDqSBwZWNoYWRvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/he_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmhlX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/hi_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmhpX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/hr_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmhyX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ1N0dm9yaSBub3Z1IGFua2V0dSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICdVdm9kJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICdVdm9kIGFua2V0ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ1phYmlsamXFvmJhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnSW50ZXJuaSBvcGlzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdVcmVkaSBvcMSHZSBpbmZvcm1hY2lqZSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9ucyd9ID0gJ1VyZWRpIHBpdGFuamEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICdBbmtldG5hIHBpdGFuamEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAnRG9kYWogcGl0YW5qZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ1VwacWhaSBwaXRhbmplJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJ09kZ292b3IgamUgbmVvcGhvZGFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnTmVtYSBzcHJlbWxqZW5paCBwaXRhbmphIHphIG92dSBhbmtldHUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uJ30gPSAnUGl0YW5qZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICdPZGdvdm9yIGplIG9iYXZlemFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJ1VyZWRpIHBpdGFuamUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBxdWVzdGlvbnMnfSA9ICd2cmF0aSBzZSBuYXRyYWcgbmEgcGl0YW5qYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICdNb2d1xIdpIG9kZ292b3JpIHphJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdEb2RhaiBvZGdvdm9yJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAnTmVtYSBzcHJlbWxqZW5paCBvZGdvdm9yYSB6YSBvdm8gcGl0YW5qZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJ1VyZWRpIG9kZ292b3InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAndnJhdGkgc2UgbmF0cmFnIG5hIHVyZcSRaXZhbmplIHBpdGFuamEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAnWmFiaWxqZcW+YmEgcG/FoWlsamF0ZWxqYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJ1phYmlsamXFvmJhIG5hc2xvdmEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ01pamVuamFvJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ1ByZWdsZWQgc3RhdGlzdGlrZSBvZCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ1RhYmxpY2EgemFodGpldmEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICdWcmlqZW1lIHNsYW5qYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICdWcmlqZW1lIGdsYXNvdmFuamEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJ1ZpZGkgcG9kcm9ibmlqZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJ0RldGFsamkgYW5rZXRuZSBzdGF0aXN0aWtlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICd2cmF0aSBzZSBuYXRyYWcgbmEgcHJlZ2xlZCBzdGF0aXN0aWthJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVpvb20KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbmZvcm1hdGlvbid9ID0gJ0luZm9ybWFjaWplIG8gYW5rZXRpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbnQgcmVxdWVzdHMnfSA9ICdQb3NsYW5pIHphaHRqZXZpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICdQcmltbGplbmUgYW5rZXRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnRGV0YWxqaSBhbmtldGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnUmV6dWx0YXRpIGFua2V0ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnTmVtYSByZXp1bHRhdGEuICc7CgogICAgIyBUZW1wbGF0ZTogUHVibGljU3VydmV5CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXknfSA9ICdBbmtldGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICdNb2xpbW8gdmFzIGRhIG9kZ292b3JpdGUgbmEgcGl0YW5qYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICdQcmlrYcW+aSBtb2plIG9kZ292b3JlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICdPdm8gc3UgdmHFoWkgb2Rnb3ZvcmknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAnTmFzbG92IGFua2V0ZSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnRG9kYWogbm92dSBhbmtldHUnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ1VyZWRpIGFua2V0dSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAnVXJlZGkgYW5rZXRuYSBwaXRhbmphJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ0RhL25lJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcgJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnVGlwIHBpdGFuamEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICdEb3ZyxaFlbm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJ05lZG92csWhZW5vJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICdVcmVkaSBwaXRhbmplJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnVXJlZGkgb2Rnb3Zvcic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICdQcmVnbGVkIHN0YXRpc3Rpa2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3Igc3RhdHMgZGV0YWlsISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICdTdGF0aXN0aWthIGRldGFsam5vJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnTmVtb2d1xIdlIHBvc3Rhdml0aSBub3ZpIHN0YXR1cyEgUGl0YW5qYSBuaXN1IHBvc3RhdmxqZW5hLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICdTdGF0dXMgcHJvbWlqZW5qZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnLSBQcm9taWplbmkgc3RhdHVzIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICdPcGlzIGFua2V0ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ29kZ292b3Jlbm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnbmlqZSBvZGdvdm9yZW5vJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICdIdmFsYSB2YW0gemEgcG92cmF0bnUgaW5mb3JtYWNpanUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnQW5rZXRhIGplIHphdnLFoWVuYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnVmXEhyBzdGUgaXNwdW5qYXZhbGkgYW5rZXR1Lic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAnxb1lbGl0ZSBsaSB6YWlzdGEgaXpicmlzYXRpIG92byBwaXRhbmplPyBTdmkgcG9kYWNpIHByaSB0b21lIMSHZSBiaXRpIGl6Z3VibGplbmkhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnxb1lbGl0ZSBsaSB6YWlzdGEgb2JyaXNhdGkgb3ZhaiBvZGdvdm9yPyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICdBbmtldG5pIG1vZHVsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnTW9kdWwgemEgdXJlxJFpdmFuamUgYW5rZXRuaWggcGl0YW5qYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnSmF2bmEgYW5rZXRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICdTYXRpc3Rpa2EgZGV0YWxqbm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/hu_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Omh1X1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ8OaaiBrw6lyZMWRw612IGzDqXRyZWhvesOhc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnQmV2ZXpldMOpcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnS8OpcmTFkcOtdiBiZXZlemV0w6lzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ8OJcnRlc8OtdMOpcyB0w7ZyenNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnQmVsc8WRIGxlw61yw6FzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICfDnGd5ZsOpbCBmZWx0w6l0ZWxlayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJ1bDoWxhc3N6b24gZWd5IMO8Z3lmw6lsdHVsYWpkb25zw6Fnb3QgZWd5IGZlbHTDqXRlbGhleiB2YWzDsyBob3p6w6FhZMOhc2hvei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICdOeWlsdsOhbm9zIGvDqXJkxZHDrXZrdWxjcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJ1DDqWxkYSBrw6lyZMWRw612JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnw4FsdGFsw6Fub3MgaW5mb3Jtw6FjacOzayBzemVya2VzenTDqXNlJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnS8OpcmTDqXNlayBzemVya2VzenTDqXNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ8OWbiBpdHQgw6FsbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnS8OpcmTFkcOtdiBrw6lyZMOpc2VrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ0vDqXJkw6lzIGhvenrDoWFkw6FzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ0fDqXBlbGplIGJlIGEga8OpcmTDqXN0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJ1bDoWxhc3oga8O2dGVsZXrFkSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJ05pbmNzZW5layBrw6lyZMOpc2VrIGVsbWVudHZlIGVoaGV6IGEga8OpcmTFkcOtdmhlei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdLw6lyZMOpcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICdWw6FsYXN6IGvDtnRlbGV6xZEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJ0FtaWtvciBiZWZlamV6dGUgYSBrw6lyZMWRw612IGvDqXJkw6lzZWluZWsgc3plcmtlc3p0w6lzw6l0LCBha2tvciBlZ3lzemVyxbFlbiB6w6FyamEgYmUgZXp0IGEga8OpcGVybnnFkXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAnQXogYWJsYWsgYmV6w6Fyw6FzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnS8OpcmTDqXMgc3plcmtlc3p0w6lzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ3Zpc3N6YSBhIGvDqXJkw6lzZWtoZXonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAnS8OpcmTDqXM6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnTGVoZXRzw6lnZXMgdsOhbGFzem9rIGEga8O2dmV0a2V6xZFow7Z6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdWw6FsYXN6IGhvenrDoWFkw6FzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJ05pbmNzZW5layB2w6FsYXN6b2sgZWxtZW50dmUgZWhoZXogYSBrw6lyZMOpc2hlei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ0VubmVrIG5pbmNzIHTDtmJiIHbDoWxhc3phLCBlZ3kgc3rDtnZlZ2RvYm96IGxlc3ogbWVnamVsZW7DrXR2ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICdWw6FsYXN6IHN6ZXJrZXN6dMOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAndmlzc3phIGEga8OpcmTDqXMgc3plcmtlc3p0w6lzw6loZXonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJ1bDoWxhc3o6JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJ0vDqXJkxZHDrXYgw6F0dGVraW50xZEgbGVoZXTFkXPDqWdlayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICdBIHN6w6FtLCBjw61tLCBiZXZlemV0w6lzLCBsZcOtcsOhcywgw6lydGVzw610w6lzIGvDvGxkxZFqZSwgw6lydGVzw610w6lzIHTDoXJneWEgw6lzIMOpcnRlc8OtdMOpcyB0w7ZyenNlIGF0dHJpYsO6dHVtb2tiYW4ga2VyZXMsIGZlbMO8bGLDrXLDoWx2YSBheiB1Z3lhbmlseWVuIG5ldsWxIGVnecOpYiBhdHRyaWLDunR1bW9rYXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJ0vDqXJkxZHDrXYgbMOpdHJlaG96w6FzaSBpZGVqZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJ05pbmNzIG1lZ2vDtnTDqXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJ0NzYWsgZXplayBrw7Z6w7Z0dCBsw6l0cmVob3pvdHQga8OpcmTFkcOtdmVrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJ09sZGFsYW5rw6ludCBtZWdqZWxlbsOtdGV0dCBsZWd0w7ZiYiBrw6lyZMWRw612JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICfDiXJ0ZXPDrXTDqXMga8O8bGTFkWplJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnw4lydGVzw610w6lzIHTDoXJneWEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ03Ds2Rvc8OtdG90dGEnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5U3RhdHMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3IG9mJ30gPSAnQSBrw7Z2ZXRrZXrFkSBzdGF0aXN6dGlrw6FpbmFrIMOhdHRla2ludMOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICdLw6lyw6lzZWsgdMOhYmzDoXphdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnQXogw7Zzc3plcyBrw6lyw6lzIGtpamVsw7Zsw6lzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICdLw7xsZMOpcyBpZGVqZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICdTemF2YXrDoXMgaWRlamUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJ0V6ZW4ga8OpcsOpcyBraWplbMO2bMOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICdSw6lzemxldGVrIG1lZ3Rla2ludMOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnU3RhdGlzenRpa8OhayB0w7ZybMOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJ0vDqXJkxZHDrXYgc3RhdGlzenRpa2EgcsOpc3psZXRlayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAndmlzc3phIGEgc3RhdGlzenRpa8OhayDDoXR0ZWtpbnTFkWrDqWhleic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnRWzFkXrFkSBzemF2YXphdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICdLw7Z2ZXRrZXrFkSBzemF2YXphdCc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICdLw6lyZMWRw612IGluZm9ybcOhY2nDs2snOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJ0Vsa8O8bGTDtnR0IGvDqXLDqXNlayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnQmXDqXJrZXpldHQga8OpcmTFkcOtdmVrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnS8OpcmTFkcOtdiByw6lzemxldGVrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJ0plZ3lzem9sZ8OhbHRhdMOhc29rJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnS8OpcmTFkcOtdiBlcmVkbcOpbnllayBncmFmaWtvbmphJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICdOaW5jc2VuZWsgc3RhdGlzenRpa2EgZXJlZG3DqW55ZWsuJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ0vDqXJkxZHDrXYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICdWw6FsYXN6b2xqb24gZXpla3JlIGEga8OpcmTDqXNla3JlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJ1NhasOhdCB2w6FsYXN6YWltIG1lZ2plbGVuw610w6lzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnRXplayBheiDDlm4gdsOhbGFzemFpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJ0vDqXJkxZHDrXYgY8OtbWUnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJ8OaaiBrw6lyZMWRw612IGhvenrDoWFkw6FzYSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICdOaW5jcyBqb2dvc3VsdHPDoWdhIGVoaGV6IGEga8OpcmTFkcOtdmhleiEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnTmluY3Mga8OpcmTFkcOtdi1hem9ub3PDrXTDsyBtZWdhZHZhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ0vDqXJkxZHDrXYgc3plcmtlc3p0w6lzZSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICdOaW5jcyBqb2dvc3VsdHPDoWdhIGVoaGV6IGEga8OpcmTFkcOtdmhleiB2YWd5IGvDqXJkw6lzaGV6ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJ05pbmNzIGpvZ29zdWx0c8OhZ2EgZWhoZXogYSBrw6lyZMWRw612aGV6LCBrw6lyZMOpc2hleiB2YWd5IHbDoWxhc3pob3ohJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJ0vDqXJkxZHDrXYga8OpcmTDqXNlayBzemVya2VzenTDqXNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ0lnZW4vTmVtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ1bDoWxhc3p0w7Nnb21iIChsaXN0YSknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAnSmVsw7ZsxZFuw6lneXpldCAobGlzdGEpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJ1ZhbMOzcyDDvGd5ZsOpbC10w6Ftb2dhdG90dHPDoWdpIMOpcnTDqWsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJ0vDqXJkw6lzIHTDrXB1c2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICdLw6lzeic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAnQmVmZWplemV0bGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICdLw6lyZMOpcyBzemVya2VzenTDqXNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnVsOhbGFzeiBzemVya2VzenTDqXNlJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJ1N0YXRpc3p0aWvDoWsgw6F0dGVraW50xZFqZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnTmluY3Mgam9nb3N1bHRzw6FnYSBlaGhleiBhIGvDqXJkxZHDrXZoZXogdmFneSBhIHN0YXRpc3p0aWvDoWsgcsOpc3psZXRlaWhleiEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnU3RhdGlzenRpa8OhayByw6lzemxldGUnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICdOZW0gw6FsbMOtdGhhdMOzIGJlIGF6IMO6aiDDoWxsYXBvdCEgTmluY3NlbmVrIGvDqXJkw6lzZWsgbWVnaGF0w6Fyb3p2YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICdOZW0gw6FsbMOtdGhhdMOzIGJlIMO6aiDDoWxsYXBvdCEgQSBrw6lyZMOpc2VrIG5pbmNzZW5layBiZWZlamV6dmUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ8OBbGxhcG90IG3Ds2Rvc8OtdHZhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICctIE5pbmNzIHbDoXLDs2xpc3RhIGtpamVsw7ZsdmUgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICctIE5pbmNzIGplZ3l0w61wdXMga2l2w6FsYXN6dHZhIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnLSBOaW5jcyBqZWd5c3pvbGfDoWx0YXTDoXMga2l2w6FsYXN6dHZhIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICctIMOBbGxhcG90IG3Ds2Rvc8OtdMOhc2EgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICdNZXN0ZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ8OJcnbDqW55dGVsZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ8OaaiDDoWxsYXBvdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICdLw6lyZMWRw612IGxlw61yw6FzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ21lZ3bDoWxhc3pvbHQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnbmVtIG1lZ3bDoWxhc3pvbHQnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJ0vDtnN6w7ZuasO8ayBhIHZpc3N6YWplbHrDqXPDqXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnQSBrw6lyZMWRw612IGJlZmVqZXrFkWTDtnR0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICdLw6lyZMWRw612IMO8emVuZXQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICdBIG1vZHVsIG5pbmNzIGVuZ2Vkw6lseWV6dmUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCwgcGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLid9ID0KICAgICAgICAnRXogYSBmdW5rY2lvbmFsaXTDoXMgbmluY3MgZW5nZWTDqWx5ZXp2ZS4gVmVneWUgZmVsIGEga2FwY3NvbGF0b3QgYSByZW5kc3plcmdhemTDoXZhbC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJ0vDqXJkxZHDrXYgaGliYSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJ8OJcnbDqW55dGVsZW4ga8OpcmTFkcOtdmt1bGNzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnQSBiZXN6w7pydCBrw6lyZMWRw612a3VsY3Mgw6lydsOpbnl0ZWxlbi4gSGEgZWd5IGhpdmF0a296w6FzdCBrw7Z2ZXRldHQsIGFra29yIGF6IHRhbMOhbiBlbGF2dWx0IHZhZ3kgc8OpcsO8bHQgbGVoZXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAnS8OpcmTFkcOtdiBzemF2YXrDoXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJ0vDqXJkxZHDrXYgc3phdmF6w6FzIGFkYXRvayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnTcOhciBraXTDtmx0w7Z0dGUgYSBrw6lyZMWRw612ZXQuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICdLw6lyZMWRw612bGlzdGEnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICdWYWzDs2JhbiB0w7Zyw7Zsbmkgc3plcmV0bsOpIGV6dCBhIGvDqXJkw6lzdD8gTUlOREVOIGthcGNzb2zDs2TDsyBhZGF0IGVsIGZvZyBWRVNaTkkhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnVmFsw7NiYW4gdMO2csO2bG5pIHN6ZXJldG7DqSBlenQgYSB2w6FsYXN6dD8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnRWd5IGvDqXJkxZHDrXYgbW9kdWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICdFZ3kgbW9kdWwgYSBrw6lyZMWRw612IGvDqXJkw6lzZWluZWsgc3plcmtlc3p0w6lzw6loZXouJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FsbCBwYXJhbWV0ZXJzIGZvciB0aGUgU3VydmV5IG9iamVjdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnQXogw7Zzc3plcyBwYXJhbcOpdGVyIGEga8OpcmTFkcOtdiBvYmpla3R1bWhveiBheiDDvGd5aW50w6l6xZFpIGZlbMO8bGV0ZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ0EgbmFwb2sgc3rDoW1hIGVneSBvbHlhbiBrw6lyZMWRw612IGxldsOpbCBraWvDvGxkw6lzZSB1dMOhbiwgYW1lbHliZW4gbmluY3NlbmVrIMO6aiBrw6lyZMWRw612IGvDqXLDqXNlayBlbGvDvGxkdmUgdWd5YW5hbm5hayBheiDDvGd5ZsOpbG5lay4gQSAwIHbDoWxhc3p0w6FzYSBtaW5kaWcgZWwgZm9namEga8O8bGRlbmkgYSBrw6lyZMWRw612IGxldmVsZXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0F6IMO8Z3lmZWxla25layBheiDDumoga8OpcmTFkcOtdnZlbCBrYXBjc29sYXRiYW4gZWxrw7xsZMO2dHQgw6lydGVzw610xZEgZS1tYWlsIGFsYXDDqXJ0ZWxtZXpldHQgdMO2cnpzZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICdBeiDDvGd5ZmVsZWtuZWsgYXogw7pqIGvDqXJkxZHDrXZ2ZWwga2FwY3NvbGF0YmFuIGVsa8O8bGTDtnR0IMOpcnRlc8OtdMWRIGUtbWFpbCBhbGFww6lydGVsbWV6ZXR0IGvDvGxkxZFqZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnQXogw7xneWZlbGVrbmVrIGF6IMO6aiBrw6lyZMWRw612dmVsIGthcGNzb2xhdGJhbiBlbGvDvGxkw7Z0dCDDqXJ0ZXPDrXTFkSBlLW1haWwgYWxhcMOpcnRlbG1lemV0dCB0w6FyZ3lhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICdFZ3kgw6F0dGVraW50xZEgbW9kdWx0IGhhdMOhcm96IG1lZyBlZ3kga8OpcmTFkcOtdmxpc3RhIGtpcyBuw6l6ZXTDqW5layBtZWdqZWxlbsOtdMOpc8OpaGV6Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICdNZWdoYXTDoXJvenphIGF6b2thdCBhIGNzb3BvcnRva2F0LCBhbWVseWVrbmVrIGpvZ29zdWx0c8OhZ2EgdmFuIGEga8OpcmTFkcOtdiDDoWxsYXBvdMOhbmFrIG1lZ3bDoWx0b3p0YXTDoXPDoXJhLiBBbGFww6lydGVsbWV6ZXR0ZW4gYSB0w7ZtYiDDvHJlcywgw6lzIGF6IMO8Z3lpbnTDqXrFkWsgYXogw7Zzc3plcyBjc29wb3J0YsOzbCBtZWd2w6FsdG96dGF0aGF0asOhayBhIGvDqXJkxZHDrXYgw6FsbGFwb3TDoXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnTWVnaGF0w6Fyb3p6YSwgaG9neSBhIGvDqXJkxZHDrXYga8OpcsOpc2VrIGNzYWsgdmFsw7NkaSDDvGd5ZmVsZWtuZWsgbGVneWVuZWsga2lrw7xsZHZlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnTWVnaGF0w6Fyb3p6YSBhIGvDqXJkxZHDrXZlayBsZWduYWd5b2JiIG1lbm55aXPDqWfDqXQsIGFtZWx5ZXQgMzAgbmFwb250YSBlbGvDvGxkaGV0bmVrIGVneSDDvGd5ZsOpbG5layAoYSAwIGF6dCBqZWxlbnRpLCBob2d5IG5pbmNzIG1heGltdW0sIG1pbmRlbiBrw6lyZMWRw612IGvDqXLDqXMgZWxrw7xsZMOpc3JlIGtlcsO8bCkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnTWVnaGF0w6Fyb3p6YSBhenQgYSBtZW5ueWlzw6lnZXQgw7Nyw6FiYW4sIGFtw61nIGEgamVneWV0IGxlIGtlbGwgesOhcm5pLCBob2d5IGFrdGl2w6FsamEgYSBrw6lyZMWRw612IGtpa8O8bGTDqXPDqXQgKGEgMCBqZWxlbnTDqXNlLCBob2d5IGF6b25uYWwga8O8bGRqZSBhIGxlesOhcsOhcyB1dMOhbikuIE1lZ2plZ3l6w6lzOiBhIGvDqXNsZWx0ZXRldHQga8OpcmTFkcOtdiBraWvDvGxkw6lzw6l0IGF6IE9UT0JPIGTDqW1vbiB2w6lnemkgZWwgYSDigJ5EYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZOKAnSBiZcOhbGzDrXTDoXMgZWzFkXpldGVzIGJla2FwY3NvbMOhc2EgdXTDoW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJ01lZ2hhdMOhcm96emEgYXogb3N6bG9wb2thdCBhIGxlZ8O2cmTDvGzFkSBsaXN0w6Fuw6FsIGEga8O8bGTDqXNpIGZlbHTDqXRlbGVrIMO2c3N6ZcOhbGzDrXTDoXPDoWhveiAoMCA9PiBpbmFrdMOtdiwgMSA9PiBha3TDrXYpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdNZWdoYXTDoXJvenphIGEgUmljaCBUZXh0IG7DqXpldGVrIGFsYXDDqXJ0ZWxtZXpldHQgbWFnYXNzw6Fnw6F0IGEga8OpcmTFkcOtdiBuYWd5w610w6FzIGVsZW1la27DqWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJ01lZ2hhdMOhcm96emEgYXpva2F0IGEgY3NvcG9ydG9rYXQgKMOtcsOhcywgb2x2YXPDoXMpLCBhbWVseWVrIHTDtnLDtmxoZXRpayBhIGvDqXJkxZHDrXYgc3RhdGlzenRpa8Oha2F0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdNZWdoYXTDoXJvenphIGEgUmljaCBUZXh0IG7DqXpldGVrIGxlZ25hZ3lvYmIgbWFnYXNzw6Fnw6F0IGEga8OpcmTFkcOtdiBuYWd5w610w6FzIGVsZW1la27DqWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICdNZWdoYXTDoXJvenphIGEgbWVnamVsZW7DrXRldHQgb3N6bG9wb2thdCBhIGvDqXJkxZHDrXYgw6F0dGVraW50xZFiZW4uIEVubmVrIGEgYmXDoWxsw610w6FzbmFrIG5pbmNzIGhhdMOhc2EgYXogb3N6bG9wb2sgaGVseXpldMOpcmUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICdNZWdoYXTDoXJvenphLCBob2d5IGEgc3RhdGlzenRpa2EgbW9kdWwgZWzFkcOhbGzDrXRoYXQtZSBrw6lyZMWRw612bGlzdMOha2F0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJ0vDqXJkxZHDrXYgw6FsdGFsw6Fub3MgaW5mb3Jtw6FjacOzaW5hayBzemVya2VzenTDqXNlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnS8OpcmTFkcOtdiBrw6lyZMOpc2VrIHN6ZXJrZXN6dMOpc2UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJ0Egc3phdmF6w6FzaSBhZGF0b2sgbWVnamVsZW7DrXTDqXNlIGvDqXBlcm55xZEgZW5nZWTDqWx5ZXrDqXNlIHZhZ3kgbGV0aWx0w6FzYSBhIG55aWx2w6Fub3MgZmVsw7xsZXRlbiBlZ3kgYWRvdHQga8OpcmTFkcOtdmVyZWRtw6lueSBhZGF0YWluYWsgbWVnamVsZW7DrXTDqXPDqWhleiwgYW1pa29yIGF6IMO8Z3lmw6lsIG3DoXNvZHN6b3IgcHLDs2LDoWwgbWVnIHbDoWxhc3pvbG5pIGEga8OpcmTFkcOtdnJlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJ0Ega8O8bGTDqXNpIGZlbHTDqXRlbCBlbGxlbsWRcnrDqXPDqW5layBlbmdlZMOpbHllesOpc2UgdmFneSBsZXRpbHTDoXNhIGEgc3pvbGfDoWx0YXTDoXNuw6FsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ0Ega8O8bGTDqXNpIGZlbHTDqXRlbCBlbGxlbsWRcnrDqXPDqW5layBlbmdlZMOpbHllesOpc2UgdmFneSBsZXRpbHTDoXNhIGEgamVneXTDrXB1c27DoWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0VsxZF0w6l0cHJvZ3JhbSBtb2R1bCByZWdpc3p0csOhY2nDsyBheiDDvGd5aW50w6l6xZFpIGZlbMO8bGV0ZW4gbMOpdsWRIGvDqXJkxZHDrXYgaG96esOhYWTDoXPDoWhvei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0VsxZF0w6l0cHJvZ3JhbSBtb2R1bCByZWdpc3p0csOhY2nDsyBheiDDvGd5aW50w6l6xZFpIGZlbMO8bGV0ZW4gbMOpdsWRIGvDqXJkxZHDrXYgc3plcmtlc3p0w6lzw6loZXouJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRWzFkXTDqXRwcm9ncmFtIG1vZHVsIHJlZ2lzenRyw6FjacOzIGF6IMO8Z3lpbnTDqXrFkWkgZmVsw7xsZXRlbiBsw6l2xZEga8OpcmTFkcOtdiBzdGF0aXN6dGlrw6FraG96Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRWzFkXTDqXRwcm9ncmFtIG1vZHVsIHJlZ2lzenRyw6FjacOzIGF6IMO8Z3lpbnTDqXrFkWkgZmVsw7xsZXRlbiBsw6l2xZEga8OpcmTFkcOtdiBuYWd5w610w6Fzw6Fob3ouJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICdFbMWRdMOpdHByb2dyYW0gbW9kdWwgcmVnaXN6dHLDoWNpw7MgYSBueWlsdsOhbm9zIGvDqXJkxZHDrXYgb2JqZWt0dW1ob3ogYSBueWlsdsOhbm9zIGvDqXJkxZHDrXYgdGVyw7xsZXRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ0hhIGV6IGEgcmVndWzDoXJpcyBraWZlamV6w6lzIGlsbGVzemtlZGlrLCBha2tvciBheiDDvGd5ZsOpbGvDqXJkxZHDrXYgbmVtIGtlcsO8bCBraWvDvGxkw6lzcmUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJ0tvcmzDoXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnUGFyYW3DqXRlcmVrIGEga2lzIGvDqXJkxZHDrXYgw6F0dGVraW50xZEgb2xkYWxhaWhveiAoYW1lbHlla2JlbiBhIGvDqXJkxZHDrXZlayBtZWdqZWxlbm5laykuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnTnlpbHbDoW5vcyBrw6lyZMWRw612Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnQSBiZcOhbGzDrXRvdHQgbmFwb2sgc3rDoW3DoW7DoWwgcsOpZ2ViYmkgZXJlZG3DqW55ZWsgdMO2cmzDqXNyZSBrZXLDvGxuZWsuIE1lZ2plZ3l6w6lzOiBheiBlcmVkbcOpbnllayB0w7ZybMOpc8OpdCBheiBPVE9CTyBkw6ltb24gdsOpZ3ppIGVsIGEg4oCeVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRl4oCdIGJlw6FsbMOtdMOhcyBlbMWRemV0ZXMgYmVrYXBjc29sw6FzYSB1dMOhbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRWd5IGhpdmF0a296w6FzdCBqZWxlbsOtdCBtZWcgYSBtZW7DvGJlbiBlZ3kga8OpcmTFkcOtdiBzemVya2VzenTDqXPDqWhleiBheiDDvGd5aW50w6l6xZFpIGZlbMO8bGV0ZW4gYXogZWxlbSBuYWd5w610w6FzaSBuw6l6ZXTDqWJlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdFZ3kgaGl2YXRrb3rDoXN0IGplbGVuw610IG1lZyBhIG1lbsO8YmVuIGEga8OpcmTFkcOtdiBrw6lyZMOpc2VpbmVrIHN6ZXJrZXN6dMOpc8OpaGV6IGF6IMO8Z3lpbnTDqXrFkWkgZmVsw7xsZXRlbiBheiBlbGVtIG5hZ3nDrXTDoXNpIG7DqXpldMOpYmVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRWd5IGhpdmF0a296w6FzdCBqZWxlbsOtdCBtZWcgYSBtZW7DvGJlbiBheiDDvGd5aW50w6l6xZFpIGZlbMO8bGV0IGvDqXJkxZHDrXYgbmFnecOtdMOhc2kgbsOpemV0w6liZSB2YWzDsyB2aXNzemF0w6lyw6lzaGV6Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gem9vbSBpbnRvIHRoZSBzdXJ2ZXkgc3RhdGlzdGljcyBkZXRhaWxzIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0VneSBoaXZhdGtvesOhc3QgamVsZW7DrXQgbWVnIGEgbWVuw7xiZW4gZWd5IGvDqXJkxZHDrXYgc3RhdGlzenRpa2EgcsOpc3psZXRlaWJlIHZhbMOzIG5hZ3nDrXTDoXNob3ogYXogw7xneWludMOpesWRaSBmZWzDvGxldGVuIGF6IGVsZW0gbmFnecOtdMOhc2kgbsOpemV0w6liZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICdTdGF0aXN6dGlrw6FrIHLDqXN6bGV0ZWknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnS8OpcmTFkcOtdiBob3p6w6FhZMOhcyBtb2R1bC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJ0vDqXJkxZHDrXYgc3plcmtlc3p0w6lzIG1vZHVsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJ0vDqXJkxZHDrXYgw6F0dGVraW50xZEg4oCea2lz4oCdIGtvcmzDoXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICdLw6lyZMWRw612IHN0YXRpc3p0aWvDoWsgbW9kdWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICdLw6lyZMWRw612IG5hZ3nDrXTDoXMgbW9kdWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnT2xkYWxhbmvDqW50aSBrw6lyZMWRw612IGtvcmzDoXQgYSDigJ5raXPigJ0ga8OpcmTFkcOtdiDDoXR0ZWtpbnTFkW7DqWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnQSBrw6lyZMWRw612ZWsgbmVtIGtlcsO8bG5layBlbGvDvGxkw6lzcmUgYSBiZcOhbGzDrXRvdHQgZS1tYWlsIGPDrW1la3JlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAnRWd5IGvDqXJkxZHDrXYgYXpvbm9zw610w7NqYSwgcMOpbGTDoXVsIFN1cnZleSMsIE15U3VydmV5Iy4gQXogYWxhcMOpcnRlbG1lemV0dDogU3VydmV5Iy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICdKZWd5IGVzZW3DqW55IG1vZHVsIGF1dG9tYXRpa3VzIGvDqXJkxZHDrXYgZS1tYWlsIGvDqXLDqXNlayBrw7xsZMOpc8OpaGV6IGF6IMO8Z3lmZWxla25laywgaGEgZWd5IGplZ3kgbGUgdmFuIHrDoXJ2YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJ1TDtnJsw6lzaSBlcmVkbcOpbnllayBha3RpdsOhbMOhc2EgKGJlbGXDqXJ0dmUgYSBzemF2YXphdGkgYWRhdG9rYXQgw6lzIGvDqXLDqXNla2V0KS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJ0vDqXNsZWx0ZXRldHQga8OpcmTFkcOtdmvDqXLDqXNlayBrw7xsZMOpc8OpbmVrIGFrdGl2w6Fsw6FzYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICdOYWd5w610w6FzIGEgc3RhdGlzenRpa8OhayByw6lzemxldGVpYmUuJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/id_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmlkX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0J1YXQgc3VydmV5IGJhcnUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnUGVuZ2FudGFyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICdLZXRhIHBlbmdhbnRhciBzdXJ2ZXkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAnSXNpIG5vdGlmaWthc2knOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICdEZXNrcmlwc2kgaW50ZXJuYWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3VzdG9tZXIgY29uZGl0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgc3VydmV5IGtleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEdlbmVyYWwgSW5mbyd9ID0gJ1ViYWggaW5mb3JtYXNpIHVtdW0nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdVYmFoIHBlcnRhbnlhYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAnQW5kYSBiZXJhZGEgZGlzaW5pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICdQZXJ0YW55YWFuIHN1cnZleSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICdUYW1iYWggcGVydGFueWFhbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICdLZXRpayBwZXJ0YW55YWFubnlhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICdKYXdhYmFuIGRpYnV0dWhrYW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnVGlkYWsgYWRhIHBlcnRhbnlhYW4geWFuZyBkaSBzaW1wYW4gdW50dWsgc3VydmV5IGluaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdQZXJ0YW55YWFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBSZXF1aXJlZCd9ID0gJ0phd2FiYW4gZGlidXR1aGthbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXaGVuIHlvdSBmaW5pc2ggdG8gZWRpdCB0aGUgc3VydmV5IHF1ZXN0aW9ucyBqdXN0IGNsb3NlIHRoaXMgc2NyZWVuLid9ID0KICAgICAgICAnS2V0aWthIGFuZGEgc2VsZXNhaSBtZW5ndWJhaCBwZXJ0YW55YWFuIHN1cnZleSBpbmksIHNpbGFoa2FuIHR1dHVwIHRhbXBpbGFuIGluaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJ1ViYWggcGVydGFueWFhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ0tlbWJhbGkga2UgcGVydGFueWFhbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAnUGVydGFueWFhbjogJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnSmF3YWJhbiB5YW5nIG1lbXVuZ2tpbmthbiB1bnR1ayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAnVGFtYmFoIGphd2FiYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICdUaWRhayBhZGEgamF3YWJhbiB5YW5nIGRpIHNpbXBhbiB1bnR1ayBwZXJ0YW55YWFuIGluaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnVGlkYWsgbWVtaWxpa2kgYmViZXJhcGEgamF3YWJhbiwgYmlkYW5ndGVrcyBha2FuIGRpIHRhbXBpbGthbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICd1YmFoIGphd2FiYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAnS2VtYmFsaSBrZSB1YmFoIHBlcnRhbnlhYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJ0phd2FiYW46JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnSnVtbGFoIG1ha3NpbWFsIHN1cnZleSB5YW5nIGRpIHRhbXBpbGthbiBwZXIgaGFsYW1hbi4nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJ1BlbmdpcmltIG5vdGlmaWthc2kuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnU3ViamVrIG5vdGlmaWthc2knOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ2RpdWJhaCBvbGVoJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ0dhbWJhcmFuIHN0YXR1cyBkYXJpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAnVGFiZWwgcGVybWludGFhbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICdXYWt0dSBwZW5naXJpbWFuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICdXYWt0dSBwZW1pbGloYW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICdMaWhhdCByaW5jaWFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSBzdGF0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAnUmluY2lhbiBzdGF0dXMgc3VydmV5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICdLZW1iYWxpIGtlIGdhbWJhcmFuIHN0YXR1cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICdJbmZvcm1hc2kgc3VydmV5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbnQgcmVxdWVzdHMnfSA9ICdQZXJtaW50YWFuIHlhbmcgdGVsYWggZGlraXJpbSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnU3VydmV5IHlhbmcgZGl0ZXJpbWEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICdSaW5jaWFuIHN1cnZleSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICdMYXlhbmFuIHRpa2V0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnR3JhZmlrIGhhc2lsIHN1cnZleSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnVGlkYWsgYWRhIGhhc2lsIHN0YXQnOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnU3VydmV5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnTW9ob24gamF3YWIgcGVydGFueWFhbiBiZXJpa3V0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICdUYW1waWxrYW4gamF3YWJhbiBzYXlhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICdCZXJpa3V0IGluaSBhZGFsYWggamF3YWJhbiBhbmRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJ0p1ZHVsIHN1cnZleSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnVGFtYmFoa2FuIHN1cnZleSBiYXJ1JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICdVYmFoIHN1cnZleSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAnVWJhaCBwZXJ0YW55YWFuIHN1cnZleSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZZXMvTm8nfSA9ICdZYS9UaWRhayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICdSYWRpbyAoZGFmdGFyKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICdLb3RhayBjZW50YW5nIChkYWZ0YXIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnVGlwZSBwZXJ0YW55YWFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAnTGVuZ2thcC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJ1RpZGFrIGxlbmdrYXAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICdVYmFoIHBlcnRhbnlhYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICdVYmFoIGphd2FiYW4nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAnR2FtYmFyYW4gc3RhdHVzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ1JpbmNpYW4gU3RhdHVzJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnVGlkYWsgZGFwYXQgbWVtYnVhdCBzdGF0dXMgYmFydSEgIFRpZGFrIGFkYSBwZXJ0YW55YWFuIHlhbmcgZGkgZGVmaW5pc2lrYW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ1N0YXR1cyBkaXViYWgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSBUaWRhayBhZGEgYW50cmlhbiB5YW5nIGRpcGlsaWggLSAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0gTWVuZ3ViYWggU3RhdHVzIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnSW5kdWsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ1RpZGFrIHZhbGlkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldyBTdGF0dXMnfSA9ICdTdGF0dXMgYmFydSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICdEZXNrcmlwc2kgc3VydmV5Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ1Rlcmphd2FiJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J25vdCBhbnN3ZXJlZCd9ID0gJ0JlbHVtIGRpamF3YWInOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJ1RlcmltYSBrYXNpaCBhdGFzIHRhbmdnYXBhbiBhbmRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ1N1cnZleSB0ZWxhaCBzZWxlc2FpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICdBbmRhIHRlbGFoIG1lbmphd2FiIHN1cnZleSBpbmkuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICdBcGFrYWggYW5kYSB5YWtpbiBpbmdpbiBtZW5naGFwdXMgcGVydGFueWFhbiBpbmk/IFNFTVVBIGRhdGEgeWFuZyBiZXJodWJ1bmdhbiBha2FuIEhJTEFORyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICdBcGFrYWggYW5kYSB5YWtpbiBpbmdpbiBtZW5naGFwdXMgamF3YWJhbiBpbmk/JzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJ1NlYnVhaCBtb2R1bCBzdXJ2ZXknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ1NlYnVhaCBtb2R1bCB1bnR1ayBtZW5ndWJhaCBqYXdhYmFuIHN1cnZleSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1NlbXVhIHBhcmFtZXRlciB1bnR1ayBvYmplayBzdXJ2ZXkgZGkgYW50YXJtdWthIGFnZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ0p1bWxhaCBoYXJpIHNldGVsYWggbWVuZ2lyaW1rYW4gc3VyYXQgc3VydmV5IGRpbWFuYSB0aWRhayBhZGEgcGVuZ2lyaW1hbiBzdXJ2ZXkgYmFydSBrZXBhZGEgcGVsYW5nZ2FuIHlhbmcgc2FtYS4gTWVtaWxpaCAwIGFrYW4gc2VsYWx1IG1lbmdpcmlta2FuIHN1cmF0IHN1cnZleS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnSXNpIGRlZmF1bHQgdW50dWsgZW1haWwgcGVtYmVyaXRhaHVhbiB0ZW50YW5nIHN1cnZleSBiYXJ1IGtlcGFkYSBwZWxhbmdnYW4gJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnUGVuZ2lyaW0gZGVmYXVsdCB1bnR1ayBlbWFpbCBwZW1iZXJpdGFodWFuIHRlbnRhbmcgc3VydmV5IGJhcnUga2VwYWRhIHBlbGFuZ2dhbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnU3ViamVjdCBkZWZhdWx0IHVudHVrIGVtYWlsIHBlbWJlcml0YWh1YW4gdGVudGFuZyBzdXJ2ZXkgYmFydSBrZXBhZGEgcGVsYW5nZ2FuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICdEZWZpbmlzaWthbiBnYW1iYXJhbiBtb2R1bCB1bnR1ayBtZW5hbXBpbGthbiB0YW1waWxhbiBrZWNpbCBkYWZ0YXIgc3VydmV5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnRGVmaW5pc2lrYW4gSnVtbGFoIHN1cnZleSBtYWtzaW11bSB5YW5nIGRpa2lyaW1rYW4ga2VwYWRhIHBlbGFuZ2dhbiBwZXIgMzAgaGFyaS4gKCAwIGJlcmFydGkgdGlkYWsgYWRhIGJhdGFzIG1ha3NpbXVtLCBzZW11YSBwZXJtaW50YWFuIHN1cnZleSBha2FuIGRpa2lyaW0pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnRGVmaW5pc2lrYW4gdGluZ2dpIGRlZmF1bHQgdW50dWsgdGFtcGlsYW4gUmljaHRleHQgdW50dWsgZWxlbWVuIFN1cnZleVpvb20nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnRGVmaW5pc2lrYW4ga29sb20geWFuZyBkaSB0YW1waWxrYW4gcGFkYSBnYW1iYXJhbiBzdXJ2ZXkuIFBpbGloYW4gaW5pIHRpZGFrIG1lbWlsaWtpIGVmZWsgcGFkYSBwb3Npc2kga29sb20gdGVyc2VidXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICdha3RpZiBhdGF1IG5vbi1ha3RpZmthbiBsYXlhciBTaG93Vm90ZURhdGEgcGFkYSBhbnRhcm11a2EgdW11bSB1bnR1ayBtZW5hbXBpbGthbiBkYXRhIGRhcmkgaGFzaWwgc3VydmV5IHNwZXNpZmlrIGtldGlrYSBwZWxhbmdnYW4gbWVuY3ViYSB1bnR1ayBtZW5qYXdhYiBzdXJ2ZXkga2VkdWEga2FsaW55YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICdBa3RpZiBhdGF1IG5vbi1ha3RpZmthbiBwZW1lcmlrc2FhbiBrb25kaXNpIHBlbmdpcmltYW4gdW50dWsgbGF5YW5hbiB0ZXJzZWJ1dC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICdBa3RpZiBhdGF1IG5vbi1ha3RpZmthbiBwZW1lcmlrc2FhbiBrb25kaXNpIHBlbmdpcmltYW4gdW50dWsgdGlwZSB0aWtldC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUGVuZGFmdGFyYW4gbW9kdWwgZnJvbnRlbmQgIHVudHVrIG1lbmFtYmFoIHN1cnZleSBkaSBhbnRhcm11a2EgYWdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUGVuZGFmdGFyYW4gbW9kdWwgZnJvbnRlbmQgIHVudHVrIG1lbmd1YmFoIHN1cnZleSBkaSBhbnRhcm11a2EgYWdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgc3RhdHMgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1BlbmRhZnRhcmFuIG1vZHVsIGZyb250ZW5kICB1bnR1ayBzdGF0cyBzdXJ2ZXkgZGkgYW50YXJtdWthIGFnZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1BlbmRhZnRhcmFuIG1vZHVsIGZyb250ZW5kICB1bnR1ayB6b29tIHN1cnZleSBkaSBhbnRhcm11a2EgYWdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnUGVuZGFmdGFyYW4gbW9kdWwgZnJvbnRlbmQgIHVudHVrIG9iamVrIFB1YmxpY1N1cnZleSBkaSBhcmVhIHN1cnZleS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ0ppa2EgcmVnZXggaW5pIGNvY29rLCBtYWthIHRpZGFrIGFkYSBzdXJ2ZXkgcGVsYW5nZ2FuIHlhbmcgYWthbiBkaSBraXJpbS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnUGFyYW1ldGVyIHVudHVrIGhhbGFtYW4gKGRpbWFuYSBzdXJ2ZXkgdGVyc2VidXQgZGkgdGFtcGlsa2FuKSBnYW1iYXJhbiBrZWNpbCBzdXJ2ZXkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnU3VydmV5IHVtdW0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdUYW1waWxrYW4gdGF1dGFuIHBhZGEgbWVudSB1bnR1ayBtZW5ndWJhaCBzdXJ2ZXkgcGFkYSB0YW1waWxhbiB6b29tbnlhIGRpIGFudGFyIG11a2EgYWdlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdUYW1waWxrYW4gdGF1dGFuIHBhZGEgbWVudSB1bnR1ayBtZW5ndWJhaCBwZXJ0YW55YWFuIHN1cnZleSBwYWRhIHRhbXBpbGFuIHpvb21ueWEgZGkgYW50YXIgbXVrYSBhZ2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnVGFtcGlsa2FuIHRhdXRhbiBwYWRhIG1lbnUgdW50dWsga2VtYmFsaSBwYWRhIHRhbXBpbGFuIHpvb20gc3VydmV5IGRpIGFudGFyIG11a2EgYWdlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdUYW1waWxrYW4gdGF1dGFuIHBhZGEgbWVudSB1bnR1ayB6b29tIGtlIHJpbmNpYW4gc3RhdGlzdGlrIHN1cnZleSBwYWRhIHRhbXBpbGFuIHpvb21ueWEgZGkgYW50YXIgbXVrYSBhZ2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAnUmluY2lhbiBTdGF0dXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnTW9kdWwgbWVuYW1iYWggc3VydmV5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICdNb2R1bCBtZW5ndWJhaCBzdXJ2ZXknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICdHYW1iYXJhbiBiYXRhcyAiS2VjaWwiIHN1cnZleSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJ01vZHVsIHN0YXRpc3RpayBzdXJ2ZXknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJ01vZHVsIHpvb20gc3VydmV5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnU3VydmV5IHRpZGFrIGFrYW4gZGkga2lyaW0ga2VwYWRhIGFsYW1hdCBlbWFpbCB5YW5nIHRlbGFoIGRpIGtvbmZpZ3VyYXNpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICdQZW5naWRlbnRpZmlrYXNpIHVudHVrIHN1cnZleSwgbWlzYWxueWEgU3VydmV5IywgTXlTdXJ2ZXkjLiBTZWNhcmEgZGVmYXVsdG55YSBTdXJ2ZXkjJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAnTW9kdWwgdGlrZXQgcGVyaXN0aXdhIHVudHVrIHNlY2FyYSBvdG9tYXRpcyBtZW5naXJpbWthbiBwZXJtaW50YWFuIGVtYWlsIHN1cnZleSBrZXBhZGEgcGVsYW5nZ2FuIGppa2EgdGlrZXQgdGVsYWggZGl0dXR1cC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnTXVsYWkgcGVuZ2lyaW1hbiBwZXJtaW50YWFuIHN1cnZleSB5YW5nIHlhbmcgZGl0dW5kYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/it_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Oml0X1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0NyZWF6aW9uZSBudW92byBzb25kYWdnaW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnSW50cm9kdXppb25lJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICdJbnRyb2R1emlvbmUgZGVsIHNvbmRhZ2dpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ0NvcnBvIGRlbCBzb25kYWdnaW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICdEZXNjcml6aW9uZSBhZCB1c28gaW50ZXJubyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnQ29uZGl6aW9uaSBkZWwgY2xpZW50ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJ1NjZWdsaSB1bmEgcHJvcHJpZXTDoCBkZWwgY2xpZW50ZSBwZXIgYWdnaXVuZ2VyZSB1bmEgY29uZGl6aW9uZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICdDaGlhdmUgcGVyIHNvbmRhZ2dpIHB1YmJsaWNpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnRXNlbXBpbyBkaSBzb25kYWdnaW8nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdNb2RpZmljYSBsZSBpbmZvcm1hemlvbmkgZ2VuZXJhbGknOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdNb2RpZmljYSBsZSBkb21hbmRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ1NlaSBxdWknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFF1ZXN0aW9ucyd9ID0gJ1ZvY2kgZGVsIFNvbmRhZ2dpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICdBZ2dpdW5naSBkb21hbmRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAnSW5zZXJpc2NpIGxhIGRvbWFuZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIHJlcXVpcmVkJ30gPSAnUmlzcG9zdGEgcmljaGllc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnTm9uIGNpIHNvbm8gdm9jaSBwZXIgcXVlc3RvIHNvbmRhZ2dpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJ0RvbWFuZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnUmlzcG9zdGEgcmljaGllc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICdRdWFuZG8gY29tcGxldGkgbGEgbW9kaWZpY2EgZGVsbGUgZG9tYW5kZSBkZWwgc29uZGFnZ2lvLCBiYXN0YSBjaGl1ZGVyZSBxdWVzdGEgc2NoZXJtYXRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnTW9kaWZpY2EgZG9tYW5kYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ1JpdG9ybmEgYWxsZSBkb21hbmRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJ0RvbWFuZGE6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnUG9zc2liaWxpIHJpc3Bvc3RlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdBZ2dpdW5naSByaXNwb3N0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJ05lc3N1bmEgcmlzcG9zdGEgc2FsdmF0YSBwZXIgcXVlc3RhIGRvbWFuZGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICdOb24gc29ubyBwcmV2aXN0ZSByaXNwb3N0ZSBtdWx0aXBsZSwgaWwgZGVzdGluYXRhcmlvIGluc2VyaXNjZSBkZWwgdGVzdG8gbGliZXJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnTW9kaWZpY2EgcmlzcG9zdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAnUml0b3JuYSBhIG1vZGlmaWNhcmUgbGUgZG9tYW5kZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnUmlzcG9zdGE6JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJ09wemlvbmkgZGkgcGFub3JhbWljYSBkZWwgc29uZGFnZ2lvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJ1JpY2VyY2EgbmVnbGkgYXR0cmlidXRpIE51bWVybywgVGl0b2xvLCBJbnRyb2R1emlvbmUsIERlc2NyaXppb25lLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgZSBOb3RpZmljYXRpb25Cb2R5LCBzb3ZyYXNjcml2ZW5kbyBhbHRyaSBhdHRyaWJ1dGkgY29uIGxvIHN0ZXNzbyBub21lLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICdTb25kYWdnaW8gQ3JlYXJlIFRlbXBvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnTmVzc3VuYSByZXN0cml6aW9uZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnU29sbyBzb25kYWdnaSBjcmVhdGkgdHJhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJ051bWVybyBtYXNzaW1vIGRpIHNvbmRhZ2dpIHBlciBwYWdpbmEnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJ01pdHRlbnRlIGRlbCBzb25kYWdnaW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICdPZ2dldHRvIGRlbCBzb25kYWdnaW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ01vZGlmaWNhdG8gZGEnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5U3RhdHMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3IG9mJ30gPSAnUmllcGlsb2dvIHN0YXRpc3RpY2hlIGRpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAnVGFiZWxsYSBkZWxsZSByaWNoaWVzdGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJ1NlbGV6aW9uYSB0dXR0ZSBsZSByaWNoaWVzdGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAnRGF0YSBlIE9yYSBkaSBpbnZpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICdEYXRhIGUgT3JhIGRpIGNvbXBpbGF6aW9uZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgdGhpcyByZXF1ZXN0J30gPSAnU2VsZXppb25hIHF1ZXN0YSByaWNoaWVzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICdWZWRpIGkgZGV0dGFnbGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnRWxpbWluYSBsZSBzdGF0aXN0aWNoZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAnRGV0dGFnbGkgc3RhdGlzdGljaSBzdWwgU29uZGFnZ2lvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICdSaXRvcm5hIGFsbGUgc3RhdGlzdGljaGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJ1ZvdG8gcHJlY2VkZW50ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICdWb3RvIHN1Y2Nlc3Npdm8nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAnSW5mb3JtYXppb25pIHN1bCBzb25kYWdnaW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJ1NvbmRhZ2dpIGludmlhdGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjZWl2ZWQgc3VydmV5cyd9ID0gJ1NvbmRhZ2dpIHJpY2V2dXRpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnRGV0dGFnbGkgc3VsIHNvbmRhZ2dpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICdTZXJ2aXppIHRpY2tldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ0dyYWZpY2kgc3VsIHNvbmRhZ2dpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnTm9uIGNpIHNvbm8gcmlzdWx0YXRpIGRhIG1vc3RyYXJlJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ1NvbmRhZ2dpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJ1RpIGNoaWVkaWFtbywgY29ydGVzZW1lbnRlLCBkaSByaXNwb25kZXJlIGEgcXVlc3RlIGRvbWFuZGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvdyBteSBhbnN3ZXJzJ30gPSAnTW9zdHJhIGxlIG1pZSByaXNwb3N0ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnUXVlc3RlIHNvbm8gbGUgdHVlIHJpc3Bvc3RlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJ1RpdG9sbyBkZWwgc29uZGFnZ2lvJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICdBZ2dpdW5naSBudW92byBzb25kYWdnaW8nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnTm9uIGhhaSBpIHBlcm1lc3NpIHBlciBxdWVzdG8gU29uZGFnZ2lvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICdOb24gw6ggc3RhdG8gc3BlY2lmaWNhdG8gdW4gU3VydmV5SUQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICdNb2RpZmljYSBTb25kYWdnaW8nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdFF1ZXN0aW9ucy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJ30gPSAnTm9uIGhhaSBpIHBlcm1lc3NpIHBlciBxdWVzdG8gc29uZGFnZ2lvIG8gZG9tYW5kYSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICdOb24gaGFpIGkgcGVybWVzc2kgcGVyIHF1ZXN0byBzb25kYWdnaW8sIGRvbWFuZGEgbyByaXNwb3N0YSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAnTW9kaWZpY2EgbGUgZG9tYW5kZSBkZWwgc29uZGFnZ2lvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ1PDrC9Obyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICdSYWRpbyAoZWxlbmNvKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICdDYXNlbGxhIGRpIHNlbGV6aW9uZSAoZWxlbmNvKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICdQdW50ZWdnaW8gcHJvbW90b3JlIG5ldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnVGlwbyBkaSBkb21hbmRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAnU29uZGFnZ2kgY29tcGxldGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJ1NvbmRhZ2dpIGluY29tcGxldGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gRWRpdCd9ID0gJ01vZGlmaWNhIGRvbWFuZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICdNb2RpZmljYSByaXNwb3N0YSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICdSaXN1bHRhdGkgc3RhdGlzdGljaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnTm9uIGhhaSBpIHBlcm1lc3NpIHBlciBxdWVzdG8gc29uZGFnZ2lvIG8gcGVyIGkgZGV0dGFnbGkgZGVsbGUgc3RhdGlzdGljaGUhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ0RldHRhZ2xpbyBzdGF0aXN0aWNoZSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJ0ltcG9zc2liaWxlIGltcG9zdGFyZSBpbCBudW92byBzdGF0byEgTmVzc3VuYSBkb21hbmRhIGRlZmluaXRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJ0ltcG9zc2liaWxlIGltcG9zdGFyZSB1biBudW92byBzdGF0byEgRG9tYW5kZSBpbmNvbXBsZXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICdTdGF0byBjYW1iaWF0by4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSBOZXNzdW5hIGNvZGEgc2VsZXppb25hdGEgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICctIE5lc3N1bmEgdGlwb2xvZ2lhIGRpIHRpY2tldCBzZWxlemlvbmF0YSAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJy0gTmVzc3VuIHNlcnZpemlvIGRpIHRpY2tldCBzZWxlemlvbmF0byAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnLSBDYW1iaWEgc3RhdG8gLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICdQcmluY2lwYWxlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICdOb24gdmFsaWRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldyBTdGF0dXMnfSA9ICdOdW92byBzdGF0byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICdEZXNjcml6aW9uZSBkZWwgc29uZGFnZ2lvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2Fuc3dlcmVkJ30gPSAncmlzcG9zdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnbm9uIHJpc3Bvc3RhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICdHcmF6aWUgcGVyIGlsIHR1byByaXNjb250cm8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnSWwgc29uZGFnZ2lvIMOoIHRlcm1pbmF0by4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICdMYSBjaGlhdmUgZGkgc29uZGFnZ2lvIGluc2VyaXRhIG5vbiDDqCB2YWxpZGEsIHNlIGhhaSBzZWd1aXRvIHVuIGxpbmsgZm9yc2Ugw6ggb2Jzb2xldG8gbyByb3R0by4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnSGFpIGdpw6AgcmlzcG9zdG8gYWwgc29uZGFnZ2lvLic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnTGlzdGEgZGVpIHNvbmRhZ2dpJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAnVnVvaSBkYXZ2ZXJvIGVsaW1pbmFyZSBxdWVzdGEgZG9tYW5kYT8gVFVUVEkgaSBkYXRpIGFzc29jaWF0aSBzYXJhbm5vIFBFUlNJISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJ1Z1b2kgZGF2dmVybyBlbGltaW5hcmUgcXVlc3RhIHJpc3Bvc3RhPyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICdVbiBtb2R1bG8gcGVyIGkgc29uZGFnZ2kuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICdVbiBtb2R1bG8gcGVyIG1vZGlmaWNhcmUgbGUgZG9tYW5kZSBkZWkgc29uZGFnZ2kuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FsbCBwYXJhbWV0ZXJzIGZvciB0aGUgU3VydmV5IG9iamVjdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnVHV0dGkgaSBwYXJhbWV0cmkgZGVsIHNvbmRhZ2dpbyBuZWxsXCdpbnRlcmZhY2NpYSBBZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ051bWVybyBkaSBnaW9ybmkgZG9wbyBsXCdpbnZpbyBkaSB1biBzb25nZ2lvIGluIGN1aSBub24gdmVycmFubm8gaW52aWF0ZSBudW92ZSByaWNoaWVzdGUgYWxsbyBzdGVzc28gY2xpZW50ZSAoMCBpbnZpZXLDoCBpIHNvbmRhZ2dpIHNlbXByZSkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0NvcnBvIGRlbCB0ZXN0byBkaSBkZWZhdWx0IHBlciBsYSBub3RpZmljYSB2aWEgZW1haWwgYWwgY2xpZW50ZSByaWd1YXJkbyB1biBudW92byBzb25kYWdnaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnTWl0dGVudGUgZGkgZGVmYXVsdCBwZXIgbGEgbm90aWZpY2EgdmlhIGVtYWlsIGFsIGNsaWVudGUgcmlndWFyZG8gdW4gbnVvdm8gc29uZGFnZ2lvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICdPZ2dldHRvIGRpIGRlZmF1bHQgcGVyIGxhIG5vdGlmaWNhIHZpYSBlbWFpbCBhbCBjbGllbnRlIHJpZ3VhcmRvIHVuIG51b3ZvIHNvbmRhZ2dpby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnRGVmaW5pc2NlIGlsIG1vZHVsbyBwZXIgbW9zdHJhcmUgbGEgdmlzdWFsaXp6YXppb25lIGNvbXBhdHRhIGRpIHVuYSBsaXN0YSBkaSBzb25kYWdnaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBncm91cHMgd2hpY2ggaGF2ZSBhIHBlcm1pc3Npb24gdG8gY2hhbmdlIHN1cnZleSBzdGF0dXMuIEFycmF5IGlzIGVtcHR5IGJ5IGRlZmF1bHQgYW5kIGFnZW50cyBmcm9tIGFsbCBncm91cHMgY2FuIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLid9ID0KICAgICAgICAnRGVmaW5pc2NlIGkgZ3J1cHBpIGNoZSBkaXNwb25nb25vIGRlbGxcJ2F1dG9yaXp6YXppb25lIHBlciBtb2RpZmljYXJlIGxvIHN0YXRvIGRlbCBzb25kYWdnaW8uIExhIG1hdHJpY2Ugw6ggdnVvdGEgcGVyIGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSBlIGdsaSBhZ2VudGkgZGkgdHV0dGkgaSBncnVwcGkgcG9zc29ubyBtb2RpZmljYXJlIGxvIHN0YXRvIGRlbCBzb25kYWdnaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnRGVmaW5pc2NlIHNlIGxlIHJpY2hpZXN0ZSBkaSBzb25kYWdnaW8gdmVycmFubm8gaW52aWF0ZSBzb2xvIGEgY2xpZW50aSByZWFsaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJ0RlZmluaXNjaSBpbCBudW1lcm8gbWFzc2ltbyBkaSBzb25kYWdnaSBjaGUgcG9zc29ubyBlc3NlcmUgaW52aWF0aSBhbCBjbGllbnRlIGluIHVuIGludGVydmFsbG8gZGkgMzAgZ2lvcm5pICgwIGluZGljYSB1biBudW1lcm8gaWxsaW1pdGF0bywgdHV0dGkgaSBzb25kYWdnaSBzYXJhbm5vIGludmlhdGkpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJ0RlZmluaXNjaSBpbCBudW1lcm8gZGkgb3JlIGRvcG8gbGEgY2hpdXN1cmEgZGVsIHRpY2tldCBwZXIgbFwnaW52aW8gZGVsIHNvbmRhZ2dpbyAoMCBpbmRpY2EgbFwnaW52aW8gaW1tZWRpYXRvIGRvcG8gbGEgY2hpdXN1cmEpLiBOb3RhOiBsXCdpbnZpbyByaXRhcmRhdG8gZGVpIHNvbmRhZ2dpIHZpZW5lIGVzZWd1aXRvIGRhbCBEYWVtb24gT1RPQk8gY29uIGxcJ2F0dGl2YXppb25lIGRlbGxhIHByZWZlcmVuemEgIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAnRGVmaW5pc2NlIGxlIGNvbG9ubmUgcGVyIGxcJ2VsZW5jbyBhIGRpc2Nlc2EgcGVyIGxhIGNyZWF6aW9uZSBkZWxsZSBjb25kaXppb25pIGRpIGludmlvICgwID0+IGluYXR0aXZvLCAxID0+IGF0dGl2bykuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJ0RlZmluaXNjZSBsXCdhbHRlenphIGRpIGRlZmF1bHQgcGVyIGxhIHZpc3RhIGNvbXBsZXRhIHBlciBnbGkgZWxlbWVudGkgU3VydmV5Wm9vbS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnRGVmaW5pc2NlIGkgZ3J1cHBpIChydykgY2hlIHBvc3Nvbm8gZWxpbWluYXJlIGxlIHN0YXRpc3RpY2hlIGRlbCBzb25kYWdnaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJ0RlZmluaXNjZSBsXCdhbHRlenphIG1hc3NpbWEgcGVyIGxlIHZpc3RlIFJpY2h0ZXh0IHBlciBnbGkgZWxlbWVudGkgU3VydmV5Wm9vbS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJ0RlZmluaXNjZSBsZSBjb2xvbm5lIHZpc3VhbGl6emF0ZSBuZWxsYSBwYW5vcmFtaWNhIGRlbCBzb25kYWdnaW8uIFF1ZXN0YSBvcHppb25lIG5vbiBoYSBhbGN1biBlZmZldHRvIHN1bGxhIHBvc2l6aW9uZSBkZWxsZSBjb2xvbm5lLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAnRGV0ZXJtaW5hIHNlIGlsIG1vZHVsbyBzdGF0aXN0aWNvIHB1w7IgZ2VuZXJhcmUgZWxlbmNoaSBkaSBzb25kYWdnaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICdNb2RpZmljYSBsZSBpbmZvcm1hemlvbmkgZ2VuZXJhbGkgZGVsIHNvbmRhZ2dpby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ01vZGlmaWNhIGRvbWFuZGUgZGVsIHNvbmRhZ2dpby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAnQWJpbGl0YSBvIGRpc2FiaWxpdGEgaWwgY29udHJvbGxvIGRlbGxhIGNvbmRpemlvbmUgZGkgaW52aW8gcGVyIGlsIHNlcnZpemlvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ0FiaWxpdGEgbyBkaXNhYmlsaXRhIGlsIGNvbnRyb2xsbyBkZWxsYSBjb25kaXppb25lIGRpIGludmlvIHBlciBpbCB0aXBvIGRpIHRpY2tldC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUmVnaXN0cmF6aW9uZSBkZWwgbW9kdWxvIGZyb250ZW5kIHBlciBsXCdpbmRhZ2luZSBhZ2dpdW50YSBuZWxsXCdpbnRlcmZhY2NpYSBhZ2VudGkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZWdpc3RyYXppb25lIGRlbCBtb2R1bG8gZnJvbnRlbmQgcGVyIGxhIG1vZGlmaWNhIGRlbGxcJ2luZGFnaW5lIG5lbGxcJ2ludGVyZmFjY2lhIGFnZW50aS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZWdpc3RyYXppb25lIGRlbCBtb2R1bG8gZnJvbnRlbmQgcGVyIGxlIHN0YXRpc3RpY2hlIGRlbCBzb25kYWdnaW8gbmVsbFwnaW50ZXJmYWNjaWEgYWdlbnRpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTW9kdWxvIGRpIHJlZ2lzdHJhemlvbmUgcGVyIGlsIHNvbmRhZ2dpbyBuZWxsXCdhcmVhIEFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ01vZHVsbyBkaSByZWdpc3RyYXppb25lIHBlciBpbCBzb25kYWdnaW8gbmVsbFwnYXJlYSBkaSBTb25kYWdnaSBQdWJibGljaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ1NlIHF1ZXN0YSBzb3R0b3N0cmluZ2EgdmllbmUgcmljb25vc2NpdXRhLCBpbCBzb25kYWdnaW8gbm9uIHZpZW5lIGludmlhdG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJ0xpbWl0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICdQYXJhbWV0cmkgcGVyIGxhIHZpc3VhbGl6emF6aW9uZSAiY29tcGF0dGEiLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJ1NvbmRhZ2dpbyBwdWJibGljby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJ0kgcmlzdWx0YXRpIHBpw7kgdmVjY2hpIGRlbCBudW1lcm8gZGkgZ2lvcm5pIGNvbmZpZ3VyYXRvIHZlcnJhbm5vIGVsaW1pbmF0aS4gTm90YTogZWxpbWluYXJlIGkgcmlzdWx0YXRpIG90dGVudXRpIGRhbCBkZW1vbmUgT1RPQk8sIHByaW1hIGRlbGxcJ2F0dGl2YXppb25lIGRlbGxcJ2ltcG9zdGF6aW9uZSBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNb3N0cmEgdW4gY29sbGVnYW1lbnRvIG5lbCBtZW51IHBlciBtb2RpZmljYXJlIHVuIHNvbmRhZ2dpbyBuZWxsYSBzdWEgdmlzdGEgem9vbSBkZWxsXCdpbnRlcmZhY2NpYSBhZ2VudGkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTW9zdHJhIHVuIGNvbGxlZ2FtZW50byBuZWwgbWVudSBwZXIgbW9kaWZpY2FyZSBsZSBkb21hbmRlIGRlbCBzb25kYWdnaW8gbmVsbGEgc3VhIHZpc3RhIHpvb20gZGVsbFwnaW50ZXJmYWNjaWEgYWdlbnRpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTW9zdHJhIHVuIGNvbGxlZ2FtZW50byBuZWwgbWVudSBwZXIgdG9ybmFyZSBpbmRpZXRybyBuZWxsYSB2aXN0YSBkaSB6b29tIGRlbGxcJ2luZGFnaW5lIGRlbGxcJ2ludGVyZmFjY2lhIGFnZW50aS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNb3N0cmEgdW4gY29sbGVnYW1lbnRvIG5lbCBtZW51IHBlciBpbmdyYW5kaXJlIGkgZGV0dGFnbGkgZGVsbGUgc3RhdGlzdGljaGUgZGVsbFwnaW5kYWdpbmUgbmVsbGEgc3VhIHZpc3RhIGRpIHpvb20gZGVsbFwnaW50ZXJmYWNjaWEgYWdlbnRpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAnRGV0dGFnbGkgc3RhdGlzdGljaGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnTW9kdWxvIGRpIGFnZ2l1bnRhIGRlaSBzb25kYWdnaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJ01vZHVsbyBkaSBtb2RpZmljYSBkZWkgc29uZGFnZ2kuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnTGltaXRlIHBlciB2aXN1YWxpenphemlvbmUgImNvbXBhdHRhIi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICdNb2R1bG8gZGkgc3RhdGlzdGljaGUgZGVpIHNvbmRhZ2dpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnTW9kdWxvIGRpIHpvb20gcGVyIGkgc29uZGFnZ2kuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnTGltaXRlIHNvbmRhZ2dpbyBwZXIgcGFnaW5hIHBlciBQYW5vcmFtaWNhIHNvbmRhZ2dpbyAiUGljY29sbyIuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnSSBzb25kYWdnaSBub24gc2FyYW5ubyBpbnZpYXRpIGFnbGkgaW5kaXJpenppIGVtYWlsIGNvbmZpZ3VyYXRpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAnSWRlbnRpZmljYXRpdm8gcGVyIGlsIHNvbmRhZ2dpbywgcGVyIGVzZW1waW8gU29uZGFnZ2lvIywgSW5jaGllc3RhIy4gSWwgZGVmYXVsdCBTb25kYWdnaW8jLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgZXZlbnQgbW9kdWxlIHRvIHNlbmQgYXV0b21hdGljYWxseSBzdXJ2ZXkgZW1haWwgcmVxdWVzdHMgdG8gY3VzdG9tZXJzIGlmIGEgdGlja2V0IGlzIGNsb3NlZC4nfSA9CiAgICAgICAgJ01vZHVsbyBldmVudG8gdGlja2V0IHBlciBpbnZpYXJlIGF1dG9tYXRpY2FtZW50ZSByaWNoaWVzdGUgZGkgZS1tYWlsIGRpIHNvbmRhZ2dpbyBhaSBjbGllbnRpIHNlIHVuIHRpY2tldCB2aWVuZSBjaGl1c28uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICdBdHRpdmEgaSByaXN1bHRhdGkgZGVsbFwnZWxpbWluYXppb25lIChpbmNsdXNpIGkgZGF0aSBlIGxlIHJpY2hpZXN0ZSBkaSB2b3RvKS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJ0F0dGl2YSBsXCdpbnZpbyBkaSByaWNoaWVzdGUgZGkgc29uZGFnZ2kgcml0YXJkYXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJ0luZ3JhbmRpc2NpIGkgZGV0dGFnbGkgZGVsbGUgc3RhdGlzdGljaGUuJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/ja_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmphX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ+aWsOimj+OCouODs+OCseODvOODiOOBruS9nOaIkCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICfjga/jgZjjgoHjgasnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJ+OCouODs+OCseODvOODiOOBrue0ueS7i+aWhyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ+mAmuefpeOBruacrOaWhyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ+WGhemDqOWQkeOBkeiqrOaYjic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAn44GK5a6i5qeY44Gu5p2h5Lu2JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAn5p2h5Lu244KS6L+95Yqg44GZ44KL44Gr44Gv44CB6aGn5a6i44OX44Ot44OR44OG44Kj44KS6YG45oqe44GX44Gm5LiL44GV44GE44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAn5YWs6ZaL44Ki44Oz44Kx44O844OI44Kt44O8JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAn44Ki44Oz44Kx44O844OI5L6LJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAn5LiA6Iis5oOF5aCx44Gu57eo6ZuGJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAn6LOq5ZWP44Gu57eo6ZuGJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ+OBguOBquOBn+OBruePvuWcqOWcsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAn44Ki44Oz44Kx44O844OI6LOq5ZWPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ+izquWVj+OBrui/veWKoCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ+izquWVj+OBruWFpeWKmyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICflm57nrZTlv4XpoIjjgafjgZknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICfjgZPjga7jgqLjg7PjgrHjg7zjg4jjgavlr77jgZnjgovos6rllY/jgYzkv53lrZjjgZXjgozjgabjgYTjgb7jgZvjgpPjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICfos6rllY8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAn5Zue562U44GM5b+F6aCI44Gu6aCF55uu44Gn44GZJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICfjgZPjga7jgqLjg7PjgrHjg7zjg4jjga7oqK3llY/jgpLnt6jpm4bjgZfjgZ/jgonjgIHnlLvpnaLjgpLplonjgZjjgabkuIvjgZXjgYTjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICfjgZPjga7jgqbjgqTjg7Pjg4njgqbjgpLplonjgZjjgabkuIvjgZXjgYTjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJ+izquWVj+e3qOmbhic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ+izquWVj+OBuOaIu+OCiyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICfoqK3llY86JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAn6YG45oqe6IKiJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICflm57nrZTjga7ov73liqAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICfjgZPjga7os6rllY/jgbjjga7lm57nrZTjga/jgb7jgaDjgYLjgorjgb7jgZvjgpPjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ+OBk+OBruizquWVj+OBq+OBr+mBuOaKnuiCouOBjOOBguOCiuOBvuOBm+OCk+OAguODhuOCreOCueODiOOCqOODquOCouOBjOihqOekuuOBleOCjOOBvuOBmeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJ+WbnuetlOOBrue3qOmbhic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIGVkaXQgcXVlc3Rpb24nfSA9ICfos6rllY/jga7nt6jpm4bjgavmiLvjgosnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJ+WbnuetlDonOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAn44Ki44Oz44Kx44O844OI44Gu5qaC6KaB44Kq44OX44K344On44OzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJ051bWJlcuOAgVRpdGxl44CBSW50cm9kdWN0aW9u44CBRGVzY3JpcHRpb27jgIFOb3RpZmljYXRpb25TZW5kZXLjgIFOb3RpZmljYXRpb25TdWJqZWN044CBTm90aWZpY2F0aW9uQm9keeOBruWQhOWxnuaAp+OCkuaknOe0ouOBl+OAgeWQjOOBmOWQjeWJjeOBruS7luOBruWxnuaAp+OCkuOCquODvOODkOODvOODqeOCpOODieOBl+OBvuOBmeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICfjgqLjg7PjgrHjg7zjg4jkvZzmiJDmmYLplpMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICfliLbpmZDjgarjgZcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJ+acn+mWk+OBq+S9nOaIkOOBleOCjOOBn+OCouODs+OCseODvOODiOOBruOBvyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICfjg5rjg7zjgrjjgYLjgZ/jgorjga7mnIDlpKfmlbAnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJ+mAmuefpeOBrumAgeS/oeiAhSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJ+mAmuefpeOBruS7tuWQjSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAn5pu05paw6ICFJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ+e1seioiOS4gOimpyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ+WbnuetlOS4gOimpyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAn5YWo44Gm44Gu44Oq44Kv44Ko44K544OI44KS6YG45oqe44GX44Gm5LiL44GV44GE44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJ+mAgeS/oeaXpeaZgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICfov5Tkv6Hml6XmmYInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJ+OBk+OBruODquOCr+OCqOOCueODiOOCkumBuOaKnuOBl+OBpuS4i+OBleOBhOOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJ+ips+e0sOOCkueiuuiqjSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICfntbHoqIjjgpLliYrpmaQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJ+OCouODs+OCseODvOODiOe1seioiOOBruips+e0sCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAn57Wx6KiI5LiA6Kan44Gr5oi744KLJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICfliY3jga7mipXnpagnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAn5qyh44Gu5oqV56WoJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVpvb20KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbmZvcm1hdGlvbid9ID0gJ+OCouODs+OCseODvOODiOOBruaDheWgsSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAn6YCB5L+h5pWwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICfov5Tkv6HmlbAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICfjgqLjg7PjgrHjg7zjg4jjga7oqbPntLAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAn44OB44Kx44OD44OI44O744K144O844OT44K5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAn44Ki44Oz44Kx44O844OI57WQ5p6c44Gu44Kw44Op44OVJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICfntbHoqIjntZDmnpzjgYzjgYLjgorjgb7jgZvjgpPjgIInOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAn44Ki44Oz44Kx44O844OIJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAn44GT44KM44KJ44Gu6LOq5ZWP44Gr5Zue562U44GX44Gm44GP44Gg44GV44GE44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJ+mBjuWOu+OBruWbnuetlOOCkuihqOekuic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAn44GT44KM44KJ44Gv6YGO5Y6744Gr5Zue562U44GV44KM44Gf44KC44Gu44Gn44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJ+OCouODs+OCseODvOODiOOBruOCv+OCpOODiOODqyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAn5paw6KaP44Ki44Oz44Kx44O844OI44Gu6L+95YqgJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJ+OBguOBquOBn+OBr+OBk+OBruOCouODs+OCseODvOODiOOBruaoqemZkOOBjOOBguOCiuOBvuOBm+OCk++8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICdTdXJ2ZXlJROOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCk++8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ+OCouODs+OCseODvOODiOOBrue3qOmbhic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICfjgYLjgarjgZ/jga/jgZPjga7jgqLjg7PjgrHjg7zjg4jjgoTos6rllY/jga7mqKnpmZDjgYzjgYLjgorjgb7jgZvjgpPvvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICfjgYLjgarjgZ/jga/jgZPjga7jgqLjg7PjgrHjg7zjg4jjgIHos6rllY/jgIHjgb7jgZ/jga/lm57nrZTjga7mqKnpmZDjgYzjgYLjgorjgb7jgZvjgpPvvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAn44Ki44Oz44Kx44O844OI44Gu6LOq5ZWP44KS57eo6ZuGJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ+OBr+OBhC/jgYTjgYTjgYgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAn44Op44K444Kq44Oc44K/44OzICjkuIDopqcpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoZWNrYm94IChMaXN0KSd9ID0gJ+ODgeOCp+ODg+OCr+ODnOODg+OCr+OCuSAo5LiA6KanKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICfjg43jg4Pjg4jjg7vjg5fjg63jg6Ljg7zjgr/jg7zjg7vjgrnjgrPjgqInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJ+izquWVj+OCv+OCpOODlyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJ+WujOaIkCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAn5pyq5a6M5oiQJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICfos6rllY/jga7nt6jpm4YnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICflm57nrZTjga7nt6jpm4YnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAn57Wx6KiI5LiA6KanJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICfjgYLjgarjgZ/jga/jgIHjgZPjga7jgqLjg7PjgrHjg7zjg4jjgb7jgZ/jga/oqbPntLDjgrnjg4bjg7zjgr/jgrnjgbjjga7mqKnpmZDjgYzjgYLjgorjgb7jgZvjgpPvvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAn57Wx6KiI44Gu6Kmz57SwJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAn5paw44GX44GE54q25oWL44KS6Kit5a6a44Gn44GN44G+44Gb44KTISDos6rllY/jgYzlrprnvqnjgZXjgozjgabjgYTjgb7jgZvjgpPjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICfmlrDjgZfjgYTnirbmhYvjgpLoqK3lrprjgafjgY3jgb7jgZvjgpMhIOioreWVj+OBjOS4jeWujOWFqOOBp+OBmeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICfnirbmhYvjgYzlpInmm7TjgZXjgozjgb7jgZfjgZ/jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAn44Kt44Ol44O844GM6YG45oqe44GV44KM44Gm44GE44G+44Gb44KTJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJy0g44OB44Kx44OD44OI44K/44Kk44OX44KS6YG45oqe44GX44Gm44GP44Gg44GV44GEIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnLSDjg4HjgrHjg4Pjg4jjgrXjg7zjg5PjgrnjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYQgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0g44K544OG44O844K/44K55aSJ5pu0IC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAn44Oe44K544K/44O8JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICfnhKHlirknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ+aWsOOBl+OBhOeKtuazgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICfjgqLjg7PjgrHjg7zjg4jjga7oqqzmmI4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICflm57nrZTjgYLjgoonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAn5Zue562U44Gq44GXJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICfjg5XjgqPjg7zjg4njg5Djg4Pjgq/jgYTjgZ/jgaDjgY3jgYLjgorjgYzjgajjgYbjgZTjgZbjgYTjgb7jgZfjgZ/jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICfjgqLjg7PjgrHjg7zjg4jjgYzlrozkuobjgZfjgb7jgZfjgZ/jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAn44Ki44Oz44Kx44O844OI44Gu44Oh44OD44K744O844K4ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNb2R1bGUgbm90IGVuYWJsZWQuJ30gPSAn44Oi44K444Ol44O844Or44GM5pyJ5Yq544Gr44Gq44Gj44Gm44GE44G+44Gb44KT44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCwgcGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLid9ID0KICAgICAgICAn44GT44Gu5qmf6IO944Gv5pyJ5Yq544Gr44Gq44Gj44Gm44GE44G+44Gb44KT44CC566h55CG6ICF44Gr6YCj57Wh44GX44Gm5LiL44GV44GE44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFcnJvciEnfSA9ICfoqr/mn7vjga7jgqjjg6njg7zvvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJ+OCouODs+OCseODvOODiOODu+OCreODvOOBjOeEoeWKueOBp+OBmeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAn5oy/5YWl44GV44KM44Gf44Ki44Oz44Kx44O844OI44O744Kt44O844Gv54Sh5Yq544Gn44GZ44CC44Oq44Oz44Kv44KS44Gf44Gp44Gj44Gf5aC05ZCI44CB44GT44KM44Gv5pmC5Luj6YGF44KM44Gn44GC44KL44GL56C05pCN44GX44Gm44GE44KL5Y+v6IO95oCn44GM44GC44KK44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAn44Ki44Oz44Kx44O844OI5oqV56WoJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlIERhdGEnfSA9ICfjgqLjg7PjgrHjg7zjg4jmipXnpajjg4fjg7zjgr8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgYWxyZWFkeSBhbnN3ZXJlZCB0aGUgc3VydmV5Lid9ID0gJ+OCouODs+OCseODvOODiOOBq+WbnuetlOa4iOOBv+OBp+OBmeOAgic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAn44Ki44Oz44Kx44O844OI44O744Oq44K544OIJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAn44GT44Gu6LOq5ZWP44KS5pys5b2T44Gr5YmK6Zmk44GX44Gm44KC44GE44GE44Gn44GZ44GL77yf44CA6Zai6YCj44GX44Gm44GE44KL44GZ44G544Gm44Gu44OH44O844K/44O844GM5aSx44KP44KM44G+44GZISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJ+acrOW9k+OBq+OBk+OBruetlOOBiOOCkuWJiumZpOOBl+OBpuOCguOBhOOBhOOBp+OBmeOBi++8nyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICfjgqLjg7PjgrHjg7zjg4jjg7vjg6Ljgrjjg6Xjg7zjg6snOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ+OCouODs+OCseODvOODiOizquWVj+OCkue3qOmbhuOBmeOCi+ODouOCuOODpeODvOODqyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+aLheW9k+iAheOCpOODs+OCv+ODleOCp+ODvOOCueOBq+OBiuOBkeOCiyBTdXJ2ZXkg44Kq44OW44K444Kn44Kv44OI44Gu44GZ44G544Gm44Gu44OR44Op44Oh44O844K/44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ+OCouODs+OCseODvOODiOODoeODvOODq+OCkumAgeS/oeOBl+OBpuOBi+OCieOAgeWQjOOBmOmhp+WuouOBq+aWsOOBl+OBhOOCouODs+OCseODvOODiOS+nemgvOOCkumAgeS/oeOBl+OBquOBhOaXpeaVsOOAgjAg44KS6YG45oqe44GZ44KL44Go44CB5bi444Gr44Ki44Oz44Kx44O844OI44Oh44O844Or44GM6YCB5L+h44GV44KM44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ+aWsOOBl+OBhOOCouODs+OCseODvOODiOOBq+OBpOOBhOOBpumhp+WuouOBq+mAgeS/oeOBmeOCi+mAmuefpeODoeODvOODq+OBruODh+ODleOCqeODq+ODiOOBruacrOaWh+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ+aWsOOBl+OBhOOCouODs+OCseODvOODiOOBq+OBpOOBhOOBpumhp+WuouOBq+mAgeS/oeOBmeOCi+mAmuefpeODoeODvOODq+OBruODh+ODleOCqeODq+ODiOOBrumAgeS/oeiAheOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICfmlrDjgZfjgYTjgqLjg7PjgrHjg7zjg4jjgavjgaTjgYTjgabpoaflrqLjgavpgIHkv6HjgZnjgovpgJrnn6Xjg6Hjg7zjg6vjga7jg4fjg5Xjgqnjg6vjg4jjga7ku7blkI3jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAn44Ki44Oz44Kx44O844OI5LiA6Kan44KS5bCP44K144Kk44K644Gn6KGo56S644GZ44KL5LiA6Kan44Oi44K444Ol44O844Or44KS5a6a576p44GX44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJ+OCouODs+OCseODvOODiOOBruOCueODhuODvOOCv+OCueOCkuWkieabtOOBmeOCi+aoqemZkOOCkuaMgeOBpOOCsOODq+ODvOODl+OCkuWumue+qeOBl+OBvuOBmeOAguODh+ODleOCqeODq+ODiOOBp+OBr+mFjeWIl+OBr+epuuOBp+OAgeOBmeOBueOBpuOBruOCsOODq+ODvOODl+OBruaLheW9k+iAheOBjOOCouODs+OCseODvOODiOOBruOCueODhuODvOOCv+OCueOCkuWkieabtOOBp+OBjeOBvuOBmeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJ+OCouODs+OCseODvOODiOS+nemgvOOCkuWun+WcqOOBrumhp+WuouOBq+OBruOBv+mAgeS/oeOBmeOCi+OBi+OBqeOBhuOBi+OCkuWumue+qeOBl+OBvuOBmeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnMzDml6XplpPjgasx5Lq644Gu6aGn5a6i44Gr6YCB5L+h44GZ44KL44Ki44Oz44Kx44O844OI44Gu5pyA5aSn5pWw44KS5a6a576p44GX44G+44GZ77yIMCDjga/kuIrpmZDjgarjgZfjgafjgIHjgZnjgbnjgabjga7jgqLjg7PjgrHjg7zjg4jkvp3poLzjgYzpgIHkv6HjgZXjgozjgb7jgZnvvInjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgYW1vdW50IGluIGhvdXJzIGEgdGlja2V0IGhhcyB0byBiZSBjbG9zZWQgdG8gdHJpZ2dlciB0aGUgc2VuZGluZyBvZiBhIHN1cnZleSwgKCAwIG1lYW5zIHNlbmQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2xvc2UgKS4gTm90ZTogZGVsYXllZCBzdXJ2ZXkgc2VuZGluZyBpcyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZFwnIHNldHRpbmcuJ30gPQogICAgICAgICfjgqLjg7PjgrHjg7zjg4jjga7pgIHkv6HjgpLjg4jjg6rjgqzjg7zjgZnjgovjgZ/jgoHjgavjgIHjg4HjgrHjg4Pjg4jjgYzjgq/jg63jg7zjgrrjgZXjgozjgabjgYvjgonntYzpgY7jgZfjgabjgYTjgovlv4XopoHjgYzjgYLjgovmmYLplpPmlbDjgpLlrprnvqnjgZfjgb7jgZnvvIgwIOOBr+OCr+ODreODvOOCuuebtOW+jOOBq+mAgeS/oe+8ieOAguazqOaEjzog6YGF5bu26YCB5L+h44GvIE9UT0JPIOODh+ODvOODouODs+OBq+OCiOOBo+OBpuihjOOCj+OCjOOCi+OBn+OCgeOAgeS6i+WJjeOBqyBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcg6Kit5a6a44KS5pyJ5Yq544Gr44GX44Gm44GP44Gg44GV44GE44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJ+mAgeS/oeadoeS7tuOCkuS9nOaIkOOBmeOCi+OBn+OCgeOBruODieODreODg+ODl+ODgOOCpuODs+ODquOCueODiOOBruWIl+OCkuWumue+qeOBl+OBvuOBme+8iDAgPT4g54Sh5Yq544CBMSA9PiDmnInlirnvvInjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnU3VydmV5Wm9vbSDopoHntKDjga7jg6rjg4Pjg4Hjg4bjgq3jgrnjg4jooajnpLrjga7jg4fjg5Xjgqnjg6vjg4jjga7pq5jjgZXjgpLlrprnvqnjgZfjgb7jgZnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAn44Ki44Oz44Kx44O844OI57Wx6KiI44KS5YmK6Zmk44Gn44GN44KL44Kw44Or44O844OX77yIcnfvvInjgpLlrprnvqnjgZfjgb7jgZnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnU3VydmV5Wm9vbSDopoHntKDjga7jg6rjg4Pjg4Hjg4bjgq3jgrnjg4jooajnpLrjga7mnIDlpKfjga7pq5jjgZXjgpLlrprnvqnjgZfjgb7jgZnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJ+OCouODs+OCseODvOODiOS4gOimp+OBq+ihqOekuuOBmeOCi+WIl+OCkuWumue+qeOBl+OBvuOBmeOAguOBk+OBruOCquODl+OCt+ODp+ODs+OBr+WIl+OBruS9jee9ruOBq+OBr+W9semfv+OBl+OBvuOBm+OCk+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAn57Wx6KiI44Oi44K444Ol44O844Or44Gn44Ki44Oz44Kx44O844OI44Gu5LiA6Kan44KS55Sf5oiQ44Gn44GN44KL44GL44Gp44GG44GL44KS5rG65a6a44GX44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IGdlbmVyYWwgaW5mb3JtYXRpb24uJ30gPSAn44Ki44Oz44Kx44O844OI5LiA6Iis5oOF5aCx44KS57eo6ZuGJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICfjgqLjg7PjgrHjg7zjg4jjga7os6rllY/jgpLkv67mraMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAn6aGn5a6i44GM5ZCM44GY44Ki44Oz44Kx44O844OI44GrMuWbnuebruOBruWbnuetlOOCkuOBl+OCiOOBhuOBqOOBl+OBn+WgtOWQiOOBq+OAgeeJueWumuOBruOCouODs+OCseODvOODiOe1kOaenOOBruODh+ODvOOCv+OCkuihqOekuuOBmeOCi+WFrOmWi+OCpOODs+OCv+ODleOCp+ODvOOCueOBriBTaG93Vm90ZURhdGEg55S76Z2i44KS5pyJ5Yq544G+44Gf44Gv54Sh5Yq544Gr44GX44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAn44K144O844OT44K544Gr44Gk44GE44Gm44Gu6YCB5L+h5p2h5Lu244OB44Kn44OD44Kv44KS5pyJ5Yq544G+44Gf44Gv54Sh5Yq544Gr44GX44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAn44OB44Kx44OD44OI44K/44Kk44OX44Gr44Gk44GE44Gm44Gu6YCB5L+h5p2h5Lu244OB44Kn44OD44Kv44KS5pyJ5Yq544G+44Gf44Gv54Sh5Yq544Gr44GX44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+aLheW9k+iAheOCpOODs+OCv+ODleOCp+ODvOOCueOBruOCouODs+OCseODvOODiOi/veWKoOeUqOOBruODleODreODs+ODiOOCqOODs+ODieODouOCuOODpeODvOODq+OBrueZu+mMsuOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn5ouF5b2T6ICF44Kk44Oz44K/44OV44Kn44O844K544Gu44Ki44Oz44Kx44O844OI57eo6ZuG55So44Gu44OV44Ot44Oz44OI44Ko44Oz44OJ44Oi44K444Ol44O844Or44Gu55m76Yyy44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn5ouF5b2T6ICF44Kk44Oz44K/44OV44Kn44O844K544Gu44Ki44Oz44Kx44O844OI57Wx6KiI55So44Gu44OV44Ot44Oz44OI44Ko44Oz44OJ44Oi44K444Ol44O844Or44Gu55m76Yyy44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfmi4XlvZPogIXjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnjga7jgqLjg7PjgrHjg7zjg4jjgrrjg7zjg6DnlKjjga7jg5Xjg63jg7Pjg4jjgqjjg7Pjg4njg6Ljgrjjg6Xjg7zjg6vjga7nmbvpjLLjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ+WFrOmWi+OCouODs+OCseODvOODiOmgmOWfn+OBriBQdWJsaWNTdXJ2ZXkg44Kq44OW44K444Kn44Kv44OI55So44Gu44OV44Ot44Oz44OI44Ko44Oz44OJ44Oi44K444Ol44O844Or44Gu55m76Yyy44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICfjgZPjga7mraPopo/ooajnj77jgavkuIDoh7TjgZnjgovloLTlkIjjgIHpoaflrqLjgqLjg7PjgrHjg7zjg4jjga/pgIHkv6HjgZXjgozjgb7jgZvjgpPjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAn44Oq44Of44OD44OIJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAn44Ki44Oz44Kx44O844OI5LiA6Kan77yI5bCP44K144Kk44K66KGo56S677yJ44Gu77yI44Ki44Oz44Kx44O844OI44KS6KGo56S644GZ44KL77yJ44Oa44O844K444Gu44OR44Op44Oh44O844K/44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAn5YWs6ZaL44Kk44Oz44K/44O844OV44Kn44O844K544GuUHVibGljU3VydmV544Kq44OW44K444Kn44Kv44OI44Gr5a++44GZ44KL44OV44Ot44Oz44OI44Ko44Oz44OJ44Oi44K444Ol44O844Or55m76Yyy44Gn44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICfoqK3lrprjgZfjgZ/ml6XmlbDjgojjgorlj6TjgYTntZDmnpzjga/liYrpmaTjgZXjgozjgb7jgZnjgILms6jmhI86IOe1kOaenOOBruWJiumZpOOBryBPVE9CTyDjg4fjg7zjg6Ljg7PjgavjgojjgaPjgabooYzjgo/jgozjgovjgZ/jgoHjgIHkuovliY3jgasgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyDoqK3lrprjgpLmnInlirnjgavjgZfjgabjgY/jgaDjgZXjgYTjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn5ouF5b2T6ICF44Kk44Oz44K/44OV44Kn44O844K544Gu44Ki44Oz44Kx44O844OI44K644O844Og44OT44Ol44O844Gn44CB44Ki44Oz44Kx44O844OI44KS57eo6ZuG44GZ44KL44Gf44KB44Gu44Oq44Oz44Kv44KS44Oh44OL44Ol44O844Gr6KGo56S644GX44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn5ouF5b2T6ICF44Kk44Oz44K/44OV44Kn44O844K544Gu44Ki44Oz44Kx44O844OI44K644O844Og44OT44Ol44O844Gn44CB44Ki44Oz44Kx44O844OI44Gu6LOq5ZWP44KS57eo6ZuG44GZ44KL44Gf44KB44Gu44Oq44Oz44Kv44KS44Oh44OL44Ol44O844Gr6KGo56S644GX44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfmi4XlvZPogIXjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnjga7jgqLjg7PjgrHjg7zjg4jjgrrjg7zjg6Djg5Pjg6Xjg7zjgafjgIHliY3jga7nlLvpnaLjgavmiLvjgovjgZ/jgoHjga7jg6rjg7Pjgq/jgpLjg6Hjg4vjg6Xjg7zjgavooajnpLrjgZfjgb7jgZnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfmi4XlvZPogIXjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnjga7jgqLjg7PjgrHjg7zjg4jjgrrjg7zjg6Djg5Pjg6Xjg7zjgafjgIHjgqLjg7PjgrHjg7zjg4jntbHoqIjjga7oqbPntLDjgpLooajnpLrjgZnjgovjgZ/jgoHjga7jg6rjg7Pjgq/jgpLjg6Hjg4vjg6Xjg7zjgavooajnpLrjgZfjgb7jgZnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ+e1seioiOOBruips+e0sCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICfjgqLjg7PjgrHjg7zjg4jjg6Ljgrjjg6Xjg7zjg6vov73liqAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJ+OCouODs+OCseODvOODiOe3qOmbhuODouOCuOODpeODvOODqyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJ+OCouODs+OCseODvOODiOS4gOimpyhTKeOBruihqOekuuaVsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJ+OCouODs+OCseODvOODiOe1seioiOODouOCuOODpeODvOODqyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAn44Ki44Oz44Kx44O844OI44O744K644O844Og44O744Oi44K444Ol44O844OrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAn44Ki44Oz44Kx44O844OI44Gu5LiA6Kan44CM5bCP44CN44Gr6Zai44GZ44KLMeODmuODvOOCuOOBguOBn+OCiuOBruOCouODs+OCseODvOODiOOBruS4iumZkCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLid9ID0gJ+ioreWumuOBl+OBn+ODoeODvOODq+OCouODieODrOOCueOBq+OBr+OCouODs+OCseODvOODiOOBr+mAgeS/oeOBleOCjOOBvuOBm+OCk+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAn44Ki44Oz44Kx44O844OI44Gu6K2Y5Yil5a2Q77yI5L6LOiBTdXJ2ZXkj44CBTXlTdXJ2ZXkj77yJ44CC44OH44OV44Kp44Or44OI44GvIFN1cnZleSMg44Gn44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAn44OB44Kx44OD44OI44GM44Kv44Ot44O844K644GV44KM44Gf44Go44GN44Gr44CB6aGn5a6i44Gr44Ki44Oz44Kx44O844OI5L6d6aC844Oh44O844Or44KS6Ieq5YuV6YCB5L+h44GZ44KL44OB44Kx44OD44OI44Kk44OZ44Oz44OI44Oi44K444Ol44O844Or44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICfntZDmnpzvvIjmipXnpajjg4fjg7zjgr/jgajkvp3poLzjgpLlkKvjgoDvvInjga7liYrpmaTjgpLjg4jjg6rjgqzjg7zjgZfjgb7jgZnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJ+mBheW7tuOBl+OBn+OCouODs+OCseODvOODiOS+nemgvOOBrumAgeS/oeOCkuODiOODquOCrOODvOOBl+OBvuOBmeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJ+e1seioiOaDheWgseOBruips+e0sOOCkuOCuuODvOODoOOCpOODs+OBmeOCi+OAgic7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/ko_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmtvX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/lt_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Omx0X1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/lv_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Omx2X1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/mk_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Om1rX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ9Ca0YDQtdC40YDQsNGYINC90L7QstCwINCw0L3QutC10YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICfQktC+0LLQtdC0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICfQktC+0LLQtdC0INCy0L4g0LDQvdC60LXRgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAn0JjQt9Cy0LXRgdGC0YPQstCw0ZrQtSDQt9CwINCh0L7QtNGA0LbQuNC90LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICfQktC90LDRgtGA0LXRiNC10L0g0J7Qv9C40YEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3VzdG9tZXIgY29uZGl0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgc3VydmV5IGtleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEdlbmVyYWwgSW5mbyd9ID0gJ9Cj0YDQtdC00Lgg0LPQuCDQntC/0YjRgtC40YLQtSDQuNC90YTQvtGA0LzQsNGG0LjQuCc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9ucyd9ID0gJ9Cj0YDQtdC00Lgg0LPQuCDQn9GA0LDRiNCw0ZrQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgYXJlIGhlcmUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFF1ZXN0aW9ucyd9ID0gJ9Cf0YDQsNGI0LDRmtCwINC+0LQg0JDQvdC60LXRgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ9CU0L7QtNCw0LTQuCDQv9GA0LDRiNCw0ZrQtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ9CS0L3QtdGB0LXRgtC1INCz0L4g0L/RgNCw0YjQsNGa0LXRgtC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJyDQn9C+0YLRgNC10LHQvdC4INC+0LTQs9C+0LLQvtGA0LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICfQndC10LzQsCDQt9Cw0YfRg9Cy0LDQvdC4INC/0YDQsNGI0LDRmtCwINC30LAg0L7QstCw0LAg0LDQvdC60LXRgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJ9Cf0YDQsNGI0LDRmtC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBSZXF1aXJlZCd9ID0gJ9CX0LDQtNC+0LvQttC40YLQtdC70LXQvSDQntC00LPQvtCy0L7RgCAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAn0KPRgNC10LTQuCDQs9C4INCf0YDQsNGI0LDRmtC10YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ9Cy0YDQsNGC0Lgg0LzQtSDQvdCwINC/0YDQsNGI0LDRmtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJ9Cc0L7QttC90Lgg0L7QtNCz0L7QstC+0YDQuCDQt9CwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICfQlNC+0LTQsNC00Lgg0J7QtNCz0L7QstC+0YAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICfQl9CwINC+0LLQsCDQv9GA0LDRiNCw0ZrQtSDQvdC1INC1INC30LDRh9GD0LLQsNC9INC+0LTQs9C+0LLQvtGALic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAn0J7QstCwINC90LXQvNCwINC/0L7QstC10ZzQtSDQvtC00LPQvtCy0L7RgNC4LCDQv9C+0LvQtdGC0L4g0LfQsCDRgtC10LrRgdGCINGc0LUg0LHQuNC00LUg0L/RgNC40LrQsNC20LDQvS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICfQo9GA0LXQtNC4INCz0L4g0J7QtNCz0L7QstC+0YDQvtGCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ9Cy0YDQsNGC0Lgg0YHQtSDQvdCwINGD0YDQtdC00YPQstCw0ZrQtSDQvdCwINC/0YDQsNGI0LDRmtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlcjonfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJ9CY0YHQv9GA0LDRgtC4INC40LfQstC10YHRgtGD0LLQsNGa0LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICfQmNC30LLQtdGB0YLRg9Cy0LDRmtC1INC30LAg0J/RgNC10LTQvNC10YInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ9Cf0YDQvtC80LXQvdC10YLQviDQvtC0JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ9Cf0YDQtdCz0LvQtdC0INC90LAg0KHRgtCw0YLQuNGB0YLQuNC60LAg0LfQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ9Cx0LDRgNCw0ZrQsNGC0LAg0LfQsCDQotCw0LHQtdC70LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICfQmNGB0L/RgNCw0YLQuCDQktGA0LXQvNC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJ9CS0YDQtdC80LUg0LfQsCDQs9C70LDRgdCw0ZrQtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgdGhpcyByZXF1ZXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAn0JLQuNC00Lgg0JTQtdGC0LDQu9C4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSBzdGF0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAnINCU0LXRgtCw0LvQuCDQt9CwINGB0YLQsNGC0LjRgdGC0LjQutCwINC90LAg0JDQvdC60LXRgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICfQstGA0LDRgtC4INC80LUg0L3QsCDQv9GA0LXQs9C70LXQtCDQvdCwINGB0YLQsNGC0LjRgdGC0LjQutCwICc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICfQuNC90YTQvtGA0LzQsNGG0LjQuCDQt9CwINCw0L3QutC10YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAn0JjRgdC/0YDQsNGC0LXQvdC4INCx0LDRgNCw0ZrQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAn0JTQvtCx0LjQtdC90Lgg0LDQvdC60LXRgtC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAn0JTQtdGC0LDQu9C4INC30LAg0LDQvdC60LXRgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJ9Cj0YHQu9GD0LPQuCDQt9CwINGC0LjQutC10YInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFJlc3VsdHMgR3JhcGgnfSA9ICfQk9GA0LDRhNC40LrQvtC9INC30LAg0KDQtdC30YPQu9GC0LDRgtC40YLQtSDQvtC0INC40YHRgtGA0LDQttGD0LLQsNGa0LXRgtC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICfQndC10LzQsCDRgdGC0LDRgtC40YHRgtC40YfQutC4INGA0LXQt9GD0LvRgtCw0YLQuC4nOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAn0JDQvdC60LXRgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAn0J7QstC40LUg0YHQtSDQstCw0YjQuCDQvtC00LPQvtCy0L7RgNC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAn0JTQvtC00LDQtNC4INCd0L7QsmEg0JDQvdC60LXRgtCwJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICfQo9GA0LXQtNC4INGY0LAg0LDQvdC60LXRgtCw0YLQsCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAn0KPRgNC10LTQuCDQs9C4INC/0YDQsNGI0LDRmtCw0YLQsCDQt9CwINCw0L3QutC10YLQsNGC0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAn0JTQsC/QndC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ9Cb0LjRgdGC0LAg0L7QtCDQutC+0L/Rh9C40ZrQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICfQntCx0LXQu9C10LbRg9Cy0LDRhyAo0JvQuNGB0YLQsCknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICfQotC40L8g0L3QsCDQv9GA0LDRiNCw0ZrQtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJ9Ca0L7QvNC/0LvQtdGC0L3Qvic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAn0J3QtdC60L7QvNC/0LvQtdGC0L3Qvic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAn0KPRgNC10LTQuCDQs9C4INC/0YDQsNGI0LDRmtC10YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ9Cj0YDQtdC00Lgg0LPQuCDQvtC00LPQvtCy0L7RgNC40YLQtSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICfQn9GA0LXQs9C70LXQtCDQvdCwINCh0YLQsNGC0LjRgdGC0LjQutCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAn0JTQtdGC0LDRmSDQvtC0INCh0YLQsNGC0LjRgdGC0LjQutCw0YLQsCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJ9Cd0LUg0LzQvtC20LUg0LTQsCDQv9C+0YHRgtCw0LLQuCDQvdC+0LIg0YHRgtCw0YLRg9GBISDQndC10LzQsCDQtNC10YTQuNC90LjRgNCw0L3QuCDQv9GA0LDRiNCw0ZrQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHVzIGNoYW5nZWQuJ30gPSAn0KHRgtCw0YLRg9GB0L7RgiDQtSDQv9GA0L7QvNC10L3QtdGCLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICct0J3QtSDQtSDQuNC30LHRgNCw0L0g0YDQtdC0LSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnLSDQn9GA0L7QvNC10L3QsCDQvdCwINGB0YLQsNGC0YPRgdC+0YIgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ9Cd0LXQstCw0LvQuNC00L3Qvic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAn0J3QvtCyINCh0YLQsNGC0YPRgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICfQntC/0LjRgSDQvdCwINCw0L3QutC10YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ9C+0LTQs9C+0LLQvtGA0LXQvdC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J25vdCBhbnN3ZXJlZCd9ID0gJ9C90LUg0L7QtNCz0L7QstC+0YDQtdC90L4nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ9CQ0L3QutC10YLQsNGC0LAg0LUg0LfQsNCy0YDRiNC10L3QsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAn0JLQtdGc0LUg0ZjQsCDQvtC00LPQvtCy0L7RgNC40LLRgtC1INCw0L3QutC10YLQsNGC0LAuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICfQlNCw0LvQuCDQvdCw0LLQuNGB0YLQuNC90LAg0YHQsNC60LDRgtC1INC00LAg0LPQviDQuNC30LHRgNC40YjQtdGC0LUg0L7QstCwINC/0YDQsNGI0LDRmtC1PyDQodC40YLQtSDQv9C+0LLRgNC30LDQvdC4INC/0L7QtNCw0YLQvtGG0Lgg0ZzQtSDQsdC40LTQsNGCINCY0JfQk9Cj0JHQldCd0JghJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAn0JTQsNC70Lgg0L3QsNCy0LjRgdGC0LjQvdCwINGB0LDQutCw0YLQtSDQtNCwINCz0L4g0LjQt9Cx0YDQuNGI0LXRgtC1INC+0LLQvtGYINC+0LTQs9C+0LLQvtGAPyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICfQnNC+0LTRg9C7INC30LAg0JDQvdC60LXRgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICfQnNC+0LTRg9C7INC30LAg0YPRgNC10LTRg9Cy0LDRmtC1INC90LAg0LDQvdC60LXRgtC90Lgg0L/RgNCw0YjQsNGa0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQodC40YLQtSDQv9Cw0YDQsNC80LXRgtGA0Lgg0LfQsCDQvtCx0ZjQtdC60YLQvtGCINC90LAg0JDQvdC60LXRgtCw0YLQsCDQstC+INC40L3RgtC10YDRhNC10ZjRgdC+0YIg0L3QsCDQsNCz0LXQvdGC0L7Rgi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAn0JrQvtC70LjRh9C40L3QsCDQvdCwINC00LXQvdC+0LLQuCDQv9C+INC/0YDQsNGc0LDRmtC1INC90LAg0LDQvdC60LXRgtC90LjQvtGCIGUtbWFpbCDQstC+INC60L7RmCDQvdC1INGB0LUg0L/RgNCw0YLQtdC90Lgg0L3QuNGC0YMg0LXQtNC90LAg0LjRgdGC0LAg0LDQvdC60LXRgtCwINC90LAg0LjRgdGCINC60L7RgNC40YHQvdC40LouINCh0L4g0L7QtNCx0LjRgNCw0ZrQtSDQvdCwIDAg0YHQtdC60L7Qs9Cw0Ygg0ZzQtSDQsdC40LTQsNGCINC/0YDQsNGC0LXQvdC4INCw0L3QutC10YLQvdC4IGUtbWFpbC3QvtCy0LguJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ9Ch0YLQsNC90LTQsNGA0LTQvdCwINGB0L7QtNGA0LbQuNC90LAg0L3QsCDQtS3Qv9C+0YjRgtCwINC30LAg0LjQt9Cy0LXRgdGC0YPQstCw0ZrQtSDQvdCwINC60LvQuNC10L3RgtC40YLQtSDQt9CwINC90L7QstCw0YLQsCDQsNC90LrQtdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAn0KHRgtCw0L3QtNCw0YDQtNC10L0g0LjRgdC/0YDQsNGc0LDRhyDQvdCwINC1LdC/0L7RiNGC0LAg0LfQsCDQuNC30LLQtdGB0YLRg9Cy0LDRmtC1INC90LAg0LrQu9C40LXQvdGC0LjRgtC1INC30LAg0L3QvtCy0LDRgtCwINCw0L3QutC10YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAn0KHRgtCw0L3QtNCw0YDQtNC10L0g0L/RgNC10LTQvNC10YIg0L3QsCDQtS3Qv9C+0YjRgtCwINC30LAg0LjQt9Cy0LXRgdGC0YPQstCw0ZrQtSDQvdCwINC60LvQuNC10L3RgtC40YLQtSDQt9CwINC90L7QstCw0YLQsCDQsNC90LrQtdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJ9CU0LXRhNC40L3QuNGA0LDRmtC1INC90LAg0LzQvtC00YPQuyDQt9CwINC/0YDQtdCz0LvQtdC0INC30LAg0LTQsCDRgdC1INC/0YDQuNC60LDQttC1INC80LDQuyDQv9C+0LPQu9C10LQg0L3QsCDQsNC90LrQtdGC0LDRgtCwINC70LjRgdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAn0JTQtdGE0LjQvdC40YDQsCDQvNCw0LrRgdC40LzQsNC70LXQvSDQuNC30L3QvtGBINC90LAg0LDQvdC60LXRgtC4INC60L7QuCDRgdC1INC40YHQv9GA0LDRgtC10L3QuCDQvdCwINC60LvQuNC10L3RgtC40YLQtSDQv9C+IDMwINC00LXQvdCwLiAoMCDQt9C90LDRh9C4INCx0LXQtyDQvNCw0LrRgdC40LzRg9C8LCDRgdC40YLQtSDQsdCw0YDQsNGa0LAg0ZzQtSDQsdC40LTQsNGCINC40YHQv9GA0LDRgtC10L3QuCkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICfQiNCwINC00LXRhNC40L3QuNGA0LAg0YHRgtCw0L3QtNCw0YDQtNC90LDRgtCwINCy0LjRgdC+0YfQuNC90LAg0L3QsCBSaWNodGV4dCDQv9GA0LXQs9C70LXQtNC+0YIg0LfQsCBTdXJ2ZXlab29tINC10LvQtdC80LXQvdGC0LjRgtC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBncm91cHMgKHJ3KSB3aGljaCBjYW4gZGVsZXRlIHN1cnZleSBzdGF0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICfQlNC10YTQuNC90LjRgNCwINC/0YDQuNC60LDQttCw0L3QuCDQutC+0LvQvtC90Lgg0LLQviDQv9GA0LXQs9C70LXQtNC+0YIg0L3QsCDQsNC90LrQtdGC0LguINCe0LLQsNCwINC+0L/RhtC40ZjQsCDQvdC10LzQsCDQtdGE0LXQutGCINCy0YDQtyDQv9C+0LfQuNGG0LjRmNCw0YLQsCDQvdCwINC60L7Qu9C+0L3QuNGC0LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICfQktC60LvRg9GH0LXRgtC1INC40LvQuCDQuNGB0LrQu9GD0YfQtdGC0LUg0ZjQsCDQv9GA0L7QstC10YDQutCw0YLQsCDQvdCwINGB0L7RgdGC0L7RmNCx0LDRgtCwINC30LAg0LjRgdC/0YDQsNGc0LDRmtC1INC90LAg0YPRgdC70YPQs9CwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ9CS0LrQu9GD0YfQtdGC0LUg0LjQu9C4INC40YHQutC70YPRh9C10YLQtSDRmNCwINC/0YDQvtCy0LXRgNC60LDRgtCwINC90LAg0YHQvtGB0YLQvtGY0LHQsNGC0LAg0LfQsCDQuNGB0L/RgNCw0ZzQsNGa0LUg0L3QsCDRgtC40L/QvtGCINC90LAg0YLQuNC60LXRgtC+0YIuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cg0LXQs9C40YHRgtGA0LDRhtC40ZjQsCDQvdCwINC80L7QtNGD0Lsg0LfQsCDQtNC+0LTQsNCy0LDRmtC1INC90LAg0LDQvdC60LXRgtC4INCy0L4g0LjQvdGC0LXRgNGE0LXRmNGB0L7RgiDQvdCwINCw0LPQtdC90YLQvtGCLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn0KDQtdCz0LjRgdGC0YDQsNGG0LjRmNCwINC90LAg0LzQvtC00YPQuyDQt9CwINC40LfQvNC10L3QsCDQvdCwINCw0L3QutC10YLQuCDQstC+INC40L3RgtC10YDRhNC10ZjRgdC+0YIg0L3QsCDQsNCz0LXQvdGC0L7Rgi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQoNC10LPQuNGB0YLRgNCw0YbQuNGY0LAg0L3QsCDQvNC+0LTRg9C7INC30LAg0LDQvdC60LXRgtC90Lgg0LfQsNC/0LjRgdC4INCy0L4g0LjQvdGC0LXRgNGE0LXRmNGB0L7RgiDQvdCwINCw0LPQtdC90YLQvtGCLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn0KDQtdCz0LjRgdGC0YDQsNGG0LjRmNCwINC90LAg0LzQvtC00YPQuyDQt9CwINC00LXRgtCw0LvQvdC+INCw0L3QutC10YLQuNGA0LDRmtC1INCy0L4g0LjQvdGC0LXRgNGE0LXRmNGB0L7RgiDQvdCwINCw0LPQtdC90YLQvtGCLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICfQkNC60L4g0L7QstC+0Zgg0LjQt9GA0LDQtyDRgdC1INGB0L7QstC/0LDRk9CwLCDQsNC90LrQtdGC0LAg0L3QtdC80LAg0LTQsCDQsdC40LTQtSDQuNGB0L/RgNCw0YLQtdC90LAg0L3QsCDQutC70LjQtdC90YLQvtGCLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMaW1pdC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICfQn9Cw0YDQsNC80LXRgtGA0Lgg0LfQsCDRgdGC0YDQsNC90LjRhtC4ICjQstC+INC60L7RmCDRgdC1INC/0YDQuNC60LDQttGD0LLQsNCw0YIg0LDQvdC60LXRgtC40YLQtSkg0L3QsCDQvNCw0LvQsCDQv9GA0LXQs9C70LXQtCDQvdCwINCw0L3QutC10YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQn9GA0LjQutCw0LbRg9Cy0LAg0LvQuNC90Log0LLQviDQvNC10L3QuNGC0L4g0LfQsCDRg9GA0LXQtNGD0LLQsNGa0LUg0L3QsCDQsNC90LrQtdGC0Lgg0LLQviDQtNC10YLQsNC70L3QuNC+0YIg0L/QvtCz0LvQtdC0INCy0L4g0LjQvdGC0LXRgNGE0LXRmNGB0L7RgiDQvdCwINCw0LPQtdC90YLQvtGCLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cf0YDQuNC60LDQttGD0LLQsCDQstC+INC80LXQvdC40YLQviDQu9C40L3QutC+0YIg0LfQsCDRg9GA0LXQtNGD0LLQsNGa0LUg0L3QsCDQsNC90LrQtdGC0L3QuCDQv9GA0LDRiNCw0ZrQsCDQstC+INC00LXRgtCw0LvQtdC9INC/0L7Qs9C70LXQtCDQstC+INC40L3RgtC10YDRhNC10ZjRgdC+0YIg0L3QsCDQsNCz0LXQvdGCLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn0J/RgNC40LrQsNC20YPQstCwINCy0L4g0LzQtdC90LjRgtC+INC70LjQvdC60L7RgiDQt9CwINCy0YDQsNGc0LDRmtC1INCy0L4g0LTQtdGC0LDQu9C10L0g0L/QvtCz0LvQtdC0INCy0L4g0LjQvdGC0LXRgNGE0LXRmNGB0L7RgiDQvdCwINCw0LPQtdC90YIuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn0J/RgNC40LrQsNC20YPQstCwINCy0L4g0LzQtdC90LjRgtC+INC70LjQvdC60L7RgiDQt9CwINC00LXRgtCw0LvQtdC9INC/0YDQuNC60LDQtyDQvdCwINGB0YLQsNGC0LjRgdC40YLQuNC60Lgg0LLQviDQtNC10YLQsNC70LXQvSDQv9C+0LPQu9C10LQg0LLQviDQuNC90YLQtdGA0YTQtdGY0YHQvtGCINC90LAg0LDQs9C10L3Rgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAn0JTQtdGC0LDQu9C4INC+0LQg0KHRgtCw0YLQuNGB0YLQuNC60LDRgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAn0JzQvtC00YPQuyDQt9CwINCj0YDQtdC00YPQstCw0ZrQtSDQvdCwINCQ0L3QutC10YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICfQntCz0YDQsNC90LjRh9GD0LLQsNGa0LUg0L3QsCDQn9GA0LXQs9C70LXQtCDQvdCwINCQ0L3QutC10YLQsCAtICLQnNCw0LvQutGDIic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJ9Cc0L7QtNGD0Lsg0LfQsCDQodGC0LDRgtC40YHRgtC40LrQsCDQvdCwINCQ0L3QutC10YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJ9Cc0L7QtNGD0Lsg0LfQsCDQlNC10YLQsNC70LXQvSDQv9GA0LjQutCw0Lcg0L3QsCDQkNC90LrQtdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAn0JDQvdC60LXRgtC4INC90LXQvNCwINC00LAg0LHQuNC00LUg0LjRgdC/0YDQsNGC0LXQvdC4INC00L4g0LrQvtC90YTQuNCz0YPRgNC40YDQsNC90Lgg0LUt0L/QvtGI0YLQuC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ9CY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LAg0LDQvdC60LXRgtCw0YLQsCwg0L3QsCDQv9GA0LjQvNC10YA6IFN1cnZleSMsIE15U3VydmV5Iy4g0KHRgtCw0L3QtNCw0YDQtNC90L4g0LUgU3VydmV5Iy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICfQnNC+0LTRg9C70LAg0L3QsCDQotC40LrQtdGCINC30LAg0LDQstGC0L7QvNCw0YLRgdC60L4g0L/RgNCw0ZzQsNGa0LUg0L3QsCDQsNC90LrQtdGC0L3QuCBlLW1haWwg0LHQsNGA0LDRmtCwINC00L4g0LrQu9C40LXQvdGC0LjRgtC1INCw0LrQviDRgtC40LrQtdGC0L7RgiDQtSDQt9Cw0YLQstC+0YDQtdC9Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/ms_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Om1zX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0J1YXQgU3VydmV5IEJhcnUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnUGVuZ2VuYWxhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnUGVueWlhc2F0YW4gUGVuZ2VuYWxhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ0JhZGFuIFBlbWJlcml0YWh1YW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICdEZXNjcmlwdGlvbiBkYWxhbWFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdFZGl0IE1ha2x1bWF0IFVtdW0nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdFZGl0IFNvYWxhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgYXJlIGhlcmUnfSA9ICdBbmRhIGRpIHNpbmknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFF1ZXN0aW9ucyd9ID0gJ1BlbnlpYXNhdGFuIFNvYWxhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICdUYW1iYWggU29hbGFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAnVGFpcCBzb2FsYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIHJlcXVpcmVkJ30gPSAnSmF3YXBhbiBkaXBlcmx1a2FuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnVGlhZGEgc29hbGFuIHlhbmcgZGlzaW1wYW4gdW50dWsga2FqaWFuIGluaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdTb2FsYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnSmF3YXBhbiBkaXBlcmx1a2FuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICdBcGFiaWxhIGFuZGEgc3VkYWggc2VsZXNhaSBtZW5ndWJhaCBzb2FsYW4ga2FqaSBzZWxpZGlrIGhhbnlhIHR1dHVwIHNrcmluIGluaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJ0VkaXQgU29hbGFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAna2VtYmFsaSBrZXBhZGEgc29hbGFuLXNvYWxhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICdTb2FsYW46JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnSmF3YXBhbiBLZW11bmdraW5hbiBVbnR1ayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAnVGFtYmFoIEphd2FiJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAnVGlhZGEgamF3YXBhbiB5YW5nIGRpc2ltcGFuIHVudHVrIHNvYWxhbiBpbmkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICdJbmkgdGlkYWsgbWVtcHVueWFpIGJlYmVyYXBhIGphd2FwYW4sIHRleHRhcmVhIGFrYW4gZGlwYXBhcmthbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICdFZGl0IEphd2FwYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAna2VtYmFsaSB1bnR1ayBtZW5nZWRpdCBzb2FsYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJ0phd2FwYW46JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnTWFrc2ltdW0gc29hbCBzZWxpZGlrIGRpdHVuanVra2FuIHNldGlhcCBoYWxhbWFuJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICdQZW1iZXJpdGFodWFuIFBlbmdpcmltJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnVGVydGFrbHVrIFBlbWJlcml0YWh1YW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ0RpdHVrYXIgZGVuZ2FuJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ0dhbWJhcmFuIEtlc2VsdXJ1aGFuIFN0YXRpc3RpayBkYXJpcGFkYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ0phZHVhbCBwZXJtaW50YWFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAnTWFzYSBIYW50YXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnTWFzYSBVbmRpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICdMaWhhdCBtYWtsdW1hdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJ1BlbnlpYXNhdGFuIERldGFpbHMgU3RhdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAna2VtYmFsaSBrZSBTdGF0aXN0aWsgZ2FtYmFyYW4ga2VzZWx1cnVoYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAnTWFrbHVtYXQgVWt1cic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnbWVuZ2hhbnRhciBwZXJtaW50YWFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICdkaXRlcmltYSBrYWppIHNlbGlkaWsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICdQZW55aWFzYXRhbiB0ZXJwZXJpbmNoaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICdQZXJraGlkbWF0YW4gdGlrZXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFJlc3VsdHMgR3JhcGgnfSA9ICdVa3VyIEtlcHV0dXNhbiBHcmFmJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICdUaWFkYSBzdGF0IGtlcHV0dXNhbi4nOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnUGVueWlhc2F0YW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICdTaWxhIGphd2FiIHNvYWxhbi1zb2FsYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvdyBteSBhbnN3ZXJzJ30gPSAnVHVuanVra2FuIGphd2FwYW4gc2F5YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnSW5pIGFkYWxhaCBqYXdhcGFuIGFuZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAnVGFqdWsgVWt1cic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnVGFtYmFoIFVrdXIgQmFydSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnVWt1ciBFZGl0JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICdQZW55aWFzYXRhbiBFZGl0IFNvYWxhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZZXMvTm8nfSA9ICdZYS9UaWRhayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICdSYWRpbyAoU2VuYXJhaSknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAnQ2hlY2tib3ggKFNlbmFyYWkpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnSmVuaXMgc29hbGFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAnbGVuZ2thcCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAndGlkYWsgbGVuZ2thcCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnRWRpdCBzb2FsYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICdFZGl0IEphd2FwYW4nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAnU3RhdGlzdGlrIFRpbmphdWFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnU3RhdGlzdGlrIFRlcnBlcmluY2hpJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnVGlkYWsgYm9sZWggbWVuZXRhcGthbiBzdGF0dXMgYmFydSEgVGlhZGEgc29hbGFuIHlhbmcgZGl0YWtyaWZrYW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ3N0YXR1cyBiZXJ1YmFoLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICctVGlhZGEgZ2lsaXJhbiBkaXBpbGloLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnLSBVYmFoIFN0YXR1cyAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01hc3Rlcid9ID0gJ0luZHVrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICdUaWRhayBTYWgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ1N0YXR1cyBiYWhhcnUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERlc2NyaXB0aW9uJ30gPSAnSHVyYWlhbiBwZW55aWFzYXRhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ0RpamF3YWInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnVGlkYWsgZGlqYXdhYic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnVGVyaW1hIGthc2loIGF0YXMgbWFrbHVtIGJhbGFzIGFuZGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnS2FqaSBzZWxpZGlrIGl0dSBzZWxlc2FpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICdBbmRhIHRlbGFoIG1lbmphd2FiIGthamkgc2VsaWRpay4nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJ0FkYWthaCBhbmRhIGJlbmFyLWJlbmFyIGluZ2luIG1lbWFkYW0gc29hbGFuIGluaT8gU0VNVUEgZGF0YSBiZXJrYWl0YW4gYWthbiBISUxBTkchJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnQWRha2FoIGFuZGEgYmVuYXItYmVuYXIgaW5naW4gbWVtYWRhbSBqYXdhcGFuIGluaT8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnU2F0dSBNb2R1bCBQZW55aWFzYXRhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnU2F0dSBtb2R1bCB1bnR1ayBtZW5nZWRpdCBzb2FsYW4gdGluamF1YW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdTZW11YSBwYXJhbWV0ZXIgYmFnaSBvYmplayBVa3VyIGRhbGFtIGFudGFyYSBtdWthIGVqZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ0p1bWxhaCBoYXJpIHNlbGVwYXMgbWVuZ2hhbnRhciBtZWwga2FqaSBzZWxpZGlrIGRpIG1hbmEgdGlhZGEgcGVybWludGFhbiBrYWppIHNlbGlkaWsgYmFydSBkaWhhbnRhciBrZXBhZGEgcGVsYW5nZ2FuIHlhbmcgc2FtYS4gTWVtaWxpaCAwIGFrYW4gc2VudGlhc2EgbWVuZ2hhbnRhciBtZWwga2FqaSBzZWxpZGlrLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICdEZWZhdWx0IGJhZGFuIHVudHVrIHBlbWJlcml0YWh1YW4gZS1tZWwga2VwYWRhIHBlbGFuZ2dhbiB0ZW50YW5nIGthamkgc2VsaWRpayBiYXJ1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ1BlbmdoYW50YXIgbGFsYWkgdW50dWsgcGVtYmVyaXRhaHVhbiBlLW1lbCBrZXBhZGEgcGVsYW5nZ2FuIHRlbnRhbmcga2FqaSBzZWxpZGlrIGJhcnUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc3ViamVjdCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ1RlcnRha2x1ayBsYWxhaSB1bnR1ayBwZW1iZXJpdGFodWFuIGUtbWVsIGtlcGFkYSBwZWxhbmdnYW4gdGVudGFuZyBrYWppIHNlbGlkaWsgYmFydS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnTWVudGFrcmlma2FuIG1vZHVsIGdhbWJhcmFuIHVudHVrIG1lbnVuanVra2FuIHBhbmRhbmdhbiB5YW5nIGtlY2lsIHNlbmFyYWkga2FqaSBzZWxpZGlrLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBpZiBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBvbmx5IHNlbmQgdG8gcmVhbCBjdXN0b21lcnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJ01lbnRha3JpZmthbiBqdW1sYWggbWFrc2ltdW0ga2FqaSBzZWxpZGlrIHlhbmcgbWVuZGFwYXQgZGloYW50YXIga2VwYWRhIHBlbGFuZ2dhbiBzZXRpYXAgMzAgaGFyaS4gKDAgYmVybWFrbmEgdGlkYWsgbWFrc2ltdW0sIHNlbXVhIHBlcm1pbnRhYW4ga2FqaSBzZWxpZGlrIGFrYW4gZGloYW50YXIpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJ01lbnRha3JpZmthbiBqdW1sYWggamFtIHN1YXR1IHRpa2V0IGFrYW4gZGl0dXR1cCB1bnR1ayBtZW5jZXR1c2thbiBwZW5naGFudGFyYW4gc3VhdHUga2FqaSBzZWxpZGlrLCAoMCBiZXJlcnRpIG1lbmdoYW50YXIgc2VnZXJhIHNlbGVwYXMgcGVudXR1cGFuKS4gTm90YTogcGVuZ2hhbnRhcmFuIGthamkgc2VsaWRpayB0ZXJ0dW5kYSBhZGFsYWggZGlsYWt1YW4gb2xlaCBPVE9CTyBEYWVtb24sIHBlbmdha3RpZmFuIHNlYmVsdW1ueWEgdGV0YXBhbiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdNZW50YWtyaWZrYW4ga2V0aW5nZ2lhbiBsYWxhaSB1bnR1ayBwZW5vbnRvbiBUZWtzIEtheWEgdW50dWsgZWxlbWVuIFpvb20gVWt1ci4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnTWVudGFrcmlma2FuIHJ1YW5nYW4gbWVudW5qdWtrYW4gZGFsYW0gZ2FtYmFyYW4ga2FqaWFuLlBpbGloYW4gaW5pIHRpZGFrIG1lbXB1bnlhaSBrZXNhbiBrZSBhdGFzIGtlZHVkdWthbiB0aWFuZy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJ0RheWFrYW4gYXRhdSBueWFoZGF5YWthbiBVbmRpIFBhcGFyIERhdGEgc2tyaW4gZGFsYW0gYW50YXJhIG11a2EgYXdhbSB1bnR1ayBtZW51bmp1a2thbiBkYXRhIGhhc2lsIGthamlhbiB0ZXJ0ZW50dSBhcGFiaWxhIHBlbGFuZ2dhbiBjdWJhIHVudHVrIG1lbmphd2FiIGthamkgc2VsaWRpayBrYWxpIGtlZHVhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJ01lbWJvbGVoa2FuIGF0YXUgbWVsdW1wdWhrYW4gbWVuZ2hhbnRhciBzZW1ha2FuIGtlYWRhYW4gdW50dWsgcGVya2hpZG1hdGFuIGl0dS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICdNZW1ib2xlaGthbiBhdGF1IG1lbHVtcHVoa2FuIG1lbmdoYW50YXIgc2VtYWthbiBrZWFkYWFuIHVudHVrIGplbmlzIHRpa2V0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdCYWhhZ2lhbiBkZXBhbiBwZW5kYWZ0YXJhbiBtb2R1bCB1bnR1ayBtZW5hbWJhaCBrYWppIHNlbGlkaWsgZGFsYW0gYW50YXJhIG11a2EgZWplbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0JhaGFnaWFuIGRlcGFuIHBlbmRhZnRhcmFuIG1vZHVsIHVudHVrIG1lbnl1bnRpbmcga2FqaSBzZWxpZGlrIGRhbGFtIGFudGFyYSBtdWthIGVqZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnQmFoYWdpYW4gRGVwYW4gcGVuZGFmdGFyYW4gbW9kdWwgc3RhdGlzdGlrIGthamlhbiBkYWxhbSBhbnRhcmEgbXVrYSBlamVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRnJvbnRlbmQgcGVuZGFmdGFyYW4gbW9kdWwgdW50dWsgem9vbSBrYWppIHNlbGlkaWsgZGFsYW0gYW50YXJhIG11a2EgZWplbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ0Zyb250ZW5kIHBlbmRhZnRhcmFuIG1vZHVsIGJhZ2kgb2JqZWsgVWt1ciBBd2FtIGRpIGthd2FzYW4gVWt1ciBhd2FtLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAnSmlrYSBwZXJsYXdhbmFuIHJlZ2V4IGluaSwgdGlhZGEga2FqaWFuIHBlbGFuZ2dhbiBha2FuIGRpaGFudGFyLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMaW1pdC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICdQYXJhbWV0ZXIgdW50dWsgaGFsYW1hbiAoZGkgbWFuYSBrYWppIHNlbGlkaWsgZGl0dW5qdWtrYW4pIGdhbWJhcmFuIGthamlhbiBrZWNpbC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICdQZW55aWFzYXRhbiBhd2FtLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ01lbnVuanVra2FuIHBhdXRhbiBkYWxhbSBtZW51IHVudHVrIG1lbnl1bnRpbmcga2FqaSBzZWxpZGlrIGRhbGFtIHBhcGFyYW4genVtIGFudGFyYSBtdWthIGVqZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTWVudW5qdWtrYW4gcGF1dGFuIGRhbGFtIG1lbnUgdW50dWsgbWVueXVudGluZyBzb2FsYW4ga2FqaSBzZWxpZGlrIGRhbGFtIHBhcGFyYW4genVtIGFudGFyYSBtdWthIGVqZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNZW51bmp1a2thbiBwYXV0YW4gZGFsYW0gbWVudSB1bnR1ayBrZW1iYWxpIGtlIHBhcGFyYW4genVtIGthamkgc2VsaWRpayBhbnRhcmEgbXVrYSBlamVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gem9vbSBpbnRvIHRoZSBzdXJ2ZXkgc3RhdGlzdGljcyBkZXRhaWxzIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ01lbnVuanVra2FuIHBhdXRhbiBkYWxhbSBtZW51IHVudHVrIHp1bSBtYWtsdW1hdCBzdGF0aXN0aWsga2FqaSBzZWxpZGlrIGRhbGFtIHBhcGFyYW4genVtIGFudGFyYSBtdWthIGVqZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICdNYWtsdW1hdCBzdGF0aXN0aWsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnTW9kdWwgVGFtYmFoIFNvYWwgU2VsaWRpayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnS2FqaSBzZWxpZGlrIHN1bnRpbmdhbiBtb2R1bCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJ1VrdXIgVGluamF1YW4gSGFkICJLZWNpbCInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICdLYWppIHNlbGlkaWsgTW9kdWwgU3RhdGlzdGlrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICdQZW55aWFzYXRhbiBab29tIE1vZHVsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnVWt1ciB0aWRhayBha2FuIGRpaGFudGFyIGtlIGFsYW1hdCBlLW1lbCB5YW5nIGRpa29uZmlndXJhc2kuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICdQZW5nZWNhbSB1bnR1ayBrYWppIHNlbGlkaWssIG1pc2FsbnlhIFBlbnlpYXNhdGFuICMgTXlTdXJ2ZXkgIy4gTGFsYWkgYWRhbGFoIFBlbnlpYXNhdGFuIy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICdUaWtldCBtb2R1bCBhY2FyYSB1bnR1ayBtZW5naGFudGFyIHBlcm1pbnRhYW4gZS1tZWwgc2VjYXJhIGF1dG9tYXRpayBrYWppIHNlbGlkaWsga2VwYWRhIHBlbGFuZ2dhbiBqaWthIHRpa2V0IGRpdHV0dXAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJ1BlbmNldHVzIG1lbmdoYW50YXIgcGVybW9ob25hbiBzb2FsIHNlbGlkaWsgZGl0YW5nZ3Voa2FuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/nb_NO_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Om5iX05PX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0xhZyBueSBzcMO4cnJldW5kZXJzw7hrZWxzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICdJbnRyb2R1a3Nqb24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ01lbGRpbmcgaSB2YXJzZWwtZS1wb3N0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnSW50ZXJuIGJlc2tyaXZlbHNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdSZWRpZ2VyIGdlbmVyZWxsIGluZm9ybWFzam9uJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnUmVkaWdlciBzcMO4cnNtw6VsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ0R1IGVyIGhlcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnU3DDuHJzbcOlbCB0aWwgc3DDuHJyZXVuZGVyc8O4a2Vsc2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ0xlZ2cgdGlsIHNww7hyc23DpWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICdTa3JpdiBpbm4gc3DDuHJzbcOlbGV0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJ0luZ2VuIHNww7hyc23DpWwgbGFncmV0IGZvciBkZW5uZSBzcMO4cnJldW5kZXJzw7hrZWxzZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uJ30gPSAnU3DDuHJzbcOlbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnUmVkaWdlciBzcMO4cnNtw6VsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAndGlsYmFrZSB0aWwgc3DDuHJzbcOlbGVuZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICdNdWxpZ2Ugc3ZhcmFsdGVybmF0aXZlciBmb3InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJ0xlZ2cgdGlsIHN2YXJhbHRlcm5hdGl2ZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ0RldHRlIHNww7hyc23DpWxldCBoYXIgaWtrZSBtdWxpZ2hldCBmb3Igc3ZhcmFsdGVybmF0aXZlci4gSGVyIHZpbCBkZXQga3VuIGJsaSB2aXN0IGVuIHRla3N0Ym9rcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICdSZWRpZ2VyIHN2YXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAnZ8OlIHRpbGJha2UgZm9yIMOlIHJlZGlnZXJlIHNww7hyc23DpWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAnQXZzZW5kZXIgYXYgdmFyc2VsLWUtcG9zdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJ1RpdHRlbCBpIHZhcnNlbC1lLXBvc3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ0VuZHJldCBhdic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICdUYWJlbGxmb3Jlc3DDuHJzZWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICdUaWQgc2VuZHQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnVGlkIHN2YXJ0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICdEZXRhbGpzdGF0aXN0aWtrIGZvciBzcMO4cnJldW5kZXJzw7hrZWxzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAnZ8OlIHRpbGJha2UgdGlsIHN0YXRpc3Rpa2tvdmVyc2lrdGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVpvb20KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbmZvcm1hdGlvbid9ID0gJ0luZm9ybWFzam9uIG9tIHNww7hycmV1bmRlcnPDuGtlbHNlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnU2VuZHRlIGZvcmVzcMO4cnNsZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjZWl2ZWQgc3VydmV5cyd9ID0gJ01vdHRhdHRlIHNww7hycmV1bmRlcnPDuGtlbHNlcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGV0YWlscyd9ID0gJ0RldGFsamVyIG9tIHNww7hycmV1bmRlcnPDuGtlbHNlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFJlc3VsdHMgR3JhcGgnfSA9ICdHcmFmaXNrIGZyZW1zdGlsbGluZyBhdiBzdmFyZW5lIGkgc3DDuHJyZXVuZGVyc8O4a2Vsc2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICdJbmdlbiByZXN1bHRhdGVyJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ1Nww7hycmV1bmRlcnPDuGtlbHNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICdSZWRpZ2VyIHNww7hycmV1bmRlcnPDuGtlbHNlJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICdSZWRpZ2VyIHNww7hyc23DpWwgdGlsIHNww7hycmV1bmRlcnPDuGtlbHNlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZZXMvTm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoZWNrYm94IChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAnU3RhdGlzdGlra292ZXJzaWt0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ1VneWxkaWcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnRW4gbW9kdWwgZm9yIHNww7hycmV1bmRlcnPDuGtlbHNlcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnRW4gbW9kdWwgZm9yIMOlIHJlZGlnZXJlIHNww7hycmV1bmRlcnPDuGtlbHNlcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnU3RhbmRhcmQgbWVsZGluZyBpIHZhcnNlbC1lLXBvc3QgdGlsIGt1bmRlciBvbSBlbiBueSBzcMO4cnJldW5kZXJzw7hrZWxzZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICdTdGFuZGFyZCBhdnNlbmRlciBpIHZhcnNlbC1lLXBvc3QgdGlsIGt1bmRlciBvbSBlbiBueSBzcMO4cnJldW5kZXJzw7hrZWxzZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnU3RhbmRhcmQgb3ZlcnNrcmlmdCBpIHZhcnNlbC1lLXBvc3QgdGlsIGt1bmRlciBvbSBlbiBueSBzcMO4cnJldW5kZXJzw7hrZWxzZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICdIdmlzIGRlbm5lIHJlZ2V4ZW4gc3RlbW1lciwgdmlsIGRldCBpa2tlIGJsaSBzZW5kdCB1dCBlbiBzcMO4cnJldW5kZXJzw7hrZWxzZSB0aWwga3VuZGVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMaW1pdC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gem9vbSBpbnRvIHRoZSBzdXJ2ZXkgc3RhdGlzdGljcyBkZXRhaWxzIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ1N0YW5kYXJkIGlkZW50aWZpa2F0b3IgZm9yIGVuIHVuZGVyc8O4a2xzZSwgZi5la3MuIFNww7hycmV1bmRlcnPDuGtlbHNlIywgTWluU3DDuHJyZXVuZGVyc8O4a2Vsc2UjLiBTdGFuZGFyZCBlciBTdXJ2ZXkjLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgZXZlbnQgbW9kdWxlIHRvIHNlbmQgYXV0b21hdGljYWxseSBzdXJ2ZXkgZW1haWwgcmVxdWVzdHMgdG8gY3VzdG9tZXJzIGlmIGEgdGlja2V0IGlzIGNsb3NlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/nl_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Om5sX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ05pZXV3ZSBlbnF1w6p0ZSBtYWtlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICdJbnRyb2R1Y3RpZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnRW5xdcOqdGUgaW50cm9kdWN0aWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIEJvZHknfSA9ICdNZWxkaW5ndGVrc3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICdJbnRlcm5lIGJlc2NocmlqdmluZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnS2xhbnQgdm9vcndhYXJkZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICdLaWVzIGVlbiBrbGFudGVpZ2Vuc2NoYXAgb20gZWVuIHZvb3J3YWFyZGUgdG9lIHRlIHZvZWdlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICdPcGVuYmFyZSBlbnF1w6p0ZXNsZXV0ZWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICdWb29yYmVlbGQgZW5xdcOqdGUnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdBbGdlbWVuZSBpbmZvIGJld2Vya2VuJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnVnJhZ2VuIGJld2Vya2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ0plIGJldmluZHQgamUgaGllcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnRW5xdcOqdGV2cmFnZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAnVnJhYWcgdG9ldm9lZ2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAnVHlwIGRlIHZyYWFnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJ0FudHdvb3JkIHZlcmVpc3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICdHZWVuIHZyYWdlbiBvcGdlc2xhZ2VuIHZvb3IgZGV6ZSBlbnF1w6p0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdWcmFhZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICdBbnR3b29yZCB2ZXJlaXN0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICdTbHVpdCBkaXQgc2NoZXJtIGFscyBqZSBrbGFhciBiZW50IG1ldCBoZXQgYmV3ZXJrZW4gdmFuIGRlIHZyYWdlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICdTbHVpdCBkaXQgdmVuc3Rlcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnVnJhYWcgYmV3ZXJrZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBxdWVzdGlvbnMnfSA9ICdnYSB0ZXJ1ZyBuYWFyIHZyYWdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICdWcmFhZzonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICdNb2dlbGlqa2UgYW50d29vcmRlbiB2b29yJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdBbnR3b29yZCB0b2V2b2VnZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICdHZWVuIGFudHdvb3JkZW4gb3BnZXNsYWdlbiB2b29yIGRlemUgdnJhYWcuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICdEaXQgaGVlZnQgZ2VlbiB2ZXJzY2hpbGxlbmRlIGFudHdvb3JkZW4sIGVyIHdvcmR0IGVlbiB0ZWtzdGdlYmllZCB3ZWVyZ2VnZXZlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICdBbnR3b29yZCBiZXdlcmtlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIGVkaXQgcXVlc3Rpb24nfSA9ICdnYSB0ZXJ1ZyBvbSBkZSB2cmFhZyB0ZSBiZXdlcmtlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnQW50d29vcmQ6JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJ0VucXXDqnRlIG92ZXJ6aWNodG9wdGllcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICdab2VrdCBpbiBkZSBhdHRyaWJ1dGVuIE51bW1lciwgVGl0ZWwsIElubGVpZGluZywgQmVzY2hyaWp2aW5nLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgZW4gTm90aWZpY2F0aW9uQm9keSwgd2FhcmJpaiBhbmRlcmUgYXR0cmlidXRlbiBtZXQgZGV6ZWxmZGUgbmFhbSB3b3JkZW4gdmVydmFuZ2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICdFbnF1w6p0ZSBtYWFrdGlqZCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJ0dlZW4gYmVwZXJraW5nZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJ0FsbGVlbiBlbnF1w6p0ZXMgZ2VtYWFrdCB0dXNzZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnTWF4LiB3ZWVyZ2VnZXZlbiBlbnF1w6p0ZXMgcGVyIHBhZ2luYSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAnQWZ6ZW5kZXIgdmFuIG1lbGRpbmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICdNZWxkaW5nb25kZXJ3ZXJwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICdHZXdpanppZ2QgZG9vcic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICdTdGF0aXN0aWVrZW4gb3ZlcnppY2h0IHZhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ1ZlcnpvZWtlbiB0YWJlbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnU2VsZWN0ZWVyIGFsbGUgdmVyem9la2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJ1ZlcnplbmQgdGlqZCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICdTdGVtIHRpamQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJ1NlbGVjdGVlciBkZXplIGFhbnZyYWFnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAnWmllIERldGFpbHMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnU3RhdGlzdGlla2VuIHZlcndpamRlcmVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICdFbnF1w6p0ZXN0YXRpc3RpZWtkZXRhaWxzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICdnYSB0ZXJ1ZyBuYWFyIGhldCBzdGF0aXN0aWVrZW5vdmVyemljaHQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJ1ZvcmlnZSBzdGVtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJ1ZvbGdlbmRlIHN0ZW0nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAnRW5xdcOqdGUgaW5mb3JtYXRpZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnVmVyem9uZGVuIHZlcnpvZWtlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnT250dmFuZ2VuIGVucXXDqnRlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGV0YWlscyd9ID0gJ0VucXXDqnRlIGRldGFpbHMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAnVGlja2V0IFNlcnZpY2VzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnRW5xdcOqdGUgcmVzdWx0YXRlbiBncmFmaWVrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICdHZWVuIHN0YXRpc3Rpc2NoZSByZXN1bHRhdGVuLic7CgogICAgIyBUZW1wbGF0ZTogUHVibGljU3VydmV5CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXknfSA9ICdFbnF1w6p0ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJ0JlYW50d29vcmQgZGV6ZSB2cmFnZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvdyBteSBhbnN3ZXJzJ30gPSAnTWlqbiBhbnR3b29yZGVuIHdlZXJnZXZlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnRGl0IHppam4gam91dyBhbnR3b29yZGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJ0VucXXDqnRldGl0ZWwnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJ05pZXV3ZSBlbnF1w6p0ZSB0b2V2b2VnZW4nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnSmUgaGVidCBnZWVuIHRvZXN0ZW1taW5nIHZvb3IgZGV6ZSBlbnF1w6p0ZSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnRXIgd29yZHQgZ2VlbiBTdXJ2ZXlJRCBnZWdldmVuISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ0VucXXDqnRlIGJld2Vya2VuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJ0plIGhlYnQgZ2VlbiB0b2VzdGVtbWluZyB2b29yIGRlemUgZW5xdcOqdGUgb2YgdnJhYWchJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAnSmUgaGVidCBnZWVuIHRvZXN0ZW1taW5nIHZvb3IgZGV6ZSBlbnF1w6p0ZSwgdnJhYWcgb2YgYW50d29vcmQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJ0VucXXDqnRlIHZyYWdlbiBiZXdlcmtlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZZXMvTm8nfSA9ICdKYS9OZWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAnS2V1emVyb25kamUgKGxpanN0KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICdDaGVja2JveCAobGlqc3QpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJ05ldCBQcm9tb3RlciBTY29yZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnVnJhYWcgdHlwZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJ1ZvbGxlZGlnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICdPbnZvbGxlZGlnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICdWcmFhZyBiZXdlcmtlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ0FudHdvb3JkIGJld2Vya2VuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJ1N0YXRpc3RpZWtlbiBvdmVyemljaHQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3Igc3RhdHMgZGV0YWlsISd9ID0gJ0plIGhlYnQgZ2VlbiB0b2VzdGVtbWluZyB2b29yIGRlemUgZW5xdcOqdGUgb2Ygc3RhdGlzdGlla2VuISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICdTdGF0aXN0aWVrZW4gRGV0YWlsJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnS2FuIGdlZW4gbmlldXdlIHN0YXR1cyBpbnN0ZWxsZW4hIEdlZW4gdnJhZ2VuIGdlZGVmaW5pZWVyZC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICdLYW4gZ2VlbiBuaWV1d2Ugc3RhdHVzIGluc3RlbGxlbiEgVnJhZ2VuIG9udm9sbGVkaWcuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ1N0YXR1cyBnZXdpanppZ2QuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJy0gR2VlbiB3YWNodHJpaiBnZXNlbGVjdGVlcmQgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICctIEdlZW4gdGlja2V0dHlwZSBnZXNlbGVjdGVlcmQgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICctIEdlZW4gdGlja2V0c2VydmljZSBnZXNlbGVjdGVlcmQgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0gU3RhdHVzIHdpanppZ2VuIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnTWFzdGVyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICdPbmdlbGRpZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnTmlldXdlIFN0YXR1cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICdFbnF1w6p0ZSBiZXNjaHJpanZpbmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdiZWFudHdvb3JkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J25vdCBhbnN3ZXJlZCd9ID0gJ25pZXQgYmVhbnR3b29yZCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnQmVkYW5rdCB2b29yIHV3IGZlZWRiYWNrLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ0RlIGVucXXDqnRlIGlzIHZvbHRvb2lkLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICdFbnF1w6p0ZSBiZXJpY2h0ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNb2R1bGUgbm90IGVuYWJsZWQuJ30gPSAnTW9kdWxlIG5pZXQgaW5nZXNjaGFrZWxkLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJ0RlemUgZnVuY3Rpb25hbGl0ZWl0IGlzIG5pZXQgaW5nZXNjaGFrZWxkLCBuZWVtIGNvbnRhY3Qgb3AgbWV0IGplIGJlaGVlcmRlci4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJ0VucXXDqnRlIGZvdXQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICdPbmdlbGRpZ2UgZW5xdcOqdGVzbGV1dGVsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnRGUgaW5nZXZvZWdkZSBlbnF1w6p0ZXNsZXV0ZWwgaXMgb25nZWxkaWcuIEFscyB1IGVlbiBsaW5rIGhlYnQgZ2V2b2xnZCwgaXMgZGV6ZSBtb2dlbGlqayB2ZXJvdWRlcmQgb2YgZGVmZWN0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJ0VucXXDqnRlIHN0ZW1tZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJ0VucXXDqnRlIHN0ZW1nZWdldmVucyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnVSBoZWJ0IGRlIGVucXXDqnRlIGFsIGJlYW50d29vcmQuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICdFbnF1w6p0ZSBsaWpzdCc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJ1dpbCBqZSBkZXplIHZyYWFnIGVjaHQgdmVyd2lqZGVyZW4/IEFMTEUgYmlqYmVob3JlbmRlIGdlZ2V2ZW5zIGdhYW4gVkVSTE9SRU4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnV2lsIGplIGRpdCBhbnR3b29yZCBlY2h0IHZlcndpamRlcmVuPyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICdFZW4gZW5xdcOqdGUgbW9kdWxlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnRWVuIG1vZHVsZSBvbSBlbnF1w6p0ZXZyYWdlbiB0ZSBiZXdlcmtlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdBbGxlIHBhcmFtZXRlcnMgdm9vciBoZXQgZW5xdcOqdGUtb2JqZWN0IGluIGRlIGFnZW50aW50ZXJmYWNlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICdBYW50YWwgZGFnZW4gbmEgdmVyemVuZGluZyB2YW4gZWVuIGVucXXDqnRlbWFpbCB3YWFyaW4gZ2VlbiBuaWV1d2UgZW5xdcOqdGVhYW52cmFnZW4gbmFhciBkZXplbGZkZSBrbGFudCB3b3JkZW4gdmVyem9uZGVuLiBEb29yIDAgdGUgc2VsZWN0ZXJlbiB3b3JkdCBkZSBlbnF1w6p0ZW1haWwgYWx0aWpkIHZlcnpvbmRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnU3RhbmRhYXJkdGVrc3Qgdm9vciBkZSBlLW1haWxtZWxkaW5nIGFhbiBrbGFudGVuIG92ZXIgbmlldXdlIGVucXXDqnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ1N0YW5kYWFyZGFmemVuZGVyIHZvb3IgZGUgZS1tYWlsbWVsZGluZyBhYW4ga2xhbnRlbiBvdmVyIG5pZXV3ZSBlbnF1w6p0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnU3RhbmRhYXJkb25kZXJ3ZXJwIHZvb3IgZGUgZS1tYWlsbWVsZGluZyBhYW4ga2xhbnRlbiBvdmVyIG5pZXV3ZSBlbnF1w6p0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnRGVmaW5pZWVydCBlZW4gb3ZlcnppY2h0c21vZHVsZSBvbSBkZSBrbGVpbmUgd2VlcmdhdmUgdmFuIGVlbiBvdmVyemljaHRzbGlqc3Qgd2VlciB0ZSBnZXZlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBncm91cHMgd2hpY2ggaGF2ZSBhIHBlcm1pc3Npb24gdG8gY2hhbmdlIHN1cnZleSBzdGF0dXMuIEFycmF5IGlzIGVtcHR5IGJ5IGRlZmF1bHQgYW5kIGFnZW50cyBmcm9tIGFsbCBncm91cHMgY2FuIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLid9ID0KICAgICAgICAnRGVmaW5pZWVydCBncm9lcGVuIGRpZSB0b2VzdGVtbWluZyBoZWJiZW4gb20gZGUgZW5xdcOqdGVzdGF0dXMgdGUgd2lqemlnZW4uIEFycmF5IGlzIHN0YW5kYWFyZCBsZWVnIGVuIGFnZW50ZW4gdWl0IGFsbGUgZ3JvZXBlbiBrdW5uZW4gZGUgZW5xdcOqdGVzdGF0dXMgd2lqemlnZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnQmVwYWFsdCBvZiBlbnF1w6p0ZXZlcnpvZWtlbiBhbGxlZW4gbmFhciBlY2h0ZSBrbGFudGVuIHdvcmRlbiB2ZXJ6b25kZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICdCZXBhYWx0IGhldCBtYXhpbWFsZSBhYW50YWwgZW5xdcOqdGVzIGRhdCBwZXIgMzAgZGFnZW4gbmFhciBlZW4ga2xhbnQgd29yZHQgdmVyem9uZGVuLiAoMCBiZXRla2VudCBnZWVuIG1heGltdW0sIGFsbGUgZW5xdcOqdGVhYW52cmFnZW4gd29yZGVuIHZlcnpvbmRlbikuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnQmVwYWFsdCBoZXQgYWFudGFsIHVyZW4gZGF0IGVlbiB0aWNrZXQgbW9ldCB6aWpuIGdlc2xvdGVuIG9tIGVlbiBlbnF1w6p0ZSB0ZSB2ZXJ6ZW5kZW4gKDAgYmV0ZWtlbnQgdmVyemVuZGVuIGRpcmVjdCBuYSBzbHVpdGluZykuIE9wbWVya2luZzogaGV0IHZlcnRyYWFnZCB2ZXJ6ZW5kZW4gdmFuIGVucXXDqnRlcyB3b3JkdCBnZWRhYW4gZG9vciBkZSBPVE9CTyBEYWVtb24sIHZvb3JhZmdhYW5kZSBhY3RpdmVyaW5nIHZhbiBkZSBpbnN0ZWxsaW5nIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAnRGVmaW5pZWVydCBkZSBrb2xvbW1lbiB2b29yIGRlIHZlcnZvbGdrZXV6ZWxpanN0IHZvb3IgaGV0IGJvdXdlbiB2YW4gdmVyemVuZHZvb3J3YWFyZGVuICgwID0+IGluYWN0aWVmLCAxID0+IGFjdGllZikuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJ0RlZmluaWVlcnQgZGUgc3RhbmRhYXJkaG9vZ3RlIHZvb3IgUmljaHRleHQtd2VlcmdhdmVuIHZvb3IgRW5xdcOqdGVab29tLWVsZW1lbnRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnRGVmaW5pZWVydCBkZSBncm9lcGVuIChydykgZGllIGVucXXDqnRlc3RhdGlzdGlla2VuIGt1bm5lbiB2ZXJ3aWpkZXJlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnQmVwYWFsdCBkZSBtYXhpbWFsZSBob29ndGUgdm9vciBSaWNodGV4dC13ZWVyZ2F2ZW4gdm9vciBFbnF1w6p0ZVpvb20tZWxlbWVudGVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnRGVmaW5pZWVydCBkZSB3ZWVyZ2VnZXZlbiBrb2xvbW1lbiBpbiBoZXQgb3ZlcnppY2h0IHZhbiBkZSBlbnF1w6p0ZS4gRGV6ZSBvcHRpZSBoZWVmdCBnZWVuIGVmZmVjdCBvcCBkZSBwb3NpdGllIHZhbiBkZSBrb2xvbW1lbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJ0JlcGFhbHQgb2YgZGUgc3RhdGlzdGlzY2hlIG1vZHVsZSBlbnF1w6p0ZWxpanN0ZW4ga2FuIGdlbmVyZXJlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICdBbGdlbWVuZSBlbnF1w6p0ZSBpbmZvcm1hdGllIGJld2Vya2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnQmV3ZXJrIGVucXXDqnRldnJhZ2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICdTY2hha2VsIGhldCBTaG93Vm90ZURhdGEtc2NoZXJtIGluIGRlIG9wZW5iYXJlIGludGVyZmFjZSBpbiBvZiB1aXQgb20gZ2VnZXZlbnMgdmFuIGVlbiBzcGVjaWZpZWsgZW5xdcOqdGVyZXN1bHRhYXQgdGUgdG9uZW4gd2FubmVlciBkZSBrbGFudCBlZW4gdHdlZWRlIGVucXXDqnRlIHByb2JlZXJ0IHRlIGJlYW50d29vcmRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICdTY2hha2VsIGRlIHZlcnplbmR2b29yd2FhcmRlY29udHJvbGUgdm9vciBkZSBzZXJ2aWNlIGluIG9mIHVpdC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICdTY2hha2VsIGRlIHZlcnplbmR2b29yd2FhcmRlY29udHJvbGUgdm9vciBoZXQgdGlja2V0dHlwZSBpbiBvZiB1aXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpZSB2b29yIGVucXXDqnRlIHRvZXZvZWdlbiBpbiBkZSBhZ2VudGludGVyZmFjZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpZSB2b29yIGVucXXDqnRlIGJld2Vya2luZyBpbiBkZSBhZ2VudGludGVyZmFjZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aWUgdm9vciBlbnF1w6p0ZXN0YXRpc3RpZWtlbiBpbiBkZSBhZ2VudGludGVyZmFjZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpZSB2b29yIGVucXXDqnRlem9vbSBpbiBkZSBhZ2VudGludGVyZmFjZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpZSB2b29yIGhldCBQdWJsaWNTdXJ2ZXktb2JqZWN0IGluIGhldCBvcGVuYmFyZSBlbnF1w6p0ZWdlYmllZC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ0FscyBkZXplIHJlZ2V4IG92ZXJlZW5rb210LCB3b3JkdCBlciBnZWVuIGtsYW50IGVucXXDqnRlIHZlcnpvbmRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnQmVwZXJrLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJ1BhcmFtZXRlcnMgdm9vciBkZSBwYWdpbmFcJ3MgKHdhYXJpbiBkZSBlbnF1w6p0ZXMgd29yZGVuIGdldG9vbmQpIHZhbiBoZXQga2xlaW5lIGVucXXDqnRlIG92ZXJ6aWNodC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICdPcGVuYmFyZSBlbnF1w6p0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJ1Jlc3VsdGF0ZW4gb3VkZXIgZGFuIGhldCBnZWNvbmZpZ3VyZWVyZGUgYWFudGFsIGRhZ2VuIHdvcmRlbiB2ZXJ3aWpkZXJkLiBPcG1lcmtpbmc6IHJlc3VsdGF0ZW4gdmVyd2lqZGVyZW4gd29yZHQgZ2VkYWFuIGRvb3IgZGUgT1RPQk8gRGFlbW9uLCB2b29yYWZnYWFuZGUgYWN0aXZlcmluZyB2YW4gZGUgaW5zdGVsbGluZyBcJ1RhYWsjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdUb29udCBlZW4gbGluayBpbiBoZXQgbWVudSBvbSBlZW4gZW5xdcOqdGUgdGUgYmV3ZXJrZW4gaW4gZGUgem9vbXdlZXJnYXZlIHZhbiBkZSBhZ2VudGludGVyZmFjZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdUb29udCBlZW4gbGluayBpbiBoZXQgbWVudSBvbSBlbnF1w6p0ZXZyYWdlbiB0ZSBiZXdlcmtlbiBpbiBkZSB6b29td2VlcmdhdmUgdmFuIGRlIGFnZW50aW50ZXJmYWNlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnVG9vbnQgZWVuIGxpbmsgaW4gaGV0IG1lbnUgb20gdGVydWcgdGUgZ2FhbiBuYWFyIGRlIGVucXXDqnRlem9vbXdlZXJnYXZlIHZhbiBkZSBhZ2VudGludGVyZmFjZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdUb29udCBlZW4gbGluayBpbiBoZXQgbWVudSBvbSBpbiBkZSB6b29td2VlcmdhdmUgdmFuIGRlIGFnZW50aW50ZXJmYWNlIGluIHRlIHpvb21lbiBvcCBkZSBkZXRhaWxzIHZhbiBkZSBlbnF1w6p0ZXN0YXRpc3RpZWtlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ1N0YXRpc3RpZWtlbiBkZXRhaWxzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJ01vZHVsZSBlbnF1w6p0ZSB0b2V2b2VnZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICdNb2R1bGUgZW5xdcOqdGUgYmV3ZXJrZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnRW5xdcOqdGUgb3ZlcnppY2h0ICJLbGVpbiIgbGltaWV0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnTW9kdWxlIEVucXXDqnRlc3RhdGlzdGlla2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnTW9kdWxlIGVucXXDqnRlem9vbS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICdFbnF1w6p0ZWxpbWlldCBwZXIgcGFnaW5hIHZvb3IgRW5xdcOqdGVvdmVyemljaHQgIktsZWluIi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICdFbnF1w6p0ZXMgd29yZGVuIG5pZXQgdmVyem9uZGVuIG5hYXIgZGUgZ2Vjb25maWd1cmVlcmRlIGUtbWFpbGFkcmVzc2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAnRGUgaWRlbnRpZmljYXRpZSB2b29yIGVlbiBlbnF1w6p0ZSwgYi52LiBFbnF1w6p0ZSMsIE1pam5FbnF1w6p0ZSMuIERlIHN0YW5kYWFyZHdhYXJkZSBpcyBFbnF1w6p0ZSMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAnVGlja2V0IGdlYmV1cnRlbmlzbW9kdWxlIG9tIGtsYW50ZW4gYXV0b21hdGlzY2ggZW5xdcOqdGVtYWlsdmVyem9la2VuIHRlIHN0dXJlbiBhbHMgZWVuIHRpY2tldCBpcyBnZXNsb3Rlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJ1Jlc3VsdGF0ZW4gdmVyd2lqZGVyZW4gYWN0aXZlcmVuIChpbmNsdXNpZWYgc3RlbWdlZ2V2ZW5zIGVuIHZlcnpvZWtlbikuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICdBY3RpdmVlciBoZXQgdmVyemVuZGVuIHZhbiB2ZXJ0cmFhZ2RlIGVucXXDqnRlYWFudnJhZ2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJ1pvb20gaW4gb3Agc3RhdGlzdGlzY2hlIGRldGFpbHMuJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/pl_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnBsX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ1V0d8Ozcnogbm93xIUgYW5raWV0xJknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnV3Byb3dhZHplbmllJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICdXc3TEmXAgYW5raWV0eSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ1RyZcWbxIcgcG93aWFkb21pZW5pYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ1dld27EmXRyem55IG9waXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3VzdG9tZXIgY29uZGl0aW9ucyd9ID0gJ1dhcnVua2kga2xpZW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJ1d5Ymllcnogd8WCYcWbY2l3b8WbY2kga2xpZW50YSBhYnkgZG9kYcSHIHdhcnVuZWsuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnS2x1Y3ogYW5raWV0eSBwdWJsaWN6bmVqJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnUHJ6eWvFgmFkb3dhIGFua2lldGEnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdFZHl0dWogaW5mb3JtYWNqZSBvZ8OzbG5lJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnRWR5dHVqIHB5dGFuaWEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAnSmVzdGXFmyB0dSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnUHl0YW5pYSBhbmtpZXR5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ0RvZGFqIHB5dGFuaWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICdXcHJvd2FkxbogcHl0YW5pZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICdXeW1hZ2FuYSBvZHBvd2llZMW6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnQnJhayBweXRhxYQgemFwaXNhbnljaCB3IHRlaiBhbmtpZWNpZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdQeXRhbmllJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBSZXF1aXJlZCd9ID0gJ1d5bWFnYW5hIG9kcG93aWVkxbonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJ0tpZWR5IHpha2/FhGN6eXN6IGVkeWNqxJkgcHl0YcWEIGFua2lldHkgcG8gcHJvc3R1IHphbWtuaWogdG8gb2tuby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICdaYW1rbmlqIHRvIG9rbm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJ0VkeXR1aiBweXRhbmllJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAncG93csOzdCBkbyBweXRhxYQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAnUHl0YW5pZTonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICdNb8W8bGl3ZSBvZHBvd2llZHppIGRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdEb2RhaiBvZHBvd2llZMW6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAnQnJhayB6YXBpc2FueWNoIG9kcG93aWVkemkgbmEgdG8gcHl0YW5pZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ05pZSBwb3NpYWRhIHdpZWx1IG9kcG93aWVkemksIGLEmWR6aWUgd3nFm3dpZXRsYW5lIHBvbGUgdGVrc3Rvd2UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnRWR5dHVqIG9kcG93aWVkxbonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAncG93csOzdCBkbyBlZHljamkgcHl0YW5pYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnT2Rwb3dpZWR6Oic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICdPcGNqZSBwcnplZ2zEhWR1IGFua2lldHknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJ0N6YXMgdXR3b3J6ZW5pYSBhbmtpZXR5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnQmV6IG9ncmFuaWN6ZcWEJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICdUeWxrbyBhbmtpZXR5IHV0d29yem9uZSBtacSZZHp5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJ01ha3MuIGxpY3piYSB3ecWbd2lldGxhbnljaCBhbmtpZXQgbmEgc3Ryb27EmSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAnTmFkYXdjYSBwb3dpYWRvbWllbmlhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnVGVtYXQgcG93aWFkb21pZW5pYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAnWm1pZW5pb25lIHByemV6JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ1ByemVnbMSFZCBzdGF0eXN0eWtpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAnVGFiZWxhIMW8xIVkYcWEJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICdaYXpuYWN6IHdzenlzdGtpZSDFvMSFZGFuaWEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAnQ3phcyB3eXPFgmFuaWEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnQ3phcyBnxYJvc293YW5pYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgdGhpcyByZXF1ZXN0J30gPSAnWmF6bmFjeiB0byDFvMSFZGFuaWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICdab2JhY3ogc3pjemVnw7PFgnknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnVXN1xYQgc3RhdHlzdHlraSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAnU3pjemVnw7PFgnkgc3RhdHlzdHlraSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAnV3N0ZWN6IGRvIHByemVnbMSFZHUgc3RhdHlzdHlraSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnUG9wcnplZG5pIGfFgm9zJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJ05hc3TEmXBueSBnxYJvcyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICdJbmZvcm1hY2plIG8gYW5raWVjaWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJ1d5c8WCYW5lIMW8xIVkYW5pYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnT3RyenltYW5lIGFua2lldHknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICdTemN6ZWfDs8WCeSBhbmtpZXR5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJ1pnxYJvc3plbmllIFVzxYJ1Zyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ1d5a3JlcyB3eW5pa8OzdyBhbmtpZXR5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICdCcmFrIHd5bmlrw7N3IGFua2lldHkuJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ0Fua2lldGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICdQcm9zesSZIG9kcG93aWVkemllxIcgbmEgdGUgcHl0YW5pYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICdQb2thxbwgbW9qZSBvZHBvd2llZHppJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICdPdG8gVHdvamUgb2Rwb3dpZWR6aSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICdUeXR1xYIgYW5raWV0eSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnRG9kYWogbm93xIUgYW5raWV0xJknOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnTmllIG1hc3ogdXByYXduaWXFhCBkbyB0ZWogYW5raWV0eSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnTmllIHBvZGFubyBpZGVudHlmaWthdG9yYSBhbmtpZXR5IFN1cnZleUlEISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ0VkeWNqYSBhbmtpZXR5JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJ05pZSBtYXN6IHVwcmF3bmllxYQgZG8gdGVqIGFua2lldHkgbHViIHB5dGFuaWEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAnTmllIG1hc3ogdXByYXduaWXFhCBkbyB0ZWogYW5raWV0eSwgcHl0YW5pYSBsdWIgb2Rwb3dpZWR6aSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAnRWR5Y2phIHB5dGHFhCBhbmtpZXR5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ1Rhay9OaWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAnUmFkaW8gKExpc3RhKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICdQb2xlIHd5Ym9ydSAoTGlzdGEpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnVHlwIHB5dGFuaWEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICdLb21wbGV0bmUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJ05pZWtvbXBsZXRuZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnRWR5Y2phIHB5dGHFhCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ0VkeWNqYSBvZHBvd2llZHppJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJ1N0YXR5c3R5a2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3Igc3RhdHMgZGV0YWlsISd9ID0gJ05pZSBtYXN6IHVwcmF3bmllxYQgZG8gdGVqIGFua2lldHkgbHViIHN6Y3plZ8OzxYLDs3cgc3RhdHlzdHlraSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnU3pjemVnw7PFgnkgc3RhdHlzdHlraSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJ05pZSBtb8W8bmEgem1pZW5pxIcgc3RhbnUhIEJyYWsgemRlZmluaW93YW55Y2ggcHl0YcWELic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJ05pZSBtb8W8bmEgem1pZW5pxIcgc3RhbnUhIFB5dGFuaWUgbmlla29tcGxldG5lLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICdabWllbmlvbm8gc3Rhbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSBOaWUgd3licmFubyBrb2xlamtpIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnLSBOaWUgd3licmFubyB0eXB1IHpnxYJvc3plbmlhIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnLSBOaWUgd3licmFubyB6Z8WCb3N6ZW5pYSB1c8WCdWcgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0gWm1pZcWEIHN0YW4gLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICdOYWRyesSZZG55JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICdOaWVha3R1YWxuZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnTm93eSBzdGFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJ09waXMgYW5raWV0eSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ29kcG93aWVkemlhbm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnbmllIG9kcG93aWVkemlhbm8nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJ0R6acSZa3VqxJlteSB6YSB3eXBlxYJuaWVuaWUgYW5raWV0eS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICdBbmtpZXRhIHpha2/FhGN6b25hLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICdXaWFkb21vxZvEhyBhbmtpZXR5ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNb2R1bGUgbm90IGVuYWJsZWQuJ30gPSAnTW9kdcWCIG5pZSB3xYLEhWN6b255Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJ1RhIGZ1bmtjam9uYWxub8WbxIcgbmllIGplc3Qgd8WCxIVjem9uYS4gUHJvc3rEmSBza29udGFrdHVqIHNpxJnCoHogYWRtaW5pc3RyYXRvcmVtLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnQsWCxIVkIGFua2lldHkhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICdOaWVwcmF3aWTFgm93eSBrbHVjeiBhbmtpZXR5Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnV3Byb3dhZHpvbnkga2x1Y3ogYW5raWV0eSBqZXN0IG5pZXByYXdpZMWCb3d5LiBKZcWbbGkgdHJhZmnFgmXFmyB0dXRhaiBwcnp5IHBvbW9jeSBsaW5rdSwgYnnEhyBtb8W8ZSBqZXN0IG9uIG5pZWFrdHVhbG55IGx1YiBuaWVwcmF3aWTFgm93eS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICdXeW5payBhbmtpZXR5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlIERhdGEnfSA9ICdEYW5lIHd5bmlrb3dlIGFua2lldHknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgYWxyZWFkeSBhbnN3ZXJlZCB0aGUgc3VydmV5Lid9ID0gJ0p1xbwgb2Rwb3dpZWR6aWHFgmXFmyBuYSB0xJkgYW5raWV0xJkuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICdMaXN0YSBhbmtpZXQnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICdDenkgbmEgcGV3bm8gY2hjZXN6IHVzdW7EhcSHIHRvIHB5dGFuaWU/IFdzenlzdGtpZSB6d2nEhXphbmUgZGFuZSBixJlkxIUgVVNVTknEmFRFISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJ0N6eSBuYSBwZXdubyBjaGNlc3ogdXN1bsSFxIcgdMSZIG9kcG93aWVkxbo/JzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJ01vZHXFgiBhbmtpZXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICdNb2R1xYIgZG8gZWR5Y2ppIHB5dGHFhCBhbmtpZXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdXc3p5c3RraWUgcGFyYW1ldHJ5IGRsYSBhbmtpZXQgdyBpbnRlcmZlanNpZSBhZ2VudGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ0xpY3piYSBkbmkgcG8ga3TDs3J5Y2ggbmFzdMSFcGkgd3lzxYJhbmllIMW8xIVkYW5pYSB3eXBlxYJuaWVuaWEgYW5raWV0eS4gV3Byb3dhZHplbmllICIwIiBzcG93b2R1amUgd3lzxYJhbmllIGUtbWFpbGEgemF3c3plLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICdEb215xZtsbmEgYnVkb3dhIGluZm9ybWFjamkgZGwgdcW8eXRrb3duaWthIG9kbm/Fm25pZSBub3dlaiBhbmtpZXR5Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0RvbXnFm2xueSBuYWRhd2NhIGluZm9ybWFjamkgbyBub3dlaiBhbmtpZWNpZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnRG9tecWbbG55IHRlbWF0IGluZm9ybWFjamkgbyBub3dlaiBhbmtpZXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICdEZWZuaXVqZSBtb2R1xYIgcHJ6ZWdsxIVkdSB3ecWbd2lldGxhbmlhIGxpc3QgYW5raWV0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICdPa3JlxZtsYSBncnVweSwga3TDs3JlIG1hasSFIGRvc3TEmXAgZG8gem1pYW55IHN0YXR1c8OzdyBhbmtpZXQuIFRhYmVsYSBqZXN0IGRvbXnFm2xuaWUgcHVzdGEgaSBhZ2VuY2kgemUgd3N6eXN0a2ljaCBncnVwIG1vZ8SFIHptaWVuaWHEhyBzdGF0dXN5Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnRGVmaW5pdWplIG1ha3N5bWFsbsSFIGxpY3pixJkgYW5raWV0IHd5c3nFgmFuaXUgZG8gS2xpZW50YSB3IGNpxIVndSAzMCBkbmkuICgwIG96bmFjemEgYnJhayBvZ3JhbmljemVuaWEsIHdzenlzdGtpZSDFvMSFZGFuaWEgYsSZZMSFIHd5c3nFgmFuZSkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnVXN0YWxhIGxpY3pixJkgZ29kemluIGt0w7NyZSBtdXN6xIUgbWluxIXEhyBvZCB6YW1rbmnEmWNpYSB6Z8WCb3N6ZW5pYSBkbyB3eXPFgmFuaWEgYW5raWV0eSAoMCBvem5hY3phIGJlenp3xYJvY3puxIUgd3lzecWCa8SZIHByenkgemFteWthbml1IHpnxYJvc3plbmlhKS4gVXdhZ2E6IG9ww7PFum5pb25lIHd5c3nFgmFuaWUgYW5raWV0eSBqZXN0IHJlYWxpem93YW5lIHByemV6IERlbW9uYSBPVE9CTywgcG8gdXByemVkbmllaiBha3R5d2FjamkgdyB1c3Rhd2llbmlhY2g6IFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJ0RlZmluaXVqZSBkb215xZtsbsSFIHd5c29rb8WbxIcgd2lkb2vDs3cgUmljaHRleHQgZGxhIGVsZW1lbnTDs3cgU3VydmV5Wm9vbS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJ0RlZmluaXVqZSBtYWtzeW1hbG7EhSB3eXNva2/Fm8SHIHdpZG9rw7N3IFJpY2h0ZXh0IGRsYSBlbGVtZW50w7N3IFN1cnZleVpvb20uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICdEZWZpbml1amUgd2lkb2N6bmUga29sdW1ueSB3IHByemVnbMSFZHppZSBhbmtpZXQuIFRhIG9wY2phIG5pZSB3cMWCeXdhIG5hIHBvenljasSZIGtvbHVtbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJ0VkeXR1aiBpbmZvcm1hY2plIG9nw7NsbmUgYW5raWV0eS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ0VkeXR1aiBweXRhbmlhIGFua2lldHkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJ1fFgsSFY3ogbHViIHd5xYLEhWN6IGVrcmFuIFNob3dWb3RlRGF0YSB3IGludGVyZmVqc2llIHB1YmxpY3pueW0gYWJ5IHBva2F6YcSHIHd5bmlraSBhbmtpZXR5IGdkeSBrbGllbnQgcHLDs2J1amUgb2Rwb3dpZWR6aWXEhyBuYSBha2lldMSZIGRydWdpIHJhei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICdXxYLEhWN6YSBsdWIgd3nFgsSFY3phIHNwcmF3ZHphbmllIHdhcnVua3Ugd3lzecWCa2kgZGxhIHVzxYJ1Z2kuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnV8WCxIVjemEgbHViIHd5xYLEhWN6YSBzcHJhd2R6YW5pZSB3YXJ1bmt1IHd5c3nFgmtpIGRsYSB0eXB1IHpnxYJvc3plbmlhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNb2R1xYIgZnJvbnRlbmQgcmVqZXN0cnVqxIVjeSBkb2Rhd2FuaWUgYW5raWV0IHcgcGFuZWx1IGFnZW50YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ01vZHXFgiBmcm9udGVuZCByZWplc3RydWrEhWN5IGVkeWNqxJkgYW5raWV0IHcgcGFuZWx1IGFnZW50YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNb2R1xYIgZnJvbnRlbmQgcmVqZXN0cnVqxIVjeSBzdGF0eXN0eWvEmSBhbmtpZXQgdyBwYW5lbHUgYWdlbnRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTW9kdcWCIGZyb250ZW5kIHJlamVzdHJ1asSFY3kgcG9kZ2zEhWQgYW5raWV0IHcgcGFuZWx1IGFnZW50YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ01vZHXFgiBmcm9udGVuZCByZWplc3RydWrEhWN5IG9iaWVrdCBQdWJsaWNTdXJ2ZXkgdyBvYnN6YXJ6ZSBwdWJsaWN6bnltIGFua2lldHkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICdHZHkgdG8gd3lyYcW8ZW5pZSByZWd1bGFybmUgamVzdCBzcGXFgm5pb25lLCBuaWUgem9zdGFuaWUgd3lzxYJhbmEgxbxhZG5hIGFua2lldGEgZG8ga2xpZW50YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnUGFyYW1ldHJ5IGRsYSBzdHJvbiAobmEga3TDs3J5Y2ggcG9rYXp5d2FuZSBzxIUgYW5raWV0eSkgZGxhIG1hxYJlZ28gcHJ6ZWdsxIVkdSBhbmtpZXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnQW5raWV0YSBwdWJsaWN6bmEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUG9rYXp1amUgbGluayB3IG1lbnUgZG8gZWR5Y2ppIGFua2lldHkgdyBqZWogcHJ6eWJsacW8b255bSB3aWRva3UgdyBpbnRlcmZlanNpZSBhZ2VudGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUG9rYXp1amUgbGluayB3IG1lbnUgZG8gZWR5Y2ppIHB5dGHFhCBhbmtpZXR5IHcgamVqIHByenlibGnFvG9ueW0gd2lkb2t1IHcgaW50ZXJmZWpzaWUgYWdlbnRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUG9rYXp1amUgdyBtZW51IGxpbmsgd3N0ZWN6IHcgd2lkb2t1IHByenlibGnFvG9ueW0gYW5raWV0eSB3IGludGVyZmVqc2llIGFnZW50YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdQb2thenVqZSBsaW5rIHcgbWVudSBkbyBwcnp5YmxpxbxhbmlhIHN6Y3plZ8OzxYLDs3cgc3RhdHlzdHlrIGFua2lldHkgdyBqZWogd2lkb2t1IHByenlibGnFvG9ueW0gdyBpbnRlcmZlanNpZSBhZ2VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ1N6Y3plZ8OzxYJ5IHN0YXR5c3R5ayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICdNb2R1xYIgZG9kYXdhbmlhIGFua2lldC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJ01vZHXFgiBlZHljamkgYW5raWV0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJ0xpbWl0ICJtYcWCZWdvIiBwcnplZ2zEhWR1IGFua2lldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJ01vZHXFgiBzdGF0eXN0eWsgYW5raWV0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnUG9kZ2zEhWQgYW5raWV0eS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICdMaW1pdCBpbG/Fm2NpIGFua2lldCB3ICJtYcWCeW0iIHByemVnbMSFZHppZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICdBbmtpZXR5IG5pZSBixJlkxIUgd3lzecWCYW5lIG5hIHNrb25maWd1cm93YW5lIGFkcmVzeSBlbWFpbC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ0lkZW50eWZpa2FjamEgZGxhIGFua2lldHksIG5wLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIERvbXnFm2xuaWU6IFN1cnZleSMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAnWmRhcnplbmllIHpnxYJvc3plbmlhIHd5c3nFgmEgYXV0b21hdHljem5pZSBlLW1haWxhIHogcHJvxZtixIUgbyB3eXBlxYJuaWVuaWUgYW5raWV0eSBwbyB6YW1rbmnEmWNpdSB6Z8WCb3N6ZW5pYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnV3l6d2FsYWN6IG9ww7PFum5pb25laiB3eXN5xYJraSBwcsOzxZtiIG8gd3lwZcWCbmllbmllIGFua2lldHkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnUG9kZ2zEhWQgc3pjemVnw7PFgsOzdyBzdGF0eXN0eWsuJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/pt_BR_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnB0X0JSX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0NyaWFyIE5vdmEgUGVzcXVpc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnSW50cm9kdcOnw6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICdJbnRyb2R1w6fDo28gZGEgUGVzcXVpc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIEJvZHknfSA9ICdDb3JwbyBkYSBOb3RpZmljYcOnw6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnRGVzY3Jpw6fDo28gSW50ZXJuYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnQ29uZGnDp8O1ZXMgZG8gY2xpZW50ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJ1BvciBmYXZvciwgZXNjb2xoYSB1bWEgcHJvcHJpZWRhZGUgZG8gY2xpZW50ZSBwYXJhIGFkaWNpb25hciB1bWEgY29uZGnDp8Ojby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICdDaGF2ZSBkZSBwZXNxdWlzYSBww7pibGljYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJ0V4ZW1wbG8gZGUgcGVzcXVpc2EnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdFZGl0YXIgSW5mb3JtYcOnw7VlcyBHZXJhaXMnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdFZGl0YXIgUGVyZ3VudGFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ1ZvY8OqIGVzdGEgYXF1aSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnUGVyZ3VudGFzIGRhIFBlc3F1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ0FkaWNpb25hciBQZXJndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ0VzY3JldmEgYSBwZXJndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICdSZXNwb3N0YSByZXF1ZXJpZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICdOZW5odW1hIHF1ZXN0w6NvIHNhbHZhIHBhcmEgZXN0YSBwZXNxdWlzYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdQZXJndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICdSZXNwb3N0YSBSZXF1ZXJpZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJ1F1YW5kbyB2b2PDqiB0ZXJtaW5hciBkZSBlZGl0YXIgYXMgcXVlc3TDtWVzIGRhIHBlc3F1aXNhLCBhcGVuYXMgZmVjaGUgYSB0ZWxhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJ0ZlY2hhciBlc3RhIGphbmVsYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnRWRpdGFyIFBlcmd1bnRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAndm9sdGFyIMOgcyBwZXJndW50YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAnUXVlc3TDo286JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAnUG9zc8OtdmVpcyBSZXNwb3N0YXMgUGFyYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAnQWRpY2lvbmFyIFJlc3Bvc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAnTsOjbyBow6EgcmVzcG9zdGFzIHNhbHZhcyBwYXJhIGVzdGEgcXVlc3TDo28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ0VzdGEgcGVyZ3VudGEgbsOjbyBwb3NzdWkgdsOhcmlhcyByZXNwb3N0YXMsIHVtYSDDoXJlYSBkZSB0ZXh0byBzZXLDoSBtb3N0cmFkYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJ0VkaXRhciBSZXNwb3N0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIGVkaXQgcXVlc3Rpb24nfSA9ICd2b2x0YXIgcGFyYSBlZGl0YXIgcGVyZ3VudGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJ1Jlc3Bvc3RhOic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICdPcMOnw7VlcyBkZSB2aXPDo28gZ2VyYWwgZGEgcGVzcXVpc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnQnVzY2FzIG5vcyBhdHJpYnV0b3MgTsO6bWVybywgVMOtdHVsbywgSW50cm9kdcOnw6NvLCBEZXNjcmnDp8OjbywgRW52aWFkb3IgZGUgTm90aWZpY2HDp8OjbywgQXNzdW50byBkZSBOb3RpZmljYcOnw6NvIGUgQ29ycG8gZGUgTm90aWZpY2HDp8Ojbywgc29icmVzY3JldmVuZG8gYXRyaWJ1dG9zIGRlIG1lc21vIG5vbWUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJ0hvcmEgZGUgQ3JpYcOnw6NvIGRhIFBlc3F1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnU2VtIHJlc3RyacOnw7Vlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnQXBlbmFzIHBlc3F1aXNhcyBjcmlhZGFzIGVudHJlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJ1F0ZC4gbcOheC4gZGUgcGVzcXVpc2FzIGV4aWJpZGFzIHBvciBww6FnaW5hJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICdSZW1ldGVudGUgZGEgTm90aWZpY2HDp8Ojbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJ0Fzc3VudG8gZGEgTm90aWZpY2HDp8Ojbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAnTW9kaWZpY2FkbyBwb3InOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5U3RhdHMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3IG9mJ30gPSAnUmVzdW1vIGRlIEVzdGF0w61zdGljYXMgZGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICdUYWJlbGEgZGUgUmVxdWlzacOnw7Vlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnU2VsZWNpb25hciB0b2RvcyBvcyBwZWRpZG9zJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJ0hvcmEgZGUgRW52aW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnSG9yYSBkbyBWb3RvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICdTZWxlY2lvbmFyIGVzdGUgcGVkaWRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAnVmVyIGRldGFsaGVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSBzdGF0cyd9ID0gJ0V4Y2x1aXIgZXN0YXTDrXN0aWNhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAnRGV0YWxoZXMgZGUgRXN0YXTDrXN0aWNhcyBkYSBQZXNxdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAndm9sdGFyIGFvIHJlc3VtbyBkZSBlc3RhdMOtc3RpY2FzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICdWb3RvIGFudGVyaW9yJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJ1Byw7N4aW1vIHZvdG8nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAnSW5mb3JtYcOnw6NvIGRhIFBlc3F1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbnQgcmVxdWVzdHMnfSA9ICdTb2xpY2l0YcOnw7VlcyBlbnZpYWRhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnU29saWNpdGHDp8O1ZXMgcmVjZWJpZGFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnRGV0YWxoZXMgZGEgUGVzcXVpc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAnU2VydmnDp28gZG8gY2hhbWFkbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ0dyw6FmaWNvcyBkZSBSZXN1bHRhZG9zIGRhIFBlc3F1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICdTZW0gcmVzdWx0YWRvcyBkZSBlc3RhdMOtc3RpY2FzLic7CgogICAgIyBUZW1wbGF0ZTogUHVibGljU3VydmV5CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXknfSA9ICdQZXNxdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJ1BvciBmYXZvciwgcmVzcG9uZGEgZXN0YXMgcXVlc3TDtWVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJ01vc3RyYXIgbWluaGFzIHJlc3Bvc3Rhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnRXN0YXMgc8OjbyBzdWFzIHJlc3Bvc3Rhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICdUw610dWxvIGRhIFBlc3F1aXNhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICdBZGljaW9uYXIgTm92YSBQZXNxdWlzYSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICdWb2PDqiBuw6NvIHRlbSBwZXJtaXNzw6NvIHBhcmEgZXN0YSBwZXNxdWlzYSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnTmVuaHVtIElEIGRhIFBlc3F1aXNhIGluZm9ybWFkbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICdFZGl0YXIgUGVzcXVpc2EnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdFF1ZXN0aW9ucy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJ30gPSAnVm9jw6ogbsOjbyB0ZW0gcGVybWlzc8OjbyBwYXJhIGVzdGEgcGVzcXVpc2Egb3UgcGVyZ3VudGEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAnVm9jw6ogbsOjbyB0ZW0gcGVybWlzc8OjbyBwYXJhIGVzdGEgcGVzcXVpc2EsIHBlcmd1bnRhIG91IHJlc3Bvc3RhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICdFZGl0YXIgUGVyZ3VudGFzIGRhIFBlc3F1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ1NpbS9Ow6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ1JhZGlvIChMaXN0YSknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAnQ2hlY2tib3ggKExpc3RhKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICdQb250dWHDp8OjbyBsw61xdWlkYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnVGlwbyBkZSBxdWVzdMOjbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJ0NvbXBsZXRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICdJbmNvbXBsZXRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICdFZGnDp8OjbyBkZSBQZXJndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ0VkacOnw6NvIGRlIFJlc3Bvc3RhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJ1Jlc3VtbyBkZSBFc3RhdMOtc3RpY2FzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICdWb2PDqiBuw6NvIHRlbSBwZXJtaXNzw6NvIHBhcmEgZXN0YSBwZXNxdWlzYSBvdSBkZXRhbGhlcyBkZSBlc3RhdMOtc3RpY2FzISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICdEZXRhbGhlIGRhIGVzdGF0w61zdGljYSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJ07Do28gw6kgcG9zc8OtdmVsIGNvbmZpZ3VyYXIgbyBub3ZvIGVzdGFkby4gTmVuaHVtYSBxdWVzdMOjbyBkZWZpbmlkYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICdOw6NvIMOpIHBvc3PDrXZlbCBkZWZpbmlyIG5vdm8gc3RhdHVzISBQZXJndW50YXMgaW5jb21wbGV0YXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ0VzdGFkbyBhbHRlcmFkby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnTmVuaHVtYSBmaWxhIHNlbGVjaW9uYWRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJy0gTmVuaHVtIHRpcG8gZGUgY2hhbWFkbyBzZWxlY2lvbmFkbyAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJy0gTmVuaHVtIHNlcnZpw6dvIGRlIGNoYW1hZG8gc2VsZWNpb25hZG8gLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0gQWx0ZXJhciBFc3RhZG8gLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICdNZXN0cmUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ0ludsOhbGlkbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnTm92byBlc3RhZG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERlc2NyaXB0aW9uJ30gPSAnRGVzY3Jpw6fDo28gZGEgUGVzcXVpc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdSZXNwb25kaWRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J25vdCBhbnN3ZXJlZCd9ID0gJ07Do28gcmVzcG9uZGlkbyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnT2JyaWdhZG8gcGVsYSBzdWEgcGFydGljaXBhw6fDo28uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnQSBwZXNxdWlzYSBlc3TDoSBmaW5hbGl6YWRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICdNZW5zYWdlbSBkYSBQZXNxdWlzYSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJ03Ds2R1bG8gbsOjbyBoYWJpbGl0YWRvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJ0VzdGEgZnVuY2lvbmFsaWRhZGUgbsOjbyBlc3TDoSBhdGl2YSwgcG9yIGZhdm9yIGNvbnRhdGUgc2V1IGFkbWluaXN0cmFkb3IuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFcnJvciEnfSA9ICdFcnJvIG5hIFBlc3F1aXNhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnQ2hhdmUgZGEgcGVzcXVpc2EgaW52w6FsaWRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnQSBjaGF2ZSBkYSBwZXNxdWlzYSBpbnNlcmlkYSDDqSBpbnbDoWxpZGEsIHNlIHZvY8OqIGFjZXNzb3UgdW0gbGluaywgdGFsdmV6IGVsZSBlc3RlamEgb2Jzb2xldG8gb3UgcXVlYnJhZG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAnVm90byBkYSBQZXNxdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnRGFkb3MgZG8gdm90byBkYSBwZXNxdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnVm9jw6ogasOhIHJlc3BvbmRldSBhIHBlc3F1aXNhLic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnTGlzdGEgZGUgZW5xdWV0ZXMnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICdWb2PDqiByZWFsbWVudGUgZGVzZWphIGV4Y2x1aXIgZXNzYSBxdWVzdMOjbz8gVE9ET1Mgb3MgZGFkb3MgYXNzb2NpYWRvcyBzZXLDo28gUEVSRElET1MhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnVm9jw6ogcmVhbG1lbnRlIHF1ZXIgZXhjbHVpciBlc3NhIHJlc3Bvc3RhID8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnVW0gTcOzZHVsbyBkZSBQZXNxdWlzYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ1VtIG3Ds2R1bG8gcGFyYSBlZGl0YXIgcGVyZ3VudGFzIGRlIHBlc3F1aXNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1RvZG9zIG9zIHBhcsOibWV0cm9zIHBhcmEgYSBQZXNxdWlzYSBuYSBpbnRlcmZhY2UgZG8gYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICdJbnRlcnZhbG8gZGUgZGlhcyBhcMOzcyBlbnZpYXIgdW0gZS1tYWlsIGRlIHBlc3F1aXNhIGRlbnRybyBkbyBxdWFsIG5vdmFzIHJlcXVpc2nDp8O1ZXMgZGUgcGVzcXVpc2EgbsOjbyBzZXLDo28gZW52aWFkYXMgcGFyYSBvIG1lc21vIGNsaWVudGUuIFNlbGVjaW9uYXIgMCBpcsOhIHNlbXByZSBlbnZpYXIgbyBlLW1haWwgZGUgcGVzcXVpc2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0NvcnBvIHBhZHLDo28gcGFyYSBvIGUtbWFpbCBkZSBub3RpZmljYcOnw6NvIGRlIGNsaWVudGVzIHNvYnJlIG5vdmEgcGVzcXVpc2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnUmVtZXRlbnRlIHBhZHLDo28gcGFyYSBvIGUtbWFpbCBkZSBub3RpZmljYcOnw6NvIGRlIGNsaWVudGVzIHNvYnJlIG5vdmEgcGVzcXVpc2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc3ViamVjdCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0Fzc3VudG8gcGFkcsOjbyBwYXJhIG8gZS1tYWlsIGRlIG5vdGlmaWNhw6fDo28gZGUgY2xpZW50ZXMgc29icmUgbm92YSBwZXNxdWlzYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnRGVmaW5lIG8gbcOzZHVsbyBkZSB2aXPDo28gZ2VyYWwgcGFyYSBleGliaXIgYSB2aXPDo28gcGVxdWVuYSBkZSB1bWEgbGlzdGEgZGUgcGVzcXVpc2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJ0RlZmluZSBncnVwb3MgcXVlIHTDqm0gcGVybWlzc8OjbyBwYXJhIGFsdGVyYXIgbyBzdGF0dXMgZGEgcGVzcXVpc2EuICBBIG1hdHJpeiBlc3TDoSB2YXppYSBwb3IgcGFkcsOjbyBlIGFnZW50ZXMgZGUgdG9kb3Mgb3MgZ3J1cG9zIHBvZGVtIGFsdGVyYXIgbyBzdGF0dXMgZGEgcGVzcXVpc2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnRGVmaW5lIHNlIGFzIHNvbGljaXRhw6fDtWVzIGRlIHBlcXVpc2Egc2Vyw6NvIGVudmlhZGFzIGFwZW5hcyBwYXJhIGNsaWVudGVzIHJlYWlzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnRGVmaW5lIGEgbcOheGltYSBxdWFudGlkYWRlIGRlIHBlc3F1aXNhcyBxdWUgc8OjbyBlbnZpYWRhcyBwYXJhIHVtIGNsaWVudGUgYSBjYWRhIDMwIGRpYXMgKDAgc2lnbmlmaWNhIHF1ZSBuw6NvIGjDoSBtw6F4aW1vOyB0b2RhcyBhcyByZXF1aXNpw6fDtWVzIGRlIHBlc3F1aXNhIHNlcsOjbyBlbnZpYWRhcykuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnRGVmaW5lIGEgcXVhbnRpZGFkZSBkZSBob3JhcyBxdWUgdW0gY2hhbWFkbyBkZXZlIGVzdGFyIGZlY2hhZG8gcGFyYSBlbnZpbyBkZSB1bWEgcGVzcXVpc2EgKDAgc2lnbmlmaWNhIGVudmlhciBpbWVkaWF0YW1lbnRlIGFww7NzIGZlY2hhbWVudG8pLiBOb3RhOiB1bSBlbnZpbyB0YXJkaW8gZGUgcGVzcXVpc2Egw6kgZmVpdG8gcGVsbyBPVE9CTyBEYWVtb24sIHNvYiBhdGl2YcOnw6NvIGRhIGNvbmZpZ3VyYcOnw6NvICBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICdEZWZpbmUgYXMgY29sdW5hcyBkYSBsaXN0YSBzdXNwZW5zYSBwYXJhIGNyaWHDp8OjbyBkZSBjb25kacOnw7VlcyBkZSBlbnZpbyAoMD0+IGluYXRpdm8sIDE9PiBhdGl2bykuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJ0RlZmluZSBhIGFsdHVyYSBwYWRyw6NvIHBhcmEgUmljaHRleHQgbm9zIGVsZW1lbnRvcyBkYSBTdXJ2ZXlab29tJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJ0RlZmluZSBvcyBncnVwb3MgKHJ3KSBxdWUgcG9kZW0gZXhjbHVpciBhcyBlc3RhdMOtc3RpY2FzIGRhIHBlc3F1aXNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdEZWZpbmUgYSBhbHR1cmEgbcOheGltYSBwYXJhIHZpc3VhbGl6YcOnw7VlcyBkbyBSaWNodGV4dCBub3MgZWxlbWVudG9zIGRvIFN1cnZleVpvb20uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICdEZWZpbmUgYXMgY29sdW5hcyBleGliaWRhcyBuYSB2aXPDo28gZ2VyYWwgZGUgcGVzcXVpc2EuIEVzdGEgb3DDp8OjbyBuw6NvIHRlbSBlZmVpdG8gc29icmUgYSBwb3Npw6fDo28gZGFzIGNvbHVuYXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICdEZXRlcm1pbmEgc2UgbyBtw7NkdWxvIGRlIGVzdGF0w61zdGljYXMgcG9kZSBnZXJhciBsaXN0YXMgZGUgcGVzcXVpc2FzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJ0VkaXRhciBpbmZvcm1hw6fDo28gZ2VyYWwgZGEgcGVzcXVpc2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICdFZGl0YXIgYXMgcXVlc3TDtWVzIGRhIHBlc3F1aXNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICdIYWJpbGl0YSBvdSBkZXNhYmlsaXRhIGEgdGVsYSBTaG93Vm90ZURhdGEgbmEgaW50ZXJmYWNlIHDDumJsaWNhIHBhcmEgZXhpYmlyIGRhZG9zIGRvIHJlc3VsdGFkbyBkZSB1bWEgcGVzcXVpc2EgZXNwZWPDrWZpY2EgcXVhbmRvIG8gY2xpZW50ZSB0ZW50YSByZXNwb25kZXIgdW1hIHBlc3F1aXNhIHBlbGEgc2VndW5kYSB2ZXouJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAnQXRpdmEgb3UgZGVzYXRpdmEgdmVyaWZpY2HDp8OjbyBkZSBjb25kacOnw7VlcyBkZSBzZXJ2acOnb3MgcGFyYSBlbnZpby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICdBdGl2YSBvdSBkZXNhdGl2YSB2ZXJpZmljYcOnw6NvIGRlIGNvbmRpw6fDtWVzIGRlIHRpcG9zIHBhcmEgZW52aW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJvIGRlIG3Ds2R1bG8gZGUgaW50ZXJmYWNlIHBhcmEgYWRpw6fDo28gZGUgcGVzcXVpc2EgbmEgaW50ZXJmYWNlIGRlIGF0ZW5kZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJvIGRlIG3Ds2R1bG8gZGUgaW50ZXJmYWNlIHBhcmEgZWRpw6fDo28gZGUgcGVzcXVpc2EgbmEgaW50ZXJmYWNlIGRlIGF0ZW5kZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZWdpc3RybyBkZSBtw7NkdWxvIGRlIGludGVyZmFjZSBwYXJhIGVzdGF0w61zdGljYSBkZSBwZXNxdWlzYSBuYSBpbnRlcmZhY2UgZGUgYXRlbmRlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUmVnaXN0cm8gZGUgbcOzZHVsbyBkZSBpbnRlcmZhY2UgcGFyYSBkZXRhbGhlcyBkZSBwZXNxdWlzYSBuYSBpbnRlcmZhY2UgZGUgYXRlbmRlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnUmVnaXN0cm8gZGUgbcOzZHVsbyBkZSBpbnRlcmZhY2UgcGFyYSBvIG9iamV0byBQdWJsaWNTdXJ2ZXkgbmEgw6FyZWEgZGUgcGVzcXVpc2EgcMO6YmxpY2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICdTZSBlc3RhIHJlZ2V4IGZvciBlbmNvbnRyYWRhLCBuZW5odW1hIHBlc3F1aXNhIHNlcsOhIGVudmlhZG8gcGFyYSBvIGNsaWVudGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnTGltaXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJ1BhcsOibWV0cm9zIHBhcmEgYXMgcMOhZ2luYXMgKG5hcyBxdWFpcyBhcyBwZXNxdWlzYXMgc8OjbyBtb3N0cmFkYXMpIGRhIHZpc8OjbyBnZXJhbCBkZSBwZXNxdWlzYSBwZXF1ZW5hLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJ1Blc3F1aXNhIFDDumJsaWNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICdSZXN1bHRhZG9zIG1haXMgYW50aWdvcyBxdWUgYSBxdWFudGlkYWRlIGNvbmZpZ3VyYWRhIGRlIGRpYXMgc2Vyw6NvIGV4Y2x1w61kb3MuIE5vdGE6IGV4Y2x1YSByZXN1bHRhZG9zIGZlaXRvcyBwZWxvIERhZW1vbiBPVE9CTywgYXRpdmHDp8OjbyBwcsOpdmlhIGRhIGNvbmZpZ3VyYcOnw6NvIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0V4aWJlIHVtIGxpbmsgbm8gbWVudSBwYXJhIGVkaXRhciB1bWEgcGVzcXVpc2EgZW0gc3VhIHZpc8OjbyBkZSBkZXRhbGhlcyBuYSBpbnRlcmZhY2UgZGUgYXRlbmRlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0V4aWJlIHVtIGxpbmsgbm8gbWVudSBwYXJhIGVkaXRhciBxdWVzdMO1ZXMgZGUgcGVzcXVpc2EgZW0gc3VhIHZpc8OjbyBkZSBkZXRhbGhlcyBuYSBpbnRlcmZhY2UgZGUgYXRlbmRlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRXhpYmUgdW0gbGluayBubyBtZW51IHBhcmEgdm9sdGFyIGRhIHZpc8OjbyBkZSBkZXRhbGhlcyBkZSB1bWEgcGVzcXVpc2EgbmEgaW50ZXJmYWNlIGRlIGF0ZW5kZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdFeGliZSB1bSBsaW5rIG5vIG1lbnUgcGFyYSBkZXRhbGhhciBhcyBlc3RhdMOtc3RpY2FzIGRhIHBlc3F1aXNhIGVtIHN1YSB2aXPDo28gZGUgZGV0YWxoZXMgbmEgaW50ZXJmYWNlIGRlIGF0ZW5kZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ0RldGFsaGVzIGRhIGVzdGF0w61zdGljYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICdNw7NkdWxvIGRlIGFkacOnw6NvIGRlIHBlc3F1aXNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnTcOzZHVsbyBkZSBlZGnDp8OjbyBkZSBwZXNxdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJ0xpbWl0ZSBkYSBWaXPDo28gR2VyYWwgZGUgUGVzcXVpc2EgIlBlcXVlbmEiJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnTcOzZHVsbyBkZSBFc3RhdMOtc3RpY2FzIGRlIFBlc3F1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICdNw7NkdWxvIGRlIERldGFsaGUgZGUgUGVzcXVpc2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnTGltaXRlIGRlIHBlc3F1aXNhIHBvciBww6FnaW5hIHBhcmEgVmlzw6NvIEdlcmFsIGRhIHBlc3F1aXNhICJQZXF1ZW5vIi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICdBcyBwZXNxdWlzYXMgbsOjbyBzZXLDoSBlbnZpYWRhcyBwYXJhIG9zIGVuZGVyZcOnb3MgZGUgZS1tYWlsIGNvbmZpZ3VyYWRvcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ08gaWRlbnRpZmljYWRvciBkZSB1bWEgcGVzcXVpc2EsIGV4LiBQZXNxdWlzYSMsIE1pbmhhUGVzcXVpc2EjLiBPIHBhZHLDo28gw6kgUGVzcXVpc2EjLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgZXZlbnQgbW9kdWxlIHRvIHNlbmQgYXV0b21hdGljYWxseSBzdXJ2ZXkgZW1haWwgcmVxdWVzdHMgdG8gY3VzdG9tZXJzIGlmIGEgdGlja2V0IGlzIGNsb3NlZC4nfSA9CiAgICAgICAgJ03Ds2R1bG8gZGUgZXZlbnRvIGRlIGNoYW1hZG8gcGFyYSBlbnZpYXIgcmVxdWlzacOnw7VlcyBkZSBwZXNxdWlzYSB2aWEgZS1tYWlsIGF1dG9tYXRpY2FtZW50ZSBwYXJhIGNsaWVudGVzIHNlIHVtIGNoYW1hZG8gZm9yIGZlY2hhZG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICdBY2lvbmFyIG9zIHJlc3VsdGFkb3MgZGEgZXhjbHVzw6NvICggaW5jbHVpbmRvIGRhZG9zIGRlIHZvdG8gZSBzb2xpY2l0YcOnw7VlcyknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJ0Rpc3BhcmFyIG8gZW52aW8gZGUgc29saWNpdGHDp8O1ZXMgZGUgcGVzcXVpc2EgYXRyYXNhZGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJ1pvb20gZW0gZGV0YWxoZXMgZGUgZXN0YXTDrXN0aWNhcy4nOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/pt_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnB0X1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ0NyaWFyIG5vdm8gcXVlc3Rpb27DoXJpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICdJbnRyb2R1w6fDo28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJ0ludHJvZHXDp8OjbyBkZSBxdWVzdGlvbsOhcmlvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAnQ29ycG8gZGEgTm90aWZpY2HDp8Ojbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ0Rlc2NyacOnw6NvIGludGVybmEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3VzdG9tZXIgY29uZGl0aW9ucyd9ID0gJ0NvbmRpw6fDtWVzIGRvIGNsaWVudGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICdQb3IgZmF2b3IsIGVzY29saGEgdW1hIHByb3ByaWVkYWRlIGRvIGNsaWVudGUgcGFyYSBhZGljaW9uYXIgdW1hIGNvbmRpw6fDo28uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnQ2hhdmUgcMO6YmxpY2EgZG8gcXVlc3Rpb27DoXJpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFeGFtcGxlIHN1cnZleSd9ID0gJ0V4ZW1wbG8nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdFZGl0YXIgSW5mb3JtYcOnw7VlcyBHZXJhaXMnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdFZGl0YXIgUGVyZ3VudGFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ0VzdMOhIGFxdWknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFF1ZXN0aW9ucyd9ID0gJ1Blcmd1bnRhcyBkbyBxdWVzdGlvbsOhcmlvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ0FkaWNpb25hciBRdWVzdMOjbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ0ludHJvZHV6YSBhIHF1ZXN0w6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJ1Jlc3Bvc3RhIG9icmlnYXTDs3JpYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJ05lbmh1bWEgcGVyZ3VudGEgZGVmaW5pZGEgcGFyYSBlc3RlIHF1ZXN0aW9uw6FyaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uJ30gPSAnUXVlc3TDo28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnUmVzcG9zdGEgT2JyaWdhdMOzcmlhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICdRdWFuZG8gdGVybWluYXIgZGUgZWRpdGFyIGFzIHBlcmd1bnRhcyBkbyBxdWVzdGlvbsOhcmlvLCBhcGVuYXMgZmVjaGUgYSBqYW5lbGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAnRmVjaGFyIGVzdGEgamFuZWxhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICdFZGl0YXIgUXVlc3TDo28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBxdWVzdGlvbnMnfSA9ICd2b2x0YXIgw6BzIHBlcmd1bnRhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICdRdWVzdMOjbzonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICdQb3Nzw612ZWlzIFJlc3Bvc3RhcyBQYXJhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdBZGljaW9uYXIgcmVzcG9zdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICdOw6NvIGjDoSByZXNwb3N0YXMgZGVmaW5pZGFzIHBhcmEgZXN0YSBwZXJndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnRXN0YSBwZXJndW50YSBuw6NvIHBvc3N1aSB2w6FyaWFzIHJlc3Bvc3RhcywgdW1hIMOhcmVhIGRlIHRleHRvIHNlcsOhIG1vc3RyYWRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnRWRpdGFyIHJlc3Bvc3RhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ3ZvbHRhciBwYXJhIGVkaXRhciBwZXJndW50YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnUmVzcG9zdGEnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnT3DDp8O1ZXMgZGEgdmlzw6NvIGdlcmFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJ1Byb2N1cmEgbm9zIGF0cmlidXRvcyBOw7ptZXJvLCBUw610dWxvLCBJbnRyb2R1w6fDo28sIERlc2NyacOnw6NvLCBFbnZpYWRvciBkZSBOb3RpZmljYcOnw6NvLCBBc3N1bnRvIGRlIE5vdGlmaWNhw6fDo28gZSBDb3JwbyBkZSBOb3RpZmljYcOnw6NvLCBzb2JyZXNjcmV2ZW5kbyBhdHJpYnV0b3MgY29tIG8gbWVzbW8gbm9tZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnSG9yYSBkZSBjcmlhw6fDo28gZG8gcXVlc3Rpb27DoXJpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJ1NlbSByZXN0cmnDp8O1ZXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJ0FwZW5hcyBxdWVzdGlvbsOhcmlvcyBjcmlhZG9zIGVudHJlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJ1F0ZC4gbcOheC4gZGUgcXVlc3Rpb27DoXJpb3MgZXhpYmlkb3MgcG9yIHDDoWdpbmEnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJ1JlbWV0ZW50ZSBkYSBOb3RpZmljYcOnw6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnQXNzdW50byBkYSBOb3RpZmljYcOnw6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICdNb2RpZmljYWRvIHBvcic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICdSZXN1bW8gZGUgRXN0YXTDrXN0aWNhcyBkZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ1RhYmVsYSBkZSBQZWRpZG9zJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICdTZWxlY2lvbmFyIHRvZG9zIG9zIHBlZGlkb3MnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAnSG9yYSBkZSBFbnZpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICdIb3JhIGRvIFZvdG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJ1NlbGVjaW9uYXIgZXN0ZSBwZWRpZG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICdWZXIgZGV0YWxoZXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnQXBhZ2FyIGVzdGF0w61zdGljYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAnRGV0YWxoZXMgZGEgZXN0YXTDrXN0aWNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICd2b2x0YXIgYW8gcmVzdW1vIGRlIGVzdGF0w61zdGljYXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJ1ZvdG8gYW50ZXJpb3InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAnUHLDs3hpbW8gdm90byc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICdJbmZvcm1hw6fDo28gYWNlcmNhIGRvIHF1ZXN0aW9uw6FyaW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJ1BlZGlkb3MgZW52aWFkb3MnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjZWl2ZWQgc3VydmV5cyd9ID0gJ1BlZGlkb3MgcmVjZWJpZG9zJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnRGV0YWxoZXMgZG8gcXVlc3Rpb27DoXJpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICdTZXJ2acOnb3MnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFJlc3VsdHMgR3JhcGgnfSA9ICdHcsOhZmljbyBkZSByZXN1bHRhZG9zJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICdTZW0gcmVzdWx0YWRvcy4nOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnUXVlc3Rpb27DoXJpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJ1BvciBmYXZvciwgcmVzcG9uZGEgZXN0YXMgcXVlc3TDtWVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJ01vc3RyYXIgbWluaGFzIHJlc3Bvc3Rhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnRXN0YXMgc8OjbyBzdWFzIHJlc3Bvc3Rhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICdUw610dWxvIGRhIFBlc3F1aXNhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICdBZGljaW9uYXIgTm92byBRdWVzdGlvbsOhcmlvJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJ07Do28gdGVtIHBlcm1pc3PDo28gcGFyYSBlc3RlIHF1ZXN0aW9uw6FyaW8hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJ0lEIGRvIHF1ZXN0aW9uw6FyaW8gZW0gZmFsdGEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnRWRpdGFyIFF1ZXN0aW9uw6FyaW8nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdFF1ZXN0aW9ucy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJ30gPSAnTsOjbyB0ZW0gcGVybWlzc8OjbyBwYXJhIGVzdGUgcXVlc3Rpb27DoXJpbyBvdSBwZXJndW50YSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICdOw6NvIHRlbSBwZXJtaXNzw6NvIHBhcmEgZXN0ZSBxdWVzdGlvbsOhcmlvLCBwZXJndW50YSBvdSByZXNwb3N0YSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAnRWRpdGFyIFBlcmd1bnRhcyBkZSBRdWVzdGlvbsOpcmlvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ1NpbS9Ow6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ1JhZGlvIChMaXN0YSknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAnQ2FpeGEgZGUgdmVyaWZpY2HDp8OjbyAoTGlzdGEpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnVGlwbyBkZSBxdWVzdMOjbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJ0NvbmNsdcOtZG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJ0luY29tcGxldG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gRWRpdCd9ID0gJ0VkaXRhciBQZXJndW50YXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICdFZGl0YXIgUmVzcG9zdGFzJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJ1Jlc3VtbyBkZSBlc3RhdMOtc3RpY2FzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICdOw6NvIHRlbSBwZXJtaXNzw6NvIHBhcmEgZXN0ZSBxdWVzdGlvbsOhcmlvIG91IGRldGFsaGVzIGRlIGVzdGF0w61zdGljYXMhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ0RldGFsaGUgZGEgZXN0YXTDrXN0aWNhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnTsOjbyDDqSBwb3Nzw612ZWwgZGVmaW5pciBub3ZvIGVzdGFkbyEgTmVuaHVtYSBwZXJndW50YSBkZWZpbmlkYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICdOw6NvIMOpIHBvc3PDrXZlbCBkZWZpbmlyIG5vdm8gZXN0YWRvISBQZXJndW50YXMgaW5jb21wbGV0YXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ0VzdGFkbyBhbHRlcmFkby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnTmVuaHVtYSBmaWxhIHNlbGVjaW9uYWRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJy0gTmVuaHVtIHRpcG8gZGUgdGlja2V0IHNlbGVjaW9uYWRvIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnLSBOZW5odW0gc2VydmnDp28gZGUgdGlja2V0IHNlbGVjaW9uYWRvIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICctIEFsdGVyYXIgRXN0YWRvIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnTWVzdHJlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICdJbnbDoWxpZG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ05vdm8gZXN0YWRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJ0Rlc2NyacOnw6NvIGRlIHF1ZXN0aW9uw6FyaW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdSZXNwb25kaWRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J25vdCBhbnN3ZXJlZCd9ID0gJ07Do28gcmVzcG9uZGlkbyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnT2JyaWdhZG8gcGVsYSBzdWEgcGFydGljaXBhw6fDo28uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnRXN0ZSBxdWVzdGlvbsOhcmlvIHRlcm1pbm91Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICdNZW5zYWdlbSBkYSBQZXNxdWlzYSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJ03Ds2R1bG8gbsOjbyBoYWJpbGl0YWRvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJ0VzdGEgZnVuY2lvbmFsaWRhZGUgbsOjbyBlc3TDoSBhdGl2YSwgcG9yIGZhdm9yIGNvbnRhdGUgc2V1IGFkbWluaXN0cmFkb3IuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFcnJvciEnfSA9ICdFcnJvIG5hIFBlc3F1aXNhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnQ2hhdmUgZGEgcGVzcXVpc2EgaW52w6FsaWRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnQSBjaGF2ZSBkYSBwZXNxdWlzYSBpbnNlcmlkYSDDqSBpbnbDoWxpZGEsIHNlIHZvY8OqIGFjZXNzb3UgdW0gbGluaywgdGFsdmV6IGVsZSBlc3RlamEgb2Jzb2xldG8gb3UgcXVlYnJhZG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAnVm90byBkYSBQZXNxdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnRGFkb3MgZG8gdm90byBkYSBwZXNxdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnVm9jw6ogasOhIHJlc3BvbmRldSBhIHBlc3F1aXNhLic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnTGlzdGEgZGUgcXVlc3Rpb27DoXJpb3MnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICdUZW0gYSBjZXJ0ZXphIHF1ZSBwcmV0ZW5kZSBhcGFnYXIgZXN0YSBwZXJndW50YT8gVE9ET1Mgb3MgZGFkb3MgYXNzb2NpYWRvcyBzZXLDo28gUEVSRElET1MhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnVGVtIGEgY2VydGV6YSBxdWUgcHJldGVuZGUgYXBhZ2FyIGVzdGEgcmVzcG9zdGE/JzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJ1VtIE3Ds2R1bG8gZGUgUXVlc3Rpb27DoXJpby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ1VtIG3Ds2R1bG8gcGFyYSBlZGl0YXIgcGVyZ3VudGFzIGRlIHF1ZXN0aW9uw6FyaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FsbCBwYXJhbWV0ZXJzIGZvciB0aGUgU3VydmV5IG9iamVjdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnVG9kb3Mgb3MgcGFyw6JtZXRyb3MgZG8gUXVlc3Rpb27DoXJpbyBuYSBpbnRlcmZhY2UgZG8gYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICdJbnRlcnZhbG8gZGUgZGlhcyBhcMOzcyBlbnZpYXIgdW0gZS1tYWlsIGRlIHBlZGlkbyBkZW50cm8gZG8gcXVhbCBub3ZvcyBwZWRpZG9zIG7Do28gc2Vyw6NvIGVudmlhZGFzIHBhcmEgbyBtZXNtbyBjbGllbnRlLiBTZWxlY2lvbmFyIDAgaXLDoSBzZW1wcmUgZW52aWFyIG8gZS1tYWlsIGRlIHBlZGlkby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnQ29ycG8gcGFkcsOjbyBwYXJhIG8gZS1tYWlsIGRlIG5vdGlmaWNhw6fDo28gZGUgY2xpZW50ZXMgc29icmUgbm92byBxdWVzdGlvbsOhcmlvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ1JlbWV0ZW50ZSBwYWRyw6NvIHBhcmEgbyBlLW1haWwgZGUgbm90aWZpY2HDp8OjbyBkZSBjbGllbnRlcyBzb2JyZSBub3ZvIHF1ZXN0aW9uw6FyaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc3ViamVjdCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0Fzc3VudG8gcGFkcsOjbyBwYXJhIG8gZS1tYWlsIGRlIG5vdGlmaWNhw6fDo28gZGUgY2xpZW50ZXMgc29icmUgbm92byBxdWVzdGlvbsOhcmlvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICdEZWZpbmUgbyBtw7NkdWxvIGRlIHZpc8OjbyBnZXJhbCBwYXJhIGV4aWJpciBhIHZpc8OjbyBjb21wYWN0YSBkZSB1bWEgbGlzdGEgZGUgcXVlc3Rpb27DoXJpb3MuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJ0RlZmluZSBncnVwb3MgcXVlIHTDqm0gcGVybWlzc8OjbyBwYXJhIGFsdGVyYXIgbyBlc3RhZG8gZG8gcXVlc3Rpb27DoXJpby4gIEEgbWF0cml6IGVzdMOhIHZhemlhIHBvciBwYWRyw6NvLCBsb2dvLCBhZ2VudGVzIGRlIHRvZG9zIG9zIGdydXBvcyBwb2RlbSBhbHRlcmFyIG8gZXN0YWRvIGRvIHF1ZXN0aW9uw6FyaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnRGVmaW5lIHNlIG9zIHBlZGlkb3MgZGUgcXVlc3Rpb27DoXJpbyBzZXLDo28gZW52aWFkb3MgYXBlbmFzIHBhcmEgY2xpZW50ZXMgcmVhaXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICdEZWZpbmUgYSBxdWFudGlkYWRlIG3DoXhpbWEgZGUgcXVlc3Rpb27DoXJpb3MgcXVlIHPDo28gZW52aWFkb3MgcGFyYSB1bSBjbGllbnRlIGEgY2FkYSAzMCBkaWFzICgwIHNpZ25pZmljYSBxdWUgbsOjbyBow6EgbcOheGltbzsgdG9kb3Mgb3MgcGVkaWRvcyBkZSBxdWVzdGlvbsOhcmlvIHNlcsOjbyBlbnZpYWRvcykuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnRGVmaW5lIGEgcXVhbnRpZGFkZSBkZSBob3JhcyBxdWUgdW0gdGlja2V0IGRldmUgZXN0YXIgZmVjaGFkbyBwYXJhIGVudmlhciB1bSBwZWRpZG8gZGUgcXVlc3Rpb27DoXJpbyAoMCBzaWduaWZpY2EgZW52aWFyIGltZWRpYXRhbWVudGUgYXDDs3MgZmVjaG8pLiBOb3RhOiB1bSBlbnZpbyB0YXJkaW8gZGUgcXVlc3Rpb27DoXJpbyDDqSBmZWl0byBwZWxvIE9UT0JPIERhZW1vbiwgc29iIGF0aXZhw6fDo28gZGEgY29uZmlndXJhw6fDo28gIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJ0RlZmluZSBhcyBjb2x1bmFzIGRhIGxpc3RhIHN1c3BlbnNhIHBhcmEgY3JpYcOnw6NvIGRlIGNvbmRpw6fDtWVzIGRlIGVudmlvICgwPT4gaW5hdGl2bywgMT0+IGF0aXZvKS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnRGVmaW5lIGEgYWx0dXJhIHBhZHLDo28gcGFyYSBSaWNodGV4dCBub3MgZWxlbWVudG9zIGRhIFN1cnZleVpvb20nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnRGVmaW5lIG9zIGdydXBvcyAocncpIHF1ZSBwb2RlbSBhcGFnYXIgYXMgZXN0YXTDrXN0aWNhcyBkbyBxdWVzdGlvbsOhcmlvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdEZWZpbmUgYSBhbHR1cmEgbcOheGltYSBwYXJhIHZpc3VhbGl6YcOnw7VlcyBkbyBSaWNodGV4dCBub3MgZWxlbWVudG9zIGRvIFN1cnZleVpvb20uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICdEZWZpbmUgYXMgY29sdW5hcyBleGliaWRhcyBuYSB2aXPDo28gZ2VyYWwgZG8gcXVlc3Rpb27DoXJpby4gRXN0YSBvcMOnw6NvIG7Do28gdGVtIGVmZWl0byBzb2JyZSBhIHBvc2nDp8OjbyBkYXMgY29sdW5hcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJ0RldGVybWluYSBzZSBvIG3Ds2R1bG8gZGUgZXN0YXTDrXN0aWNhcyBwb2RlIGdlcmFyIGxpc3RhcyBkZSBxdWVzdGlvbsOhcmlvcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICdFZGl0YXIgaW5mb3JtYcOnw6NvIGdlcmFsIGRvIHF1ZXN0aW9uw6FyaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICdFZGl0YXIgYXMgcXVlc3TDtWVzIGRvIHF1ZXN0aW9uw6FyaW8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJ0hhYmlsaXRhIG91IGRlc2FiaWxpdGEgYSB0ZWxhIFNob3dWb3RlRGF0YSBuYSBpbnRlcmZhY2UgcMO6YmxpY2EgcGFyYSBleGliaXIgZGFkb3MgZG8gcmVzdWx0YWRvIGRlIHVtYSBwZXNxdWlzYSBlc3BlY8OtZmljYSBxdWFuZG8gbyBjbGllbnRlIHRlbnRhIHJlc3BvbmRlciB1bWEgcGVzcXVpc2EgcGVsYSBzZWd1bmRhIHZlei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICdBdGl2YSBvdSBkZXNhdGl2YSB2ZXJpZmljYcOnw6NvIGRlIGNvbmRpw6fDtWVzIGRlIHNlcnZpw6dvcyBwYXJhIGVudmlvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ0F0aXZhIG91IGRlc2F0aXZhIHZlcmlmaWNhw6fDo28gZGUgY29uZGnDp8O1ZXMgZGUgdGlwb3MgcGFyYSBlbnZpby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUmVnaXN0byBkZSBtw7NkdWxvIGRlIGludGVyZmFjZSBwYXJhIGFkacOnw6NvIGRvIHF1ZXN0aW9uw6FyaW8gbmEgaW50ZXJmYWNlIGRvIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1JlZ2lzdG8gZGUgbcOzZHVsbyBkZSBpbnRlcmZhY2UgcGFyYSBlZGnDp8OjbyBkbyBxdWVzdGlvbsOhcmlvIG5hIGludGVyZmFjZSBkbyBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUmVnaXN0byBkZSBtw7NkdWxvIGRlIGludGVyZmFjZSBwYXJhIGVzdGF0w61zdGljYSBkbyBxdWVzdGlvbsOhcmlvIG5hIGludGVyZmFjZSBkbyBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZWdpc3RvIGRlIG3Ds2R1bG8gZGUgaW50ZXJmYWNlIHBhcmEgZGV0YWxoZXMgZGUgcGVzcXVpc2EgbmEgaW50ZXJmYWNlIGRlIGF0ZW5kZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ03Ds2R1bG8gZGUgYXV0byByZWdpc3RvIGRlIGlucXXDqXJpdG9zIGRlIGNsaWVudGUgbm8gaW50ZXJmYWNlIHDDumJsaWNvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICdTZSBlc3RhIHJlZ2V4IGZvciBlbmNvbnRyYWRhLCBuZW5odW0gcXVlc3Rpb27DoXJpbyBzZXLDoSBlbnZpYWRvIHBhcmEgbyBjbGllbnRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJ0xpbWl0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICdQYXLDom1ldHJvcyBwYXJhIGFzIHDDoWdpbmFzIChuYXMgcXVhaXMgb3MgcXVlc3Rpb27DoXJpb3Mgc8OjbyBtb3N0cmFkb3MpIGRhIHZpc8OjbyBnZXJhbCBjb21wYWN0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICdJbnF1w6lyaXRvIHDDumJsaWNvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRXhpYmUgdW0gbGluayBubyBtZW51IHBhcmEgZWRpdGFyIHVtIHF1ZXN0aW9uw6FyaW8gbmEgaW50ZXJmYWNlIGRvIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdFeGliZSB1bSBsaW5rIG5vIG1lbnUgcGFyYSBlZGl0YXIgcGVyZ3VudGFzIGRvIHF1ZXN0aW9uw6FyaW8gbmEgaW50ZXJmYWNlIGRvIGFnZW50Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRXhpYmUgdW0gbGluayBubyBtZW51IHBhcmEgdm9sdGFyIGRhIHZpc8OjbyBkZSBkZXRhbGhlcyBkZSB1bSBxdWVzdGlvbsOhcmlvIG5hIGludGVyZmFjZSBkbyBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRXhpYmUgdW0gbGluayBubyBtZW51IHBhcmEgZGV0YWxoYXIgYXMgZXN0YXTDrXN0aWNhcyBkbyBxdWVzdGlvbsOhcmlvIG5hIGludGVyZmFjZSBkbyBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICdEZXRhbGhlcyBkYSBlc3RhdMOtc3RpY2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnTcOzZHVsbyBkZSBhZGnDp8OjbyBkZSBxdWVzdGlvbsOhcmlvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnTcOzZHVsbyBkZSBlZGnDp8OjbyBkZSBxdWVzdGlvbsOhcmlvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnTGltaXRlIGRhIFZpc8OjbyBHZXJhbCBkZSBRdWVzdGlvbsOhcmlvICJQZXF1ZW5hIic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJ03Ds2R1bG8gZGUgRXN0YXTDrXN0aWNhcyBkZSBRdWVzdGlvbsOhcmlvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICdNw7NkdWxvIGRlIERldGFsaGUgZGUgUXVlc3Rpb27DoXJpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJ0xpbWl0ZSBkZSBxdWVzdGlvbsOhcmlvcyBwb3IgcMOhZ2luYSBuYSBWaXPDo28gR2VyYWwgcGFyYSBhIHZpc3RhICJQZXF1ZW5hIi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICdPcyBxdWVzdGlvbsOhcmlvcyBuw6NvIHNlcsOjbyBlbnZpYWRvcyBwYXJhIG9zIGVuZGVyZcOnb3MgZGUgZS1tYWlsIGNvbmZpZ3VyYWRvcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ08gaWRlbnRpZmljYWRvciBkZSB1bSBxdWVzdGlvbsOhcmlvLCBleC4gUXVlc3Rpb27DoXJpbyMsIE1ldVF1ZXN0aW9uw6FyaW8jLiBPIHBhZHLDo28gw6kgUXVlc3Rpb27DoXJpbyMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAnTcOzZHVsbyBkZSBldmVudG8gZGUgdGlja2V0cyBwYXJhIGVudmlhciBwZWRpZG9zIGRlIHF1ZXN0aW9uw6FyaW8gdmlhIGUtbWFpbCBhdXRvbWF0aWNhbWVudGUgcGFyYSBjbGllbnRlcyBzZSB1bSB0aWNrZXQgZm9yIGZlY2hhZG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICdBY2lvbmFyIG9zIHJlc3VsdGFkb3MgZGEgZXhjbHVzw6NvICggaW5jbHVpbmRvIGRhZG9zIGRlIHZvdG8gZSBwZWRpZG9zKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnRGlzcGFyYXIgbyBlbnZpbyBkZSBwZWRpZG9zIGRlIHF1ZXN0aW9uw6FyaW9zIGF0cmFzYWRvcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICdab29tIGVtIGRldGFsaGVzIGRlIGVzdGF0w61zdGljYXMuJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/ro_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnJvX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICdJbnRyb2R1Y2VyZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAnU3VudGV0aSBhaWNpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlcjonfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVpvb20KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnQWRhdWdhIHNvbmRhaiBub3UnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ0VkaXRhcmUgU29uZGFqJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnRGEvTnUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAnUmFkaW8gKExpc3RhKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICdDaGVja2JveCAgKExpc3RhKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAnSW5jb21wbGV0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICdFZGl0ZWF6YSBJbnRyZWJhcmUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICdFZGl0YXJlIHJhc3B1bnMnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnTnUgcG9hdGUgZmkgc2V0YXQgdW4gc3RhdHVzIG5vdSEgTnUgZXhpc3RhIGludHJlYmFyaSBkZWZpbml0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHVzIGNoYW5nZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01hc3Rlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkJ30gPSAnSW52YWxpZCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc3ViamVjdCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBncm91cHMgd2hpY2ggaGF2ZSBhIHBlcm1pc3Npb24gdG8gY2hhbmdlIHN1cnZleSBzdGF0dXMuIEFycmF5IGlzIGVtcHR5IGJ5IGRlZmF1bHQgYW5kIGFnZW50cyBmcm9tIGFsbCBncm91cHMgY2FuIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgYW1vdW50IGluIGhvdXJzIGEgdGlja2V0IGhhcyB0byBiZSBjbG9zZWQgdG8gdHJpZ2dlciB0aGUgc2VuZGluZyBvZiBhIHN1cnZleSwgKCAwIG1lYW5zIHNlbmQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2xvc2UgKS4gTm90ZTogZGVsYXllZCBzdXJ2ZXkgc2VuZGluZyBpcyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZFwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBncm91cHMgKHJ3KSB3aGljaCBjYW4gZGVsZXRlIHN1cnZleSBzdGF0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgc3RhdHMgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMaW1pdC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gem9vbSBpbnRvIHRoZSBzdXJ2ZXkgc3RhdGlzdGljcyBkZXRhaWxzIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgZXZlbnQgbW9kdWxlIHRvIHNlbmQgYXV0b21hdGljYWxseSBzdXJ2ZXkgZW1haWwgcmVxdWVzdHMgdG8gY3VzdG9tZXJzIGlmIGEgdGlja2V0IGlzIGNsb3NlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWm9vbSBpbnRvIHN0YXRpc3RpY3MgZGV0YWlscy4nfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/ru_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnJ1X1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ9Ch0L7Qt9C00LDRgtGMINC90L7QstGL0Lkg0L7Qv9GA0L7RgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICfQntC/0LjRgdCw0L3QuNC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICfQl9C90LDQutC+0LzRgdGC0LLQviDRgSDQvtC/0YDQvtGB0L7QvCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ9Ci0LXQu9C+INGD0LLQtdC00L7QvNC70LXQvdC40Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICfQktC90YPRgtGA0LXQvdC90LXQtSDQvtC/0LjRgdCw0L3QuNC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICfQo9GB0LvQvtCy0LjRjyDQtNC70Y8g0LrQu9C40LXQvdGC0L7Qsic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgY2hvb3NlIGEgQ3VzdG9tZXIgcHJvcGVydHkgdG8gYWRkIGEgY29uZGl0aW9uLid9ID0gJ9CS0YvQsdC10YDQuNGC0LUgPNCh0LLQvtC50YHRgtCy0L4g0LrQu9C40LXQvdGC0LA+LCDRh9GC0L7QsdGLINC00L7QsdCw0LLQuNGC0Ywg0YPRgdC70L7QstC40LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAn0J7RgtC60YDRi9GC0YvQuSDQutC70Y7RhyDQvtC/0YDQvtGB0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICfQn9GA0LjQvNC10YAg0L7Qv9GA0L7RgdCwJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0L7QsdGJ0YPRjiDQuNC90YTQvtGA0LzQsNGG0LjRjic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9ucyd9ID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINCy0L7Qv9GA0L7RgdGLJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ9CS0Ysg0LfQtNC10YHRjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAn0JLQvtC/0YDQvtGB0Ysg0L7Qv9GA0L7RgdCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ9CU0L7QsdCw0LLRgtGMINCy0L7Qv9GA0L7RgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ9CS0L7Qv9GA0L7RgSDQuCDRgtC40L8g0LLQvtC/0YDQvtGB0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIHJlcXVpcmVkJ30gPSAn0KLRgNC10LHRg9GO0YLRgdGPINC+0YLQstC10YLRiyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJ9Ch0L7RhdGA0LDQvdC10L3Ri9GFINCy0L7Qv9GA0L7RgdC+0LIg0L3QtdGCLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJ9CS0L7Qv9GA0L7RgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICfQotGA0LXQsdGD0Y7RgtGB0Y8g0J7RgtCy0LXRgtGLJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICfQn9C+INC+0LrQvtC90YfQsNC90LjQuCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPINCy0L7Qv9GA0L7RgdC+0LIg0L7Qv9GA0L7RgdCwINC/0YDQvtGB0YLQviDQt9Cw0LrRgNC+0LnRgtC1INGN0YLQvtGCINGN0LrRgNCw0L0uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAn0JfQsNC60YDRi9GC0Ywg0Y3RgtC+INC+0LrQvdC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQstC+0L/RgNC+0YEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBxdWVzdGlvbnMnfSA9ICfQvdCw0LfQsNC0INC6INCy0L7Qv9GA0L7RgdCw0LwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb246J30gPSAn0JLQvtC/0YDQvtGBOic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJ9CS0L7Qt9C80L7QttC90YvQtSDQvtGC0LLQtdGC0Ysg0LTQu9GPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICfQlNC+0LHQsNCy0LjRgtGMINC+0YLQstC10YInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICfQndC1INC30LDQtNCw0L3RiyDQstCw0YDQuNCw0L3RgtGLINC+0YLQstC10YLQvtCyINC00LvRjyDRjdGC0L7Qs9C+INCy0L7Qv9GA0L7RgdCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAn0K3RgtC+0YIg0LLQvtC/0YDQvtGBINC90LUg0L/RgNC10LTRg9GB0LzQsNGC0YDQuNCy0LDQtdGCINC90LXRgdC60L7Qu9GM0LrQviDQvtGC0LLQtdGC0L7Qsiwg0LHRg9C00LXRgiDQv9C+0LrQsNC30LDQvdC+INGC0LXQutGB0YLQvtCy0L7QtS90ZXh0YXJlYSDQv9C+0LvQtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQvtGC0LLQtdGCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ9C90LDQt9Cw0LQg0Log0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjiDQstC+0L/RgNC+0YHQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAn0J7RgtCy0LXRgjonOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICfQnNCw0LrRgS4g0LrQvtC7LdCy0L4g0L7Qv9GA0L7RgdC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtGDJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICfQntGC0L/RgNCw0LLQuNGC0LXQu9GMINGD0LLQtdC00L7QvNC70LXQvdC40Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICfQotC10LzQsCDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICfQmNC30LzQtdC90LjQstGI0LjQuSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICfQn9C+0LTRgNC+0LHQvdC+0YHRgtC4INC+0L/RgNC+0YHQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ9Ci0LDQsdC70LjRhtCwINC+0YLQstC10YLQvtCyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAn0JLRgNC10LzRjyDQvtGC0L/RgNCw0LLQutC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJ9CS0YDQtdC80Y8g0L7RgtCy0LXRgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICfQodC8LiDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSBzdGF0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAn0J/QvtC00YDQvtCx0L3QvtGB0YLQuCDQvtC/0YDQvtGB0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJ9C90LDQt9Cw0LQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAn0JjQvdGE0L7RgNC80LDRhtC40Y8g0L/QviDQvtC/0YDQvtGB0YMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJ9Ce0YLQv9GA0LDQstC70LXQvdC90YvQtSDQt9Cw0L/RgNC+0YHRiyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAn0J/QvtC70YPRh9C10L3QvdGL0LUg0L7Qv9GA0L7RgdGLJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAn0JjQvdGE0L7RgNC80LDQuNGPINC/0L4g0L7Qv9GA0L7RgdGDJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJ9Ch0LXRgNCy0LjRgdGLINC30LDRj9Cy0L7Quic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ9Cg0LXQt9GD0LvRjNGC0LDRgtGLINC+0L/RgNC+0YHQsCDQsiDQs9GA0LDRhNC40LrQtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAn0KHRgtCw0YLQuNGB0YLQuNC60Lgg0L3QtdGCLic7CgogICAgIyBUZW1wbGF0ZTogUHVibGljU3VydmV5CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXknfSA9ICfQntC/0YDQvtGB0YsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICfQntGC0LLQtdGC0YzRgtC1INC90LAg0Y3RgtC4INCy0L7Qv9GA0L7RgdGLOic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICfQn9C+0LrQsNC30LDRgtGMINC80L7QuCDQvtGC0LLQtdGC0YsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJ9CS0LDRiNC4INC+0YLQstC10YLRiyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICfQndCw0LfQstCw0L3QuNC1INC+0L/RgNC+0YHQsCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAn0JTQvtCx0LDQstC40YLRjCDQvdC+0LLRi9C5INC+0L/RgNC+0YEnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAn0KMg0LLQsNGBINC90LXRgiDRgNCw0LfRgNC10YjQtdC90LjRjyDQtNC70Y8g0Y3RgtC+0LPQviDQvtC/0YDQvtGB0LAhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINC+0L/RgNC+0YEnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdFF1ZXN0aW9ucy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJ30gPSAn0KMg0LLQsNGBINC90LXRgiDRgNCw0LfRgNC10YjQtdC90LjRjyDQtNC70Y8g0Y3RgtC+0LPQviDQvtC/0YDQvtGB0LAg0LjQu9C4INCy0L7Qv9GA0L7RgdCwISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJ9CjINCy0LDRgSDQvdC10YIg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LTQu9GPINGN0YLQvtCz0L4g0L7Qv9GA0L7RgdCwLCDQstC+0L/RgNC+0YHQsCDQuNC70Lgg0L7RgtCy0LXRgtCwISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQstC+0L/RgNC+0YEg0LIg0L7Qv9GA0L7RgdC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ9CU0LAv0J3QtdGCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ9Ci0L7Rh9C60LggKNCh0L/QuNGB0L7QuiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAn0JPQsNC70L7Rh9C60LggKNCh0L/QuNGB0L7QuiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICfQotC40L8g0LLQvtC/0YDQvtGB0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICfQl9Cw0LLQtdGA0YjQtdC90L3Ri9C5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICfQndC10LfQsNCy0LXRgNGI0LXQvdC90YvQuSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0LLQvtC/0YDQvtGBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0L7RgtCy0LXRgic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICfQntCx0LfQvtGAINGB0YLQsNGC0LjRgdGC0LjQutC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICfQoyDQstCw0YEg0L3QtdGCINGA0LDQt9GA0LXRiNC10L3QuNGPINC00LvRjyDRjdGC0L7Qs9C+INC+0L/RgNC+0YHQsCDQuNC70Lgg0YHRgtCw0YLQuNGB0YLQuNC60LghJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ9Cf0L7QtNGA0L7QsdC90YvQuSDQvtGC0YfQtdGCJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAn0J3QtdC70YzQt9GPINC30LDQtNCw0YLRjCDQvdC+0LLQvtC1INGB0L7RgdGC0L7Rj9C90LjQtSEg0J3QuNC60LDQutC40LUg0LLQvtC/0YDQvtGB0Ysg0L3QtSDQstGL0LTQtdC70LXQvdGLLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJ9Cd0LXQstC+0LfQvNC+0LbQvdC+INC30LDQtNCw0YLRjCDQvdC+0LLRi9C5INGB0YLQsNGC0YPRgSEg0JLQvtC/0YDQvtGB0Ysg0L3QtSDQt9Cw0LLQtdGA0YjQtdC90YsuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ9CY0LfQvNC10L3QuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICctINCd0Lgg0L7QtNC90L7QuSDQvtGH0LXRgNC10LTQuCDQvdC1INCy0YvQsdGA0LDQvdC+IC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAn0J3QtSDQstGL0LHRgNCw0L0g0YLQuNC/INC30LDRj9Cy0LrQuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICfQndC1INCy0YvQsdGA0LDQvSDRgdC10YDQstC40YEg0LfQsNGP0LLQutC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnLSDQmNC30LzQtdC90LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01hc3Rlcid9ID0gJ9CT0LvQsNCy0L3Ri9C5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICfQndC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAn0J3QvtCy0L7QtSDRgdC+0YHRgtC+0Y/QvdC40LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERlc2NyaXB0aW9uJ30gPSAn0J7Qv9C40YHQsNC90LjQtSDQvtC/0YDQvtGB0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICfQvtGC0LLQtdGC0LjQu9C4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J25vdCBhbnN3ZXJlZCd9ID0gJ9C90LUg0L7RgtCy0LXRgtC40LvQuCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAn0KHQv9Cw0YHQuNCx0L4g0LfQsCDQktCw0YjQuCDQvtGC0LLQtdGC0YsuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAn0J7Qv9GA0L7RgSDQt9Cw0LLQtdGA0YjQtdC9Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJ9Cc0L7QtNGD0LvRjCDQvdC1INCy0LrQu9GO0YfQtdC9JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCwgcGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFcnJvciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJ9Cd0LXQstC10YDQvdGL0Lkg0LrQvtC0INC+0L/RgNC+0YHQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlIERhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgYWxyZWFkeSBhbnN3ZXJlZCB0aGUgc3VydmV5Lid9ID0gJ9CS0Ysg0YPQttC1INC/0YDQvtGI0LvQuCDQvtC/0YDQvtGBLic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAn0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGN0YLQvtGCINCy0L7Qv9GA0L7RgT8gINCS0KHQlSDRgdCy0Y/Qt9Cw0L3QvdGL0LUg0LTQsNC90L3Ri9C1INCx0YPQtNGD0YIg0J/QntCi0JXQoNCv0J3QqyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICfQktGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INC20LXQu9Cw0LXRgtC1INGD0LTQsNC70LjRgtGMICDRjdGC0L7RgiDQvtGC0LLQtdGCPyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICfQnNC+0LTRg9C70Ywg0J7Qv9GA0L7RgdGLLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAn0JzQvtC00YPQu9GMINC00LvRjyDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPINCy0L7Qv9GA0L7RgdC+0LIg0LTQu9GPINC+0L/RgNC+0YHQvtCyLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9CS0YHQtSDQv9Cw0YDQsNC80LXRgtGA0Ysg0LTQu9GPINC+0LHRitC10LrRgtCwINCe0L/RgNC+0YHRiyDQsiDQuNC90YLQtdGA0YTQtdC50YHQtSDQsNCz0LXQvdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ9Ca0L7Qu9C40YfQtdGB0YLQstC+INC00L3QtdC5LCDQv9C+0YHQu9C1INC+0YLRgdGL0LvQutC4INC/0LjRgdC10Lwg0YEg0L7Qv9GA0L7RgdC+0LwsINCyINGC0LXRh9C10L3QuNC1INC60L7RgtC+0YDRi9GFINC90LjQutCw0LrQuNC1INC90L7QstGL0LUg0L/RgNC10LTQu9C+0LbQtdC90LjRjyDQvtCxINC+0L/RgNC+0YHQtSDQvdC1INC/0L7RgdGL0LvQsNGO0YLRgdGPLCDQvtC00L3QvtC80YMg0Lgg0YLQvtC80YMg0LbQtSDQutC70LjQtdC90YLRgy4g0JLRi9Cx0L7RgCDQt9C90LDRh9C10L3QuNGPIDAg0YPQutCw0LfRi9Cy0LDQtdGCINCy0YHQtdCz0LTQsCDQv9C+0YHRi9C70LDRgtGMINC/0LjRgdGM0LzQviDRgSDQvtC/0YDQvtGB0L7QvC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBib2R5IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAn0JfQsNC00LDQtdGCINGC0LXQutGB0YIg0L/QuNGB0YzQvNCwINCyINC/0L7Rh9GC0L7QstC+0Lwg0YPQstC10LTQvtC80LvQtdC90LjQuCwg0L/QvtGB0YvQu9Cw0LXQvNC+0Lwg0LrQu9C40LXQvdGC0LDQvCwg0L4g0L3QvtCy0L7QvCDQvtC/0YDQvtGB0LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAn0J7RgtC/0YDQsNCy0LjRgtC10LvRjCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQtNC70Y8g0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLINCyINC90L7QstC+0Lwg0L7Qv9GA0L7RgdC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICfQotC10LzQsCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQtNC70Y8g0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLINCyINC90L7QstC+0Lwg0L7Qv9GA0L7RgdC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICfQl9Cw0LTQsNC10YIg0LzQvtC00YPQu9GMINC/0YDQvtGB0LzQvtGC0YDQsCDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDRgdC/0LjRgdC60LAg0L7Qv9GA0L7RgdC+0LIg0LIgc21hbGwg0YTQvtGA0LzQsNGC0LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAn0JfQsNC00LDQtdGCINC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQvtC/0YDQvtGB0L7QsiDQvtGC0YHRi9C70LDQtdC80YvRhSDQutC70LjQtdC90YLRgyDQt9CwINC60LDQttC00YvQtSAzMCDQtNC90LXQuS4gKCIwIiDQvtC30L3QsNGH0LDQtdGCLCDRh9GC0L4g0LLRgdC1INC30LDQv9GA0L7RgdGLINC+0L/RgNC+0YHQvtCyINCx0YPQtNGD0YIg0L7RgtGB0YvQu9Cw0YLRjNGB0Y8pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAn0JfQsNC00LDQtdGCINCy0YvRgdC+0YLRgyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQvtCx0LvQsNGB0YLQuCDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QvdC+0LPQviDRgtC10LrRgdGC0LAg0LTQu9GPINGN0LvQtdC80LXQvdGC0L7QsiDQvtC/0YDQvtGB0LAg0L/RgNC4INC/0L7QtNGA0L7QsdC90L7QvCDQv9GA0L7RgdC80L7RgtGA0LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJ9CX0LDQtNCw0LXRgiDQv9C10YDQtdGH0LXQvdGMINC60L7Qu9C+0L3QvtC6LCDQvtGC0L7QsdGA0LDQttCw0LXQvNGL0YUg0LIg0L7QsdC30L7RgNC1INCe0L/RgNC+0YHQvtCyLiDQrdGC0L7RgiDQv9Cw0YDQsNC80LXRgtGAINC90LUg0LLQu9C40Y/QtdGCINC90LAg0L/QvtGA0Y/QtNC+0Log0LrQvtC70L7QvdC+0LouJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ9Cf0YDQsNCy0LrQsCDQstC+0L/RgNC+0YHQvtCyINC+0L/RgNC+0YHQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICfQktC60LvRjtGH0LjRgtC1INC40LvQuCDQvtGC0LrQu9GO0YfQuNGC0Ywg0LrQvdC+0L/QutGDICLQn9C+0LrQsNC30LDRgtGMINC80L7QuCDQvtGC0LLQtdGC0YsiLCDRh9GC0L7QsdGLINC/0L7QutCw0LfQsNGC0Ywg0LTQsNC90L3Ri9C1INC+0L/RgNC10LTQtdC70LXQvdC90L7Qs9C+INGA0LXQt9GD0LvRjNGC0LDRgtCwINC+0L/RgNC+0YHQsCwg0LrQvtCz0LTQsCDQutC70LjQtdC90YIg0L/QvtC/0YvRgtCw0LXRgtGB0Y8g0L7RgtCy0LXRgtC40YLRjCDQvdCwINC+0L/RgNC+0YEg0LLQviDQstGC0L7RgNC+0Lkg0YDQsNC3Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJ9CS0LrQu9GO0YfQuNGC0Ywg0LjQu9C4INC+0YLQutC70Y7Rh9C40YLRjCDQv9GA0L7QstC10YDQutGDINGD0YHQu9C+0LLQuNGPINC+0YLQv9GA0LDQstC60Lgg0LTQu9GPINGB0LXRgNCy0LjRgdCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ9CS0LrQu9GO0YfQuNGC0Ywg0LjQu9C4INC+0YLQutC70Y7Rh9C40YLRjCDQv9GA0L7QstC10YDQutGDINGD0YHQu9C+0LLQuNGPINC+0YLQv9GA0LDQstC60Lgg0LTQu9GPINGC0LjQv9CwINC30LDRj9Cy0LrQuC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiDQtNC70Y8g0LTQvtCx0LDQstC70LXQvdC40Y8g0L7Qv9GA0L7RgdCwINCyINC40L3RgtC10YDRhNC10LnRgdCwINCw0LPQtdC90YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24g0LTQu9GPINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0L7Qv9GA0L7RgdCwINCyINC40L3RgtC10YDRhNC10LnRgdCwINCw0LPQtdC90YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uINC00LvRjyDQvNC+0LTRg9C70Y8g0L7RgtGH0LXRgtC90L7RgdGC0Lgg0L7QsSDQvtC/0YDQvtGB0LUg0LIg0LjQvdGC0LXRgNGE0LXQudGB0LAg0LDQs9C10L3RgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiDQtNC70Y8g0L/QvtC00YDQvtCx0L3QvtCz0L4g0L/RgNC+0YHQvNC+0YLRgNCwINC+0L/RgNC+0YHQsCDQsiDQuNC90YLQtdGA0YTQtdC50YHQsCDQsNCz0LXQvdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICdGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uINC00LvRjyDQvtCx0YrQtdC60YLQsCDQn9GD0LHQu9C40YfQvdC+0LPQviDQvtC/0YDQvtGB0LAg0LIg0YDQsNC30LTQtdC70LUg0L/Rg9Cx0LvQuNGH0L3Ri9GFINC+0L/RgNC+0YHQvtCyLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAn0JXRgdC70Lgg0Y3RgtC+INGA0LXQs9GD0LvRj9GA0L3QvtC1INCy0YvRgNCw0LbQtdC90LjQtSDQstC10YDQvdC+LCDQvtC/0YDQvtGBINC60LvQuNC10L3RgtGDINC90LUg0L/QvtGB0YvQu9Cw0LXRgtGB0Y8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJ9Ce0LPRgNCw0L3QuNGH0LXQvdC40LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAn0J/QsNGA0LDQvNC10YLRgNGLINGB0YLRgNCw0L3QuNGG0YsgKNC90LAg0LrQvtGC0L7RgNC+0Lkg0L7RgtC+0LHRgNCw0LbQsNGO0YLRgdGPINC+0L/RgNC+0YHRiykg0L/RgNC4INC+0LHQt9C+0YDQtSDQvtC/0YDQvtGB0L7QsiDQsiBzbWFsbCDRhNC+0YDQvNCw0YLQtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICfQntCx0YnQtdC00L7RgdGC0YPQv9C90YvQuSDQvtC/0YDQvtGBLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cf0L7QutCw0LfRi9Cy0LDQtdGCINC/0YPQvdC60YIg0LzQtdC90Y4sINC/0L7Qt9Cy0L7Qu9GP0Y7RidC40Lkg0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0L7Qv9GA0L7RgSDQv9GA0Lgg0LXQs9C+INC/0L7QtNGA0L7QsdC90L7QvCDQv9GA0L7RgdC80L7RgtGA0LUg0LIg0LjQvdGC0LXRgNGE0LXQudGB0LUg0LDQs9C10L3RgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cf0L7QutCw0LfRi9Cy0LDQtdGCINC/0YPQvdC60YIg0LzQtdC90Y4sINC/0L7Qt9Cy0L7Qu9GP0Y7RidC40Lkg0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0LLQvtC/0YDQvtGB0Ysg0L7Qv9GA0L7RgdCwINC/0YDQuCDQtdCz0L4g0L/QvtC00YDQvtCx0L3QvtC8INC/0YDQvtGB0LzQvtGC0YDQtSDQsiDQuNC90YLQtdGA0YTQtdC50YHQtSDQsNCz0LXQvdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQn9C+0LrQsNC30YvQstCw0LXRgiDQv9GD0L3QutGCINC80LXQvdGOLCDQv9C+0LfQstC+0LvRj9GO0YnQuNC5INCy0LXRgNC90YPRgtGM0YHRjyDQvdCw0LfQsNC0INC/0YDQuCDQv9GA0L7RgdC80L7RgtGA0LUg0L7Qv9GA0L7RgdCwINCyINC40L3RgtC10YDRhNC10LnRgdC1INCw0LPQtdC90YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQn9C+0LrQsNC30YvQstCw0LXRgiDQv9GD0L3QutGCINC80LXQvdGOLCDQv9C+0LfQstC+0LvRj9GO0YnQuNC5INGD0LLQuNC00LXRgtGMINC/0L7QtNGA0L7QsdC90L7RgdGC0Lgg0L7RgtGH0LXRgtCwINC+0LEg0L7Qv9GA0L7RgdC1INC/0YDQuCDQtdCz0L4g0LTQtdGC0LDQu9GM0L3QvtC8INC/0YDQvtGB0LzQvtGC0YDQtSDQsiDQuNC90YLQtdGA0YTQtdC50YHQtSDQsNCz0LXQvdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICfQn9C+0LTRgNC+0LHQvdC+0YHRgtC4INC+0YLRh9C10YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICfQnNC+0LTRg9C70Ywg0JTQvtCx0LDQstC70LXQvdC40Y8g0L7Qv9GA0L7RgdCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAn0JzQvtC00YPQu9GMINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0L7Qv9GA0L7RgdCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJ9Ca0L7Qu9C40YfQtdGB0YLQstC+INC30LDQv9C40YHQtdC5LCDQvtGC0L7QsdGA0LDQttCw0LXQvNGL0YUg0L/RgNC4INC/0YDQvtGB0LzQvtGC0YDQtSDQvtC/0YDQvtGB0L7QsiDQsiAiU21hbGwiINGE0L7RgNC80LDRgtC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAn0JzQvtC00YPQu9GMINC/0L7RgdGC0YDQvtC10L3QuNGPINC+0YLRh9C10YLQvtCyINC+0LEg0L7Qv9GA0L7RgdCw0YUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICfQnNC+0LTRg9C70Ywg0L/QvtC00YDQvtCx0L3QvtCz0L4g0L/RgNC+0YHQvNC+0YLRgNCwINC+0L/RgNC+0YHQvtCyLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLid9ID0gJ9Ce0L/RgNC+0YHRiyDQvdC1INCx0YPQtNGD0YIg0L7RgtC/0YDQsNCy0LvRj9GC0YzRgdGPINC90LAg0YPQutCw0LfQsNC90L3Ri9C1INC/0L7Rh9GC0L7QstGL0LUg0LDQtNGA0LXRgdCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAn0J7QsdC+0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LjQtNC10L3RgtC40YTQuNC60LDRhtC40Lgg0L7Qv9GA0L7RgdCwLCDQvdCw0L/RgNC40LzQtdGALCDQntC/0YDQvtGB4oSWLCBTdXJ2ZXkjLCBNeVN1cnZleSMuINCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIFN1cnZleSMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAn0JzQvtC00YPQu9GMINGD0L/RgNCw0LLQu9C10L3QuNGPINGB0L7QsdGL0YLQuNC10Lwg0LTQu9GPINC30LDRj9Cy0LrQuCwg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0L7RgtC/0YDQsNCy0LvRj9GO0YnQuNC5INC/0LjRgdGM0LzQviDQutC70LjQtdC90YLRgyDRgSDQvtC/0YDQvtGB0L7QvCwg0L/RgNC4INC30LDQutGA0YvRgtC40Lgg0LfQsNGP0LLQutC4Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAn0KLRgNC40LPQs9C10YAg0YPQtNCw0LvQtdC90LjRjyDRgNC10LfRg9C70YzRgtCw0YLQvtCyICjQstC60LvRjtGH0LDRjyDQtNCw0L3QvdGL0LUg0LPQvtC70L7RgdC+0LLQsNC90LjRjyDQuCDQt9Cw0L/RgNC+0YHRiykuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICfQotGA0LjQs9Cz0LXRgCDQvtGC0L/RgNCw0LLQutC4INC30LDQtNC10YDQttCw0L3QvdGL0YUg0LfQsNC/0YDQvtGB0L7QsiDQvdCwINC+0L/RgNC+0YEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAn0JzQsNGB0YjRgtCw0LHQuNGA0L7QstCw0YLRjCDQtNC10YLQsNC70Lgg0YHRgtCw0YLQuNGB0YLQuNC60LguJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/sl_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnNsX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ1VzdHZhcmkgbm92byBhbmtldG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICdQcmVkc3Rhdml0ZXYgYW5rZXRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdVcmVkaSB2cHJhxaFhbmphJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ0RvZGFqIHZwcmHFoWFuamEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIHJlcXVpcmVkJ30gPSAnT2Rnb3ZvciBqZSB6YWh0ZXZhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJ1ZwcmHFoWFuamUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnT2Rnb3ZvciBqZSB6YWh0ZXZhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXaGVuIHlvdSBmaW5pc2ggdG8gZWRpdCB0aGUgc3VydmV5IHF1ZXN0aW9ucyBqdXN0IGNsb3NlIHRoaXMgc2NyZWVuLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICdVcmVkaSB2cHJhxaFhbmplJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAncG9qZGkgbmF6YWogbmEgdnByYcWhYW5qZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJ0RvZGFqIG9kZ292b3InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJ1VyZWRpIG9kZ292b3InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlcjonfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAnU3ByZW1lbmlsJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVpvb20KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnUG/FoWxqaSB6YWh0ZXZrZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnUHJlamV0ZSBhbmtldGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICdQb2Ryb2Jub3N0aSBhbmtldGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnQW5rZXRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnRG9kYWogbm92byBhbmtldG8nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ1VyZWRpIGFua2V0byc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ0RhL05lJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICdUaXAgdnByYcWhYW5qYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJ1pha2xqdcSNZW5hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICdQb21hbmprbGppdmEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gRWRpdCd9ID0gJ1VyZWRpIHZwcmHFoWFuamEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICdVcmVkaSBvZGdvdm9yZSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3Igc3RhdHMgZGV0YWlsISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHVzIGNoYW5nZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnLSBTcHJlbWVuaSBzdGF0dXMgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ05ldmVsamF2bm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICdPcGlzIGFua2V0ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ29kZ292b3JqZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnbmVvZGdvdm9yamVuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICdBbmtldGEgamUga29uxI1hbmEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBNZXNzYWdlISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNb2R1bGUgbm90IGVuYWJsZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCwgcGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFcnJvciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlIERhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgYWxyZWFkeSBhbnN3ZXJlZCB0aGUgc3VydmV5Lid9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FsbCBwYXJhbWV0ZXJzIGZvciB0aGUgU3VydmV5IG9iamVjdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBpZiBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBvbmx5IHNlbmQgdG8gcmVhbCBjdXN0b21lcnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IGdlbmVyYWwgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXlzIHdpbGwgbm90IGJlIHNlbnQgdG8gdGhlIGNvbmZpZ3VyZWQgZW1haWwgYWRkcmVzc2VzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/sr_Cyrl_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnNyX0N5cmxfU3VydmV5OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlBZGQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBOZXcgU3VydmV5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlcjonfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVpvb20KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdFF1ZXN0aW9ucy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZZXMvTm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoZWNrYm94IChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICfQkNC90LrQtdGC0L3QuCDQvNC+0LTRg9C7Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAn0JzQvtC00YPQuyDQt9CwINGD0YDQtdGS0LjQstCw0ZrQtSDQsNC90LrQtdGC0L3QuNGFINC/0LjRgtCw0ZrQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQodCy0Lgg0L/QsNGA0LDQvNC10YLRgNC4INCe0LHRmNC10LrRgtCwINCw0L3QutC10YLQtSDRgyDQuNC90YLQtdGA0YTQtdGY0YHRgyDQvtC/0LXRgNCw0YLQtdGA0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ9CR0YDQvtGYINC00LDQvdCwINC/0L7RgdC70LUg0YHQu9Cw0ZrQsCDQuNC80LXRmNC70LAg0L4g0LDQvdC60LXRgtC4INC30LAg0LrQvtGY0LUg0LjRgdGC0L7QvCDQutC+0YDQuNGB0L3QuNC60YMg0L3QtdGb0LUg0LHQuNGC0Lgg0YHQu9Cw0L3QuCDQvdC+0LLQuCDQt9Cw0YXRgtC10LLQuC4g0JDQutC+INC40LfQsNCx0LXRgNC10YLQtSAwINC40LzQtdGY0Lsg0L4g0LDQvdC60LXRgtC4INGB0LUg0YPQstC10Log0YjQsNGZ0LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ9Cf0L7QtNGA0LDQt9GD0LzQtdCy0LDQvdC4INGB0LDQtNGA0LbQsNGYINC40LzQtdGY0LvQsCDQvtCx0LDQstC10YjRgtC10ZrQsCDQviDQvdC+0LLQvtGYINCw0L3QutC10YLQuCDQt9CwINC60L7RgNC40YHQvdC40LrQtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICfQn9C+0LTRgNCw0LfRg9C80LXQstCw0L3QuCDQv9C+0YjQuNGZ0LDQvtGGINC40LzQtdGY0LvQsCDQvtCx0LDQstC10YjRgtC10ZrQsCDQviDQvdC+0LLQvtC8INC40YHRgtGA0LDQttC40LLQsNGa0YMg0LfQsCDQutC+0YDQuNGB0L3QuNC60LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc3ViamVjdCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ9Cf0L7QtNGA0LDQt9GD0LzQtdCy0LDQvdC4INC/0YDQtdC00LzQtdGCINC40LzQtdGY0LvQsCDQvtCx0LDQstC10YjRgtC10ZrQsCDQviDQvdC+0LLQvtGYINCw0L3QutC10YLQuCDQt9CwINC60L7RgNC40YHQvdC40LrQtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAn0JTQtdGE0LjQvdC40YjQtSDQvNC+0LTRg9C7INC/0YDQtdCz0LvQtdC00LAg0LfQsCDQvNCw0LvQuCDQv9GA0LjQutCw0Lcg0LvQuNGB0YLQtSDQsNC90LrQtdGC0LAuICc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICfQntC00YDQtdGS0YPRmNC1INCz0YDRg9C/0LUg0LrQvtGY0LUg0LjQvNCw0ZjRgyDQtNC+0LfQstC+0LvRgyDQtNCwINC80LXRmtCw0ZjRgyDRgdGC0LDRgtGD0YEg0LDQvdC60LXRgtC1LiDQotCw0LHQtdC70LAg0ZjQtSDQv9C+0LTRgNCw0LfRg9C80LXQstCw0L3QviDQv9GA0LDQt9C90LAg0Lgg0L7Qv9C10YDQsNGC0LXRgNC4INC40Lcg0YHQstC40YUg0LPRgNGD0L/QsCDQvNC+0LPRgyDQtNCwINC80LXRmtCw0ZjRgyDRgdGC0LDRgtGD0YEg0LDQvdC60LXRgtC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJ9CU0LXRhNC40L3QuNGI0LUg0LTQsCDQu9C4INGb0LUg0LfQsNGF0YLQtdCy0Lgg0LfQsCDQsNC90LrQtdGC0LUg0LHQuNGC0Lgg0L/QvtGB0LvQsNGC0Lgg0YHQsNC80L4g0L/RgNCw0LLQuNC8INC60LvQuNGY0LXQvdGC0LjQvNCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAn0JTQtdGE0LjQvdC40YjQtSDQvNCw0LrRgdC40LzQsNC70L3QuCDQsdGA0L7RmCDQsNC90LrQtdGC0LAg0LrQvtGY0Lgg0ZvQtSDQsdC40YLQuCDQv9C+0YHQu9Cw0YIg0LrQvtGA0LjRgdC90LjQutGDINGC0L7QutC+0LwgMzAg0LTQsNC90LAuICgwINC30L3QsNGH0Lgg0LTQsCDQvdC10LzQsCDQvNCw0LrRgdC40LzRg9C80LAsINGB0LLQuCDQt9Cw0YXRgtC10LLQuCDRm9C1INCx0LjRgtC4INC/0L7RgdC70LDRgtC4KS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgYW1vdW50IGluIGhvdXJzIGEgdGlja2V0IGhhcyB0byBiZSBjbG9zZWQgdG8gdHJpZ2dlciB0aGUgc2VuZGluZyBvZiBhIHN1cnZleSwgKCAwIG1lYW5zIHNlbmQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2xvc2UgKS4gTm90ZTogZGVsYXllZCBzdXJ2ZXkgc2VuZGluZyBpcyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZFwnIHNldHRpbmcuJ30gPQogICAgICAgICfQlNC10YTQuNC90LjRiNC1INCx0YDQvtGYINGB0LDRgtC4INC+0LQg0LfQsNGC0LLQsNGA0LDRmtCwINGC0LjQutC10YLQsCDQt9CwINC/0L7QutGA0LXRgtCw0ZrQtSDRgdC70LDRmtCwINCw0L3QutC10YLQtS4gKDAg0LfQvdCw0YfQuCDQtNCwINGB0LUg0YjQsNGZ0LUg0L7QtNC80LDRhSDQv9C+INC30LDRgtCy0LDRgNCw0ZrRgykuINCd0LDQv9C+0LzQtdC90LA6INC+0LTQu9Cw0LPQsNGa0LUg0YHQu9Cw0ZrQsCDQsNC90LrQtdGC0LUg0L7QsdCw0LLRmdCwIOKAnk9UT0JPIOKAnSDRgdC10YDQstC40YEg0L/RgNC1INCw0LrRgtC40LLQuNGA0LDRmtCwIOKAnkRhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5k4oCdINC/0L7RgdGC0LDQstC60LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJ9CU0LXRhNC40L3QuNGI0LUg0LrQvtC70L7QvdC1INC30LAg0LvQuNGB0YLRgyDQv9GA0LjQu9C40LrQvtC8INC/0YDQsNCy0ZnQtdGa0LAg0YPRgdC70L7QstCwINC30LDRhdGC0LXQstCwICgwID0+INC40YHQutGZ0YPRh9C10L3QviwgMSA9PiDRg9C60ZnRg9GH0LXQvdC+KS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAn0JTQtdGE0LjQvdC40YjQtSDQv9C+0LTRgNCw0LfRg9C80LXQstCw0L3RgyDQstC40YHQuNC90YMg0L7QutCy0LjRgNCwINC30LAg0L/RgNC40LrQsNC3INGC0LXQutGB0YLQsCAg0LfQsCDQtNC10YLQsNGZ0L3QuCDQv9GA0LjQutCw0Lcg0LXQu9C10LzQtdC90LDRgtCwINCw0L3QutC10YLQtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAn0JTQtdGE0LjQvdC40YjQtSDQs9GA0YPQv9C1IChydykg0LrQvtGY0LUg0LzQvtCz0YMg0LTQsCDQsdGA0LjRiNGDINGB0YLQsNGC0LjRgdGC0LjQutC1INCw0L3QutC10YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAn0J7QtNGA0LXRktGD0ZjQtSDQvNCw0LrRgdC40LzQsNC70L3RgyDQstC40YHQuNC90YMg4oCeUmljaHRleHTigJ0g0L/RgNC40LrQsNC30LAg0YLQtdC60YHRgtCwICDQt9CwINC00LXRgtCw0ZnQvdC4INC/0YDQuNC60LDQtyDQtdC70LXQvNC10L3QsNGC0LAg0LDQvdC60LXRgtC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAn0JTQtdGE0LjQvdC40YjQtSDQv9GA0LjQutCw0LfQsNC90LUg0LrQvtC70L7QvdC1INGDINC/0YDQtdCz0LvQtdC00YMg0LDQvdC60LXRgtC1LiDQntCy0LAg0L7Qv9GG0LjRmNC1INC90LXQvNCwINGD0YLQuNGG0LDRmCDQvdCwINC/0L7Qt9C40YbQuNGY0LUg0LrQvtC70L7QvdCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAn0J7QtNGA0LXRktGD0ZjQtSDQtNCwINC70Lgg0LzQvtC00YPQuyDRgdGC0LDRgtC40YHRgtC40LrQsCDQvNC+0LbQtSDQs9C10L3QtdGA0LjRgdCw0YLQuCDQu9C40YHRgtC1INCw0L3QutC10YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICfQo9GA0LXQtNC4INC+0L/RiNGC0LUg0LjQvdGE0L7RgNC80LDRhtC40ZjQtSDQviDQsNC90LrQtdGC0LguJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICfQo9GA0LXQtNC4INCw0L3QutC10YLQvdCwINC/0LjRgtCw0ZrQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAn0KPQutGZ0YPRh9C4INC40LvQuCDQuNGB0LrRmdGD0YfQuCDQv9GA0LjQutCw0Lcg0LXQutGA0LDQvdCwINC30LAg0LPQu9Cw0YHQsNGa0LUg0L3QsCDRmNCw0LLQvdC+0Lwg0LjQvdGC0LXRgNGE0LXRmNGB0YMg0YDQsNC00Lgg0L/RgNC40LrQsNC30LAg0YDQtdC30YPQu9GC0LDRgtCwINC/0L7RmNC10LTQuNC90LUg0LDQvdC60LXRgtC1INC60LDQtNCwINC60L7RgNC40YHQvdC40Log0L/QvtC60YPRiNCwINC00LAg0L7QtNCz0L7QstC+0YDQuCDQvdCwINGD0L/QuNGC0L3QuNC6INC/0L4g0LTRgNGD0LPQuCDQv9GD0YIuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAn0KPQutGZ0YPRh9C4INC40LvQuCDQuNGB0LrRmdGD0YfQuCDQv9GA0L7QstC10YDRgyDRgdGC0LDRgtGD0YHQsCDRgdC70LDRmtCwINC30LAg0YPRgdC70YPQs9GDLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ9Cj0LrRmdGD0YfQuCDQuNC70Lgg0LjRgdC60ZnRg9GH0Lgg0L/RgNC+0LLQtdGA0YMg0YHRgtCw0YLRg9GB0LAg0YHQu9Cw0ZrQsCDQt9CwINGC0LjQvyDRgtC40LrQtdGC0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cg0LXQs9C40YHRgtGA0LDRhtC40ZjQsCAiRnJvbnRlbmQiINC80L7QtNGD0LvQsCDQt9CwINC00L7QtNCw0LLQsNGa0LUg0LDQvdC60LXRgtC1INGDINC40L3RgtC10YDRhNC10ZjRgdGDINC+0L/QtdGA0LDRgtC10YDQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cg0LXQs9C40YHRgtGA0LDRhtC40ZjQsCAiRnJvbnRlbmQiINC80L7QtNGD0LvQsCDQt9CwINC40LfQvNC10L3QtSDQsNC90LrQtdGC0LUg0YMg0LjQvdGC0LXRgNGE0LXRmNGB0YMg0L7Qv9C10YDQsNGC0LXRgNCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgc3RhdHMgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cg0LXQs9C40YHRgtGA0LDRhtC40ZjQsCAiRnJvbnRlbmQiINC80L7QtNGD0LvQsCDQt9CwINGB0YLQsNGC0LjRgdGC0LjQutGDINCw0L3QutC10YLQtSDRgyDQuNC90YLQtdGA0YTQtdGY0YHRgyDQvtC/0LXRgNCw0YLQtdGA0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQoNC10LPQuNGB0YLRgNCw0YbQuNGY0LAgIkZyb250ZW5kIiDQvNC+0LTRg9C70LAg0LfQsCDQtNC10YLQsNGZ0L3QuCDQv9GA0LjQutCw0Lcg0LDQvdC60LXRgtC1INGDINC40L3RgtC10YDRhNC10ZjRgdGDINC+0L/QtdGA0LDRgtC10YDQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ9Cg0LXQs9C40YHRgtGA0LDRhtC40ZjQsCAiRnJvbnRlbmQiINC80L7QtNGD0LvQsCDQt9CwINGY0LDQstC90LUg0LDQvdC60LXRgtC90LUg0L7QsdGY0LXQutGC0LUg0LDQvdC60LXRgtC1INGDINC/0YDQvtGB0YLQvtGA0YMg0ZjQsNCy0L3QuNGFINCw0L3QutC10YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ9CQ0LrQviDRgdC1INC+0LLQsNGYINC40LfRgNCw0Lcg0L/QvtC60LvQsNC/0LAsINCw0L3QutC10YLQsCDQvdC10ZvQtSDQsdC40YLQuCDQv9C+0YHQu9Cw0YLQsCDQutC+0YDQuNGB0L3QuNC60YMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJ9Ce0LPRgNCw0L3QuNGH0LXRmtC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJ9Cf0LDRgNCw0LzQtdGC0YDQuCDRgdGC0YDQsNC90LjRhtCwICjQvdCwINC60L7RmNC40LzQsCDRgdGDINCw0L3QutC10YLQtSDQstC40LTRmdC40LLQtSkg0L3QsCDQvNCw0LvQvtC8INC/0YDQuNC60LDQt9GDINC/0YDQtdCz0LvQtdC00LAg0LDQvdC60LXRgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJ9CI0LDQstC90LAg0LDQvdC60LXRgtCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAn0KDQtdC30YPQu9GC0LDRgtC4INGB0YLQsNGA0LjRmNC4INC+0LQg0L/QvtC00LXRiNC10L3QvtCzINCx0YDQvtGY0LAg0LTQsNC90LAg0ZvQtSDQsdC40YLQuCDQvtCx0YDQuNGB0LDQvdC4LiDQndCw0L/QvtC80LXQvdCwOiDRgNC10LfRg9C70YLQsNGC0LUg0LHRgNC40YjQtSBPVE9CTyDRgdC40YHRgtC10LzRgdC60Lgg0YHQtdGA0LLQuNGBLCDQv9C+INCw0LrRgtC40LLQsNGG0LjRmNC4INC/0L7QtNC10YjQsNCy0LDRmtCwIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9CjINC80LXQvdC40ZjRgyDQv9GA0LjQutCw0LfRg9GY0LUg0LLQtdC30YMg0LfQsCDRg9GA0LXRktC40LLQsNGa0LUg0LDQvdC60LXRgtC1INGDINC00LXRgtCw0ZnQvdC+0Lwg0L/RgNC40LrQsNC30YMg0LjQvdGC0LXRgNGE0LXRmNGB0LAg0L7Qv9C10YDQsNGC0LXRgNCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9CjINC80LXQvdC40ZjRgyDQv9GA0LjQutCw0LfRg9GY0LUg0LLQtdC30YMg0LfQsCDRg9GA0LXRktC40LLQsNGa0LUg0LDQvdC60LXRgtC90LjRhSDQv9C40YLQsNGa0LAg0YMg0LTQtdGC0LDRmdC90L7QvCDQv9GA0LjQutCw0LfRgyDQuNC90YLQtdGA0YTQtdGY0YHQsCDQvtC/0LXRgNCw0YLQtdGA0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQoyDQvNC10L3QuNGY0YMg0L/RgNC40LrQsNC30YPRmNC1INCy0LXQt9GDINC30LAg0L/QvtCy0YDQsNGC0LDQuiDRgyDQtNC10YLQsNGZ0L3QuCDQv9GA0LjQutCw0Lcg0LDQvdC60LXRgtC1INGDINC40L3RgtC10YDRhNC10ZjRgdGDINC+0L/QtdGA0LDRgtC10YDQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQoyDQvNC10L3QuNGY0YMg0L/RgNC40LrQsNC30YPRmNC1INCy0LXQt9GDINC30LAg0LTQtdGC0LDRmdC90Lgg0L/RgNC40LrQsNC3INGB0YLQsNGC0LjRgdGC0LjQutC1INCw0L3QutC10YLQtSDRgyDQtNC10YLQsNGZ0L3QvtC8INC/0YDQuNC60LDQt9GDINC90LAg0LjQvdGC0LXRgNGE0LXRmNGB0YMg0L7Qv9C10YDQsNGC0LXRgNCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAn0JTQtdGC0LDRmdC4INGB0YLQsNGC0LjRgdGC0LjQutC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJ9Cc0L7QtNGD0Lsg0LfQsCDQtNC+0LTQsNCy0LDRmtC1INCw0L3QutC10YLQtS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJ9Cc0L7QtNGD0Lsg0LfQsCDRg9GA0LXRktC40LLQsNGa0LUg0LDQvdC60LXRgtC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJ9Ce0LPRgNCw0L3QuNGH0LXRmtC1INC/0YDQtdCz0LvQtdC00LAg0LDQvdC60LXRgtC1IC0g4oCe0LzQsNC70L7igJ0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICfQnNC+0LTRg9C7INC30LAg0YHRgtCw0YLQuNGB0YLQuNC60YMg0LDQvdC60LXRgtC1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAn0JzQvtC00YPQuyDQt9CwINC00LXRgtCw0ZnQvdC4INC/0YDQuNC60LDQtyDQsNC90LrQtdGC0LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAn0J7Qs9GA0LDQvdC40YfQtdGa0LUg0LDQvdC60LXRgtC1INC/0L4g0YHRgtGA0LDQvdC4INC30LAg0L/RgNC10LPQu9C10LQg0LzQsNC70L7QsyDRhNC+0YDQvNCw0YLQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICfQkNC90LrQtdGC0LAg0L3QtdGb0LUg0LHQuNGC0Lgg0L/QvtGB0LvQsNGC0LAg0L3QsCDQv9C+0LTQtdGI0LXQvdGDINC40LzQtdGY0Lsg0LDQtNGA0LXRgdGDLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaWRlbnRpZmllciBmb3IgYSBzdXJ2ZXksIGUuZy4gU3VydmV5IywgTXlTdXJ2ZXkjLiBUaGUgZGVmYXVsdCBpcyBTdXJ2ZXkjLid9ID0KICAgICAgICAn0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsCDQsNC90LrQtdGC0YMsINC90L/RgC4gU3VydmV5IywgTXlTdXJ2ZXkjLiDQn9C+0LTRgNCw0LfRg9C80LXQstCw0L3QviDRmNC1IFN1cnZleSMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAn0JzQvtC00YPQuyDQtNC+0LPQsNGS0LDRmNCwINC90LAg0YLQuNC60LXRgtGDINC30LAg0LDRg9GC0L7QvNCw0YLRgdC60L4g0YHQu9Cw0ZrQtSDQuNC80LXRmNC70LAg0L4g0LjRgdGC0YDQsNC20LjQstCw0ZrRgyDQutC+0YDQuNGB0L3QuNGG0LjQvNCwINCw0LrQviDRmNC1INGC0LjQutC10YIg0LfQsNGC0LLQvtGA0LXQvS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJ9Ce0LrQuNC00LAg0LHRgNC40YHQsNGa0LUg0YDQtdC30YPQu9GC0LDRgtCwICjRg9C60ZnRg9GH0YPRmNGD0ZvQuCDQv9C+0LTQsNGC0LrQtSDQv9GA0LjQvNGZ0LXQvdC40YUg0LPQu9Cw0YHQvtCy0LAg0Lgg0L/QvtGB0LvQsNGC0LjRhSDQt9Cw0YXRgtC10LLQsCkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICfQntC60LjQtNCw0Ycg0L7QtNC70L7QttC10L3QvtCzINGB0LvQsNGa0LAg0LfQsNGF0YLQtdCy0LAg0LfQsCDQsNC90LrQtdGC0YMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAn0KPQu9Cw0Lcg0YMg0LTQtdGC0LDRmdC90Lgg0L/RgNC40LrQsNC3INGB0YLQsNGC0LjRgdGC0LjQutC1Lic7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/sr_Latn_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnNyX0xhdG5fU3VydmV5OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlBZGQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBOZXcgU3VydmV5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW50cm9kdWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlcjonfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVpvb20KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdFF1ZXN0aW9ucy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZZXMvTm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoZWNrYm94IChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHF1ZXVlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgU3VydmV5IE1vZHVsZS4nfSA9ICdBbmtldG5pIG1vZHVsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnTW9kdWwgemEgdXJlxJFpdmFuamUgYW5rZXRuaWggcGl0YW5qYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdTdmkgcGFyYW1ldHJpIE9iamVrdGEgYW5rZXRlIHUgaW50ZXJmZWpzdSBvcGVyYXRlcmEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJ0Jyb2ogZGFuYSBwb3NsZSBzbGFuamEgaW1lamxhIG8gYW5rZXRpIHphIGtvamUgaXN0b20ga29yaXNuaWt1IG5lxIdlIGJpdGkgc2xhbmkgbm92aSB6YWh0ZXZpLiBBa28gaXphYmVyZXRlIDAgaW1lamwgbyBhbmtldGkgc2UgdXZlayDFoWFsamUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ1BvZHJhenVtZXZhbmkgc2FkcsW+YWogaW1lamxhIG9iYXZlxaF0ZW5qYSBvIG5vdm9qIGFua2V0aSB6YSBrb3Jpc25pa2UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc2VuZGVyIGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnUG9kcmF6dW1ldmFuaSBwb8WhaWxqYW9jIGltZWpsYSBvYmF2ZcWhdGVuamEgbyBub3ZvbSBpc3RyYcW+aXZhbmp1IHphIGtvcmlzbmlrZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnUG9kcmF6dW1ldmFuaSBwcmVkbWV0IGltZWpsYSBvYmF2ZcWhdGVuamEgbyBub3ZvaiBhbmtldGkgemEga29yaXNuaWtlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICdEZWZpbmnFoWUgbW9kdWwgcHJlZ2xlZGEgemEgbWFsaSBwcmlrYXogbGlzdGUgYW5rZXRhLiAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBncm91cHMgd2hpY2ggaGF2ZSBhIHBlcm1pc3Npb24gdG8gY2hhbmdlIHN1cnZleSBzdGF0dXMuIEFycmF5IGlzIGVtcHR5IGJ5IGRlZmF1bHQgYW5kIGFnZW50cyBmcm9tIGFsbCBncm91cHMgY2FuIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLid9ID0KICAgICAgICAnT2RyZcSRdWplIGdydXBlIGtvamUgaW1hanUgZG96dm9sdSBkYSBtZW5qYWp1IHN0YXR1cyBhbmtldGUuIFRhYmVsYSBqZSBwb2RyYXp1bWV2YW5vIHByYXpuYSBpIG9wZXJhdGVyaSBpeiBzdmloIGdydXBhIG1vZ3UgZGEgbWVuamFqdSBzdGF0dXMgYW5rZXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJ0RlZmluacWhZSBkYSBsaSDEh2UgemFodGV2aSB6YSBhbmtldGUgYml0aSBwb3NsYXRpIHNhbW8gcHJhdmltIGtsaWplbnRpbWEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICdEZWZpbmnFoWUgbWFrc2ltYWxuaSBicm9qIGFua2V0YSBrb2ppIMSHZSBiaXRpIHBvc2xhdCBrb3Jpc25pa3UgdG9rb20gMzAgZGFuYS4gKDAgem5hxI1pIGRhIG5lbWEgbWFrc2ltdW1hLCBzdmkgemFodGV2aSDEh2UgYml0aSBwb3NsYXRpKS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgYW1vdW50IGluIGhvdXJzIGEgdGlja2V0IGhhcyB0byBiZSBjbG9zZWQgdG8gdHJpZ2dlciB0aGUgc2VuZGluZyBvZiBhIHN1cnZleSwgKCAwIG1lYW5zIHNlbmQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2xvc2UgKS4gTm90ZTogZGVsYXllZCBzdXJ2ZXkgc2VuZGluZyBpcyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZFwnIHNldHRpbmcuJ30gPQogICAgICAgICdEZWZpbmnFoWUgYnJvaiBzYXRpIG9kIHphdHZhcmFuamEgdGlrZXRhIHphIHBva3JldGFuamUgc2xhbmphIGFua2V0ZS4gKDAgem5hxI1pIGRhIHNlIMWhYWxqZSBvZG1haCBwbyB6YXR2YXJhbmp1KS4gTmFwb21lbmE6IG9kbGFnYW5qZSBzbGFuamEgYW5rZXRlIG9iYXZsamEg4oCeT1RPQk8g4oCdIHNlcnZpcyBwcmUgYWt0aXZpcmFuamEg4oCeRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmTigJ0gcG9zdGF2a2UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJ0RlZmluacWhZSBrb2xvbmUgemEgbGlzdHUgcHJpbGlrb20gcHJhdmxqZW5qYSB1c2xvdmEgemFodGV2YSAoMCA9PiBpc2tsanXEjWVubywgMSA9PiB1a2xqdcSNZW5vKS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnRGVmaW5pxaFlIHBvZHJhenVtZXZhbnUgdmlzaW51IG9rdmlyYSB6YSBwcmlrYXogdGVrc3RhICB6YSBkZXRhbGpuaSBwcmlrYXogZWxlbWVuYXRhIGFua2V0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnRGVmaW5pxaFlIGdydXBlIChydykga29qZSBtb2d1IGRhIGJyacWhdSBzdGF0aXN0aWtlIGFua2V0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnT2RyZcSRdWplIG1ha3NpbWFsbnUgdmlzaW51IOKAnlJpY2h0ZXh04oCdIHByaWthemEgdGVrc3RhICB6YSBkZXRhbGpuaSBwcmlrYXogZWxlbWVuYXRhIGFua2V0ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJ0RlZmluacWhZSBwcmlrYXphbmUga29sb25lIHUgcHJlZ2xlZHUgYW5rZXRlLiBPdmEgb3BjaWplIG5lbWEgdXRpY2FqIG5hIHBvemljaWplIGtvbG9uYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJ09kcmXEkXVqZSBkYSBsaSBtb2R1bCBzdGF0aXN0aWthIG1vxb5lIGdlbmVyaXNhdGkgbGlzdGUgYW5rZXRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJ1VyZWRpIG9wxaF0ZSBpbmZvcm1hY2lqZSBvIGFua2V0aS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ1VyZWRpIGFua2V0bmEgcGl0YW5qYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAnVWtsanXEjWkgaWxpIGlza2xqdcSNaSBwcmlrYXogZWtyYW5hIHphIGdsYXNhbmplIG5hIGphdm5vbSBpbnRlcmZlanN1IHJhZGkgcHJpa2F6YSByZXp1bHRhdGEgcG9qZWRpbmUgYW5rZXRlIGthZGEga29yaXNuaWsgcG9rdcWhYSBkYSBvZGdvdm9yaSBuYSB1cGl0bmlrIHBvIGRydWdpIHB1dC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICdVa2xqdcSNaSBpbGkgaXNrbGp1xI1pIHByb3ZlcnUgc3RhdHVzYSBzbGFuamEgemEgdXNsdWd1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ1VrbGp1xI1pIGlsaSBpc2tsanXEjWkgcHJvdmVydSBzdGF0dXNhIHNsYW5qYSB6YSB0aXAgdGlrZXRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZWdpc3RyYWNpamEgIkZyb250ZW5kIiBtb2R1bGEgemEgZG9kYXZhbmplIGFua2V0ZSB1IGludGVyZmVqc3Ugb3BlcmF0ZXJhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnUmVnaXN0cmFjaWphICJGcm9udGVuZCIgbW9kdWxhIHphIGl6bWVuZSBhbmtldGUgdSBpbnRlcmZlanN1IG9wZXJhdGVyYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdSZWdpc3RyYWNpamEgIkZyb250ZW5kIiBtb2R1bGEgemEgc3RhdGlzdGlrdSBhbmtldGUgdSBpbnRlcmZlanN1IG9wZXJhdGVyYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJhY2lqYSAiRnJvbnRlbmQiIG1vZHVsYSB6YSBkZXRhbGpuaSBwcmlrYXogYW5rZXRlIHUgaW50ZXJmZWpzdSBvcGVyYXRlcmEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICdSZWdpc3RyYWNpamEgIkZyb250ZW5kIiBtb2R1bGEgemEgamF2bmUgYW5rZXRuZSBvYmpla3RlIGFua2V0ZSB1IHByb3N0b3J1IGphdm5paCBhbmtldGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICdBa28gc2Ugb3ZhaiBpenJheiBwb2tsYXBhLCBhbmtldGEgbmXEh2UgYml0aSBwb3NsYXRhIGtvcmlzbmlrdS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnT2dyYW5pxI1lbmplLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJ1BhcmFtZXRyaSBzdHJhbmljYSAobmEga29qaW1hIHN1IGFua2V0ZSB2aWRsaml2ZSkgbmEgbWFsb20gcHJpa2F6dSBwcmVnbGVkYSBhbmtldGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnSmF2bmEgYW5rZXRhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnUmV6dWx0YXRpIHN0YXJpamkgb2QgcG9kZcWhZW5vZyBicm9qYSBkYW5hIMSHZSBiaXRpIG9icmlzYW5pLiBOYXBvbWVuYTogcmV6dWx0YXRlIGJyacWhZSBPVE9CTyBzaXN0ZW1za2kgc2VydmlzLCBwbyBha3RpdmFjaWppIHBvZGXFoWF2YW5qYSBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdVIG1lbmlqdSBwcmlrYXp1amUgdmV6dSB6YSB1cmXEkWl2YW5qZSBhbmtldGUgdSBkZXRhbGpub20gcHJpa2F6dSBpbnRlcmZlanNhIG9wZXJhdGVyYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdVIG1lbmlqdSBwcmlrYXp1amUgdmV6dSB6YSB1cmXEkWl2YW5qZSBhbmtldG5paCBwaXRhbmphIHUgZGV0YWxqbm9tIHByaWthenUgaW50ZXJmZWpzYSBvcGVyYXRlcmEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdVIG1lbmlqdSBwcmlrYXp1amUgdmV6dSB6YSBwb3ZyYXRhayB1IGRldGFsam5pIHByaWtheiBhbmtldGUgdSBpbnRlcmZlanN1IG9wZXJhdGVyYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdVIG1lbmlqdSBwcmlrYXp1amUgdmV6dSB6YSBkZXRhbGpuaSBwcmlrYXogc3RhdGlzdGlrZSBhbmtldGUgdSBkZXRhbGpub20gcHJpa2F6dSBuYSBpbnRlcmZlanN1IG9wZXJhdGVyYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJ0RldGFsamkgc3RhdGlzdGlrZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICdNb2R1bCB6YSBkb2RhdmFuamUgYW5rZXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnTW9kdWwgemEgdXJlxJFpdmFuamUgYW5rZXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJ09ncmFuacSNZW5qZSBwcmVnbGVkYSBhbmtldGUgLSDigJ5tYWxv4oCdJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnTW9kdWwgemEgc3RhdGlzdGlrdSBhbmtldGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICdNb2R1bCB6YSBkZXRhbGpuaSBwcmlrYXogYW5rZXRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgbGltaXQgcGVyIHBhZ2UgZm9yIFN1cnZleSBPdmVydmlldyAiU21hbGwiLid9ID0gJ09ncmFuacSNZW5qZSBhbmtldGUgcG8gc3RyYW5pIHphIHByZWdsZWQgbWFsb2cgZm9ybWF0YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICdBbmtldGEgbmXEh2UgYml0aSBwb3NsYXRhIG5hIHBvZGXFoWVudSBpbWVqbCBhZHJlc3UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICdJZGVudGlmaWthdG9yIHphIGFua2V0dSwgbnByLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFBvZHJhenVtZXZhbm8gamUgU3VydmV5Iy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICdNb2R1bCBkb2dhxJFhamEgbmEgdGlrZXR1IHphIGF1dG9tYXRza28gc2xhbmplIGltZWpsYSBvIGlzdHJhxb5pdmFuanUga29yaXNuaWNpbWEgYWtvIGplIHRpa2V0IHphdHZvcmVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnT2tpZGEgYnJpc2FuamUgcmV6dWx0YXRhICh1a2xqdcSNdWp1xIdpIHBvZGF0a2UgcHJpbWxqZW5paCBnbGFzb3ZhIGkgcG9zbGF0aWggemFodGV2YSkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICdPa2lkYcSNIG9kbG/FvmVub2cgc2xhbmphIHphaHRldmEgemEgYW5rZXR1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJ1VsYXogdSBkZXRhbGpuaSBwcmlrYXogc3RhdGlzdGlrZS4nOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPycsCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnLAogICAgJ1NldHRpbmdzJywKICAgICdTdWJtaXQnLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/sv_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnN2X1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ1NrYXBhIG55IHVuZGVyc8O2a25pbmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAnSW50cm9kdWt0aW9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICdVbmRlcnPDtmtuaW5nc2ludHJvZHVrdGlvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ0ludGVybiBiZXNrcml2bmluZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnUmVkaWdlcmEgZ2VuZXJlbGwgaW5mb3JtYXRpb24nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICdSZWRpZ2VyYSBmcsOlZ29yJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ0R1IMOkciBow6RyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICdVbmRlcnPDtmtuaW5nZW5zIGZyw6Vnb3InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAnTMOkZ2cgdGlsbCBlbiBmcsOlZ2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICdTa3JpdiBmcsOlZ2FuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJ03DpXN0ZSBiZXN2YXJhcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDbG9zZSB0aGlzIHdpbmRvdyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IFF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlcjonfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVpvb20KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAnVW5kZXJzw7ZrbmluZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJ0zDpGdnIHRpbGwgbnkgdW5kZXJzw7ZrbmluZyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnUmVkaWdlcmEgdW5kZXJzw7ZrbmluZ2VuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICdSZWRpZ2VyYSBmcsOlZ29yIGkgdW5kZXJzw7ZrbmluZ2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ0phL05laic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICdSYWRpbyAoTGlzdGEpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoZWNrYm94IChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXQgUHJvbW90ZXIgU2NvcmUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gVHlwZSd9ID0gJ1R5cCBhdiBmcsOlZ2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICdGw6RyZGlnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICdJbmtvbXBsZXR0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICdSZWRpZ2VyYSBmcsOlZ2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIEVkaXQnfSA9ICdSZWRpZ2VyYSBzdmFyJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ1N0YXR1c2RldGFsaic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICdTdGF0dXMgw6RuZHJhZC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSBJbmdlbiBrw7YgdmFsZCAtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICctIMOEbmRyYSBzdGF0dXMgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ09naWx0aWcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ055IHN0YXR1cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICdCZXNrcml2bmluZyBhdiB1bmRlcnPDtmtuaW5nZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdiZXN2YXJhZCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICdlaiBiZXN2YXJhZCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAnVW5kZXJzw7ZrbmluZ2VuIMOkciBhdnNsdXRhZC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnRHUgaGFyIHJlZGFuIHN2YXJhdCBww6UgZGVuIGjDpHIgdW5kZXJzw7ZrbmluZ2VuLic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9TdGF0cy9EeW5hbWljL1N1cnZleUxpc3QucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBMaXN0J30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUISd9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBTdXJ2ZXkgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIG1vZHVsZSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FsbCBwYXJhbWV0ZXJzIGZvciB0aGUgU3VydmV5IG9iamVjdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Ftb3VudCBvZiBkYXlzIGFmdGVyIHNlbmRpbmcgYSBzdXJ2ZXkgbWFpbCBpbiB3aGljaCBubyBuZXcgc3VydmV5IHJlcXVlc3RzIGFyZSBzZW50IHRvIHRoZSBzYW1lIGN1c3RvbWVyLiBTZWxlY3RpbmcgMCB3aWxsIGFsd2F5cyBzZW5kIHRoZSBzdXJ2ZXkgbWFpbC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGdyb3VwcyB3aGljaCBoYXZlIGEgcGVybWlzc2lvbiB0byBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gQXJyYXkgaXMgZW1wdHkgYnkgZGVmYXVsdCBhbmQgYWdlbnRzIGZyb20gYWxsIGdyb3VwcyBjYW4gY2hhbmdlIHN1cnZleSBzdGF0dXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBpZiBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBvbmx5IHNlbmQgdG8gcmVhbCBjdXN0b21lcnMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IGdlbmVyYWwgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHRpY2tldCB0eXBlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZ28gYmFjayBpbiB0aGUgc3VydmV5IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICdTdGF0dXNkZXRhbGplcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/sw_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnN3X1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ1RlbmdlbmV6YSB0YWZpdGkgbXB5YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICdVdGFuZ3VsaXppJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICdVdGFuZ3VsaXppIHdhIHRhZml0aSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ0tpaW5pIGNoYSB0YWFyaWZhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAnTWFlbGV6byB5YSBuZGFuaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnSGFyaXJpIHRhYXJpZmEgemEgdWp1bWxhJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnSGFyaXJpIG1hc3dhbGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBRdWVzdGlvbnMnfSA9ICdNYXN3YWxpIHlhIHRhZml0aSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICdPbmdlemEgc3dhbGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHlwZSB0aGUgcXVlc3Rpb24nfSA9ICdDaGFwYSBzd2FsaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICdKaWJ1IGxpbmFoaXRhamlrYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBxdWVzdGlvbnMgc2F2ZWQgZm9yIHRoaXMgc3VydmV5Lid9ID0gJ0hha3VuYSBtYXN3YWxpIHlhbGl5byBoaWZhZGhpd2Ega3dhIGhpaSB0YWZpdGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdTd2FsaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgUmVxdWlyZWQnfSA9ICdKaWJ1IGxpbmFoaXRhamlrYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXaGVuIHlvdSBmaW5pc2ggdG8gZWRpdCB0aGUgc3VydmV5IHF1ZXN0aW9ucyBqdXN0IGNsb3NlIHRoaXMgc2NyZWVuLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICdIYXJpcmkgc3dhbGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBxdWVzdGlvbnMnfSA9ICdydWRpIGt3ZW55ZSBtYXN3YWxpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uOid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJ01hamlidSB5YXdlemVrYW5hIGt3YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAnT25nZXphIGppYnUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICdIYWt1bmEgbWFqaWJ1IHlhbGl5b2hpZmFkaGl3YSBrd2EgaGlsaSBzd2FsaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnSGlsaSBoYWxpbmEgbWFqaWJ1IG1lbmdpLCBzZWhlbXUgeWEgbmFrYWxhIGl0YW9ueWVzaHdhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEFuc3dlcid9ID0gJ0hhcmlyaSBqaWJ1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ1J1ZGkgbnl1bWEga3VoYXJpcmkgc3dhbGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAnTXR1bWFqaSB0YWFyaWZhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAnU29tbyBsYSB0YWFmaWZhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICdJbWViYWRpbGlzaHdhIG5hJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ01hcGl0aW8geWEgdGFrd2ltdSB5YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ0plZHdhbGkgbGEgbWFvbWJpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAnTXVkYSB3YSBrdXR1bWEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnTXVkYSB3YSBrdXBpZ2Ega3VyYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgdGhpcyByZXF1ZXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAnT25hIG1hZWxlem8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICdNYWVsZXpvIHlhIHRha3dpbXUgemEgdGFmaXRpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICdSdWRpIG55dW1hIGt3ZW55ZSBtYXBpdGlvIHlhIHRha3dpbXUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAnVGFhcmlmYSB6YSB0YWt3aW11JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbnQgcmVxdWVzdHMnfSA9ICdNYW9tYmkgeWFsaXlvdHVtd2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjZWl2ZWQgc3VydmV5cyd9ID0gJ1RhZml0aSB6aWxpem9wb2tlbGV3YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGV0YWlscyd9ID0gJ01hZWxlem8geWEgdGFmaXRpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJ0h1ZHVtYSB6YSB0aWtldGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFJlc3VsdHMgR3JhcGgnfSA9ICdHcmFmdSB5YSBtYXRva2VvIHlhIHRhZml0aSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnSGFrdW5hIG1hdG9rZW8geWEgdGFrd2ltdSc7CgogICAgIyBUZW1wbGF0ZTogUHVibGljU3VydmV5CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXknfSA9ICdUYWZpdGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICdUYWZhZGhhbGkgamlidSBoYXlhIG1hc3dhbGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvdyBteSBhbnN3ZXJzJ30gPSAnT255ZXNoYSBtYWppYnUgeWFuZ3UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJ0hheWEgbmkgbWFqaWJ1IHlha28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAnS2ljaHdhIGNoYSBoYWJhcmkgY2hhIHV0YWZpdGknOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJ09uZ2V6YSB1dGFmaXRpIG1weWEnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ0hhcmlyaSB1dGFmaXRpJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICdIYXJpcmkgbWFzd2FsaSB5YSB1dGFmaXRpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ05kaW8vSGFwYW5hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ1JlZGlvIChPcm9kaGEpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoZWNrYm94IChMaXN0KSd9ID0gJ0NoZWtpIGJva3NpIChvcm9kaGEpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAnQWluYSB5YSBzd2FsaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJ0thbWlsaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNvbXBsZXRlJ30gPSAnSXNpeW8ga2FtaWxpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIEVkaXQnfSA9ICdIYXJpcmkgbWFzd2FsaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ0hhcmlyaSBtYWppYnUnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5U3RhdHMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3J30gPSAnTWFwaXRpbyB5YSB0YWt3aW11JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlsJ30gPSAnTWFlbGV6byB5YSB0YWZpdGknOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICdTaW9uaSBoYWxpIG1weWEhIEhha3VuYSBtYXN3YWxpIHlhbGl5b2ZhZmFudWxpd2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgUXVlc3Rpb25zIGluY29tcGxldGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXR1cyBjaGFuZ2VkLid9ID0gJ0hhbGkgaW1lYmFkaWxpa2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSBIYWt1bmEgZm9sZW5pIGlsaXlvY2hhZ3VsaXdhLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnLSBCYWRpbGlzaGEgSGFsaS0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnRnV6dSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkJ30gPSAnSXNpeW8gaGFsYWxpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldyBTdGF0dXMnfSA9ICdIYWxpIG1weWEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERlc2NyaXB0aW9uJ30gPSAnTWFlbGV6byB5YSB0YWZpdGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICdZYWxpeW9qaWJpd2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnWWFzaXlvamliaXdhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICdBc2FudGUga3dhIG1hamlidSB5YWtvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ1V0YWZpdGkgdW1lbWFsaXppa2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnVW1la3dpc2hhamlidSB0YWZpdGknOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJ0plIHVuYXRha2Ega3VmdXRhIGhpbGkgc3dhbGk/IERhdGEgem90ZSB6aXRhIFBPVEVBISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJ0plIHVuYXRha2Ega3VmdXRhIGhpbGkgamlidT8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnTW9kdWxpIHlhIHV0YWZpdGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ01vZHVsaSB5YSBrdWhhcmlyaSBtYXN3YWxpIHlhIHV0YWZpdGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdQYXJhbWV0YSB6b3RlIHphIHZpdHUgdnlhIHNhdmVpIGthdGlrYSBraW9sZXN1cmEgY2hhIHdha2FsYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbW91bnQgb2YgZGF5cyBhZnRlciBzZW5kaW5nIGEgc3VydmV5IG1haWwgaW4gd2hpY2ggbm8gbmV3IHN1cnZleSByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgc2FtZSBjdXN0b21lci4gU2VsZWN0aW5nIDAgd2lsbCBhbHdheXMgc2VuZCB0aGUgc3VydmV5IG1haWwuJ30gPQogICAgICAgICdJZGFkaSB5YSBzaWt1IGJhYWRhIHlhIGt1dHVtYSBiYXJ1YSBwZXBlIHlhIHRhZml0aSBhbWJhcG8gaGFrdW5hIG1hb21iaSBtYXB5YSB5YSB0YWZpdGkga3V0dW13YSBrd2EgbXRlamEgaHV5by4gS3VjaGFndWEgMCBkYWltYSBrdXRhdHVtYSBiYXJ1YSBwZXBlIHlhIHNhdmVpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0NoYWd1by1tc2luZ2kgbGEga2lpbmkgY2hhIGJhcnVhIHBlcGUgeWEgdGFhcmlmYSBrd2Egd2F0ZWphIGt1aHVzdSBzYXZlaSBtcHlhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0NoYWd1by1tc2luZ2kgbGEgbXR1bWFqaSB3YSBiYXJ1YSBwZXBlIHlhIHRhYXJpZmEga3VodXN1IHNhdmVpIG1weWEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgc3ViamVjdCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ0NoYWd1by1tc2luZ2kgbGEgc29tbyBsYSBiYXJ1YSBwZXBlIHlhIHRhYXJpZmEga3dhIHdhdGVqYSBrdWh1c3Ugc2F2ZWkgbXB5YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnSW5hZmFmYW51YSBtYXBpdGlvIHlhIG1vZHVsaSBrdW9ueWVzaGEgbXVvbmVrYW5vIG1kb2dvIHdhIG9yb2RoYSB5YSBzYXZlaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBncm91cHMgd2hpY2ggaGF2ZSBhIHBlcm1pc3Npb24gdG8gY2hhbmdlIHN1cnZleSBzdGF0dXMuIEFycmF5IGlzIGVtcHR5IGJ5IGRlZmF1bHQgYW5kIGFnZW50cyBmcm9tIGFsbCBncm91cHMgY2FuIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyB0aGF0IGdldCBzZW50IHRvIGEgY3VzdG9tZXIgcGVyIDMwIGRheXMuICggMCBtZWFucyBubyBtYXhpbXVtLCBhbGwgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgc2VudCkuJ30gPQogICAgICAgICdJbmFmYWZhbnVhIGtpa29tbyBjaGEganV1IGNoYSBpZGFkaSB5YSBzYXZlaSB6aW5hem90dW13YSBrd2EgbXRlamEga3dhIHNpa3UgMzAuICgwIGluYW1hYW5pc2hhIGhha3VuYSBraWtvbW8sIHNhdmVpIHpvdGUgeml0YXR1bXdhKS4gJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICdJbmFmYWZhbnVhIGNoYWd1by1tc2luZ2kgbGEgdXJlZnUgd2EgbXVvbmVrYW5vIHdhIFJpY2h0ZXh0IGt3YSBlbGVtZW50aSB6YSBVdGFmaXRpS3V6d2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJ0luYWZhZmFudWEgc2FmdSBpbGl5b29ueWVzaHdhIGt3ZW55ZSBtYXBpdGlvIHlhIHV0YWZpdGkuIEhpbGkgY2hhZ3VvIGhhbGluYSBhdGhhcmkga3dhIG5hZmFzaSB5YSBzYWZ1LiAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJ1dlemVzaGEgYXUgVXNpd2V6ZXNoZSBza3JpbmkgeWEgT25lc2hhS3VyYURhdGEga3dhIGtpb2xlc3VyYSBjaGEgdW1tYSBpbGkga3Vvbnllc2hhIGRhdGEgemEgdXRhZml0aSBmdWxhbmkgbWFhbHVtdSBwYWxlIG10ZWphIGFuYXBvamFyaWJ1IGt1amlidSB1dGFmaXRpIGt3YSBtYXJhIHlhIHBpbGkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAnV2V6ZXNoYSBhdSBVc2l3ZXplc2hlIGt1Y2hhZ3VhIGhhbGkgeWEga3V0dW1hIGt3YSBoaWkgaHVkdW1hLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ1dlemVzaGEgYXUgVXNpd2V6ZXNoZSBrdWNoYWd1YSBoYWxpIHlhIGt1dHVtYSBrd2EgYWluYSB5YSB0aWtldGkuICc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNb2R1bGkgeWEgRnJvbnRlbmQgeWEga3VzYWppbGkgaWxpIGt1b25nZXphICB1dGFmaXRpIGthdGlrYSBraW9sZXN1cmEgY2hhIHdha2FsYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ01vZHVsaSB5YSBGcm9udGVuZCB5YSBrdXNhamlsaSBpbGkga3VoYXJpcmkgdXRhZml0aSBrYXRpa2Ega2lvbGVzdXJhIGNoYSB3YWthbGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnTW9kdWxpIHlhIEZyb250ZW5kIHlhIGt1c2FqaWxpIHRha3dpbXUgemEgdXRhZml0aSBrYXRpa2Ega2lvbGVzdXJhIGNoYSB3YWthbGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSB6b29tIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNb2R1bGkgeWEgRnJvbnRlbmQgeWEga3VzYWppbGkgdXRhZml0aSBrdXphIGthdGlrYSBraW9sZXN1cmEgY2hhIHdha2FsYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ01vZHVsaSB5YSBGcm9udGVuZCB5YSBrdXNhamlsaSBrd2EgYWppbGkgeWEgVXRhZml0aVVtbWEga2F0aWthIGVuZW8gbGEgdXRhZml0aSB3YSB1bW1hLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAnS2FtYSBoaWkgcmVnZXggaW5hZmFuYW5hLCB1dGFmaXRpIHdhIG10ZWphIGhhdXRhdHVtd2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJ1BhcmFtZXRhIGt3YSBhamlsaSB5YSBrdXJhc2EgKGFtYmF6byBuZGFuaSB5YWtlIHV0YWZpdGkgdW1lb255ZXNod2EpIHphIG1hcGl0aW8geWEgdXRhZml0aSBtZG9nby4gJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnU2F2ZWkgeWEgdW1tYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN1bHRzIG9sZGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgYW1vdW50IG9mIGRheXMgd2lsbCBiZSBkZWxldGVkLiBOb3RlOiBkZWxldGUgcmVzdWx0cyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IGEgc3VydmV5IGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0luYW9ueWVzaGEga2l1bmdvIGthdGlrYSBtZW55dSBpbGkga3VoYXJpcmkgdXRhZml0aSBrYXRpa2EgbXVvbmVrYW5vIHVsaW9rdXp3YSB3YSBraW9sZXN1cmEgY2hhIHdha2FsYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdJbmFvbnllc2hhIGtpdW5nbyBrYXRpa2EgbWVueXUgaWxpIGt1aGFyaXJpIG1hc3dhbGkgeWEgdXRhZml0aSBrYXRpa2EgbXVvbmVrYW5vIHVsaW9rdXp3YSB3YSBraW9sZXN1cmEgY2hhIHdha2FsYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0luYW9ueWVzaGEga2l1bmdvIGthdGlrYSBtZW55dSBpbGkga3VydWRpIGthdGlrYSBtdW9uZWthbm8gdWxpb2t1endhIHdhIGtpb2xlc3VyYSBjaGEgd2FrYWxhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gem9vbSBpbnRvIHRoZSBzdXJ2ZXkgc3RhdGlzdGljcyBkZXRhaWxzIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0luYW9ueWVzaGEga2l1bmdvIGthdGlrYSBtZW55dSBpbGkga3VrdXphIG1hZWxlem8geWEgdGFrd2ltdSB6YSB1dGFmaXRpIGthdGlrYSBtdW9uZWthbm8gdWxpb2t1endhIHdhIGtpb2xlc3VyYSBjaGEgd2FrYWxhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAnTWFlbGV6byB5YSB0YWZpdGknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IE1vZHVsZS4nfSA9ICdNb2R1bGkgeWEga3VoYXJpcmkgc2F2ZWkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnTWFwaXRpbyB5YSBzYXZlaSBraWtvbW8gImNoYSBjaGluaSInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICdNb2R1bGkgeWEgdGFrd2ltdSB6YSBzYXZlaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJ01vZHVsaSB5YSBrdWt1emEgc2F2ZWknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICdTYXZlaSBoYXppdGF0dW13YSBrd2EgYmFydWEgcGVwZSB6aWxpem93ZWt3YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ0tpdGFtYnVsaXNobyBjaGEgdXRhZml0aSwgbWYuIFV0YWZpdGkjLCBVdGFmaXRpIHdhbmd1Iy4gQ2hhZ3VvLW1zaW5naSBuaSBVdGFmaXRpIy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICdNb2R1bGkgeWEgdHVraW8gbGEgdGlrZXRpIGt3YSBhamlsaSB5YSBrdXR1bWEgYmFydWEgcGVwZSB6YSBtYW9tYmkgeWEgdGFmaXRpIG1vamEga3dhIG1vamEga3dhIHdhdGVqYSBrYW1hIHRpa2V0aSBpbWVmdW5nd2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/th_TH_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnRoX1RIX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ+C4quC4o+C5ieC4suC4h+C5geC4muC4muC4quC4reC4muC4luC4suC4oeC5g+C4q+C4oeC5iCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICfguJrguJfguJnguLMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJ+C4hOC4s+C4meC4s+C5geC4muC4muC4quC4reC4muC4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ+C4geC4suC4o+C5geC4iOC5ieC4h+C5gOC4leC4t+C4reC4meC4quC5iOC4p+C4meC5gOC4meC4t+C5ieC4reC5gOC4o+C4t+C5iOC4reC4hyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ+C4o+C4suC4ouC4peC4sOC5gOC4reC4teC4ouC4lOC4oOC4suC4ouC5g+C4mSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAn4LmB4LiB4LmJ4LmE4LiC4LiC4LmJ4Lit4Lih4Li54Lil4LiX4Lix4LmI4Lin4LmE4LibJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAn4LmB4LiB4LmJ4LmE4LiC4LiE4Liz4LiW4Liy4LihJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ+C4hOC4uOC4k+C4reC4ouC4ueC5iOC4l+C4teC5iOC4meC4teC5iCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAn4LiE4Liz4LiW4Liy4Lih4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4LihJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ+C5gOC4nuC4tOC5iOC4oeC4hOC4s+C4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ+C4m+C4o+C4sOC5gOC4oOC4l+C4hOC4s+C4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICfguJXguYnguK3guIfguIHguLLguKPguITguLPguJXguK3guJonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICfguYTguKHguYjguKHguLXguITguLPguJbguLLguKHguJrguLHguJnguJfguLbguIHguYPguJnguYHguJrguJrguKrguK3guJrguJbguLLguKHguJnguLXguYknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICfguITguLPguJbguLLguKEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAn4LiV4LmJ4Lit4LiH4LiB4Liy4Lij4LiE4Liz4LiV4Lit4LiaJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICfguYDguKHguLfguYjguK3guITguLjguJPguIHguLLguKPguYHguIHguYnguYTguILguITguLPguJbguLLguKHguYPguJnguYHguJrguJrguKrguK3guJrguJbguLLguKHguYDguKrguKPguYfguIjguKrguLTguYnguJnguYHguKXguYnguKfguYDguJ7guLXguKLguIfguYHguITguYjguJvguLTguJTguKvguJnguYnguLLguIjguK3guJnguLXguYknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJ+C5geC4geC5ieC5hOC4guC4hOC4s+C4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ+C4geC4peC4seC4muC5hOC4m+C4l+C4teC5iOC4hOC4s+C4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICfguITguLPguJbguLLguKE6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAn4LiE4Liz4LiV4Lit4Lia4LiX4Li14LmI4LmA4Lib4LmH4LiZ4LmE4Lib4LmE4LiU4LmJJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICfguYDguJ7guLTguYjguKHguITguLPguJXguK3guJonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICfguYTguKHguYjguKHguLXguITguLPguJXguK3guJrguJrguLHguJnguJfguLbguIHguYPguJnguITguLPguJbguLLguKHguJnguLXguYknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ+C4oeC4teC4muC4suC4h+C4hOC4s+C4luC4suC4oeC4l+C4teC5iOC4ouC4seC4h+C5hOC4oeC5iOC4leC4reC4miB0ZXh0YXJlYSDguIjguLDguJvguKPguLLguIHguI8gJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAn4LmB4LiB4LmJ4LmE4LiC4LiE4Liz4LiV4Lit4LiaJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ+C4geC4peC4seC4muC5hOC4m+C4l+C4teC5iOC5geC4geC5ieC5hOC4guC4hOC4s+C4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAn4LiE4Liz4LiV4Lit4LiaOic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld05hdkJhcgogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IG92ZXJ2aWV3IG9wdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VhcmNoZXMgaW4gdGhlIGF0dHJpYnV0ZXMgTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLCBOb3RpZmljYXRpb25TdWJqZWN0IGFuZCBOb3RpZmljYXRpb25Cb2R5LCBvdmVycmlkaW5nIG90aGVyIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyByZXN0cmljdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPbmx5IHN1cnZleXMgY3JlYXRlZCBiZXR3ZWVuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01heC4gc2hvd24gc3VydmV5cyBwZXIgcGFnZSd9ID0gJ+C4iOC4s+C4meC4p+C4meC4quC4ueC4h+C4quC4uOC4lOC4l+C4teC5iOC4iOC4sOC5geC4quC4lOC4h+C5geC4muC4muC4quC4reC4muC4luC4suC4oeC5g+C4meC5geC4leC5iOC4peC4sOC4q+C4meC5ieC4sic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAn4LiB4Liy4Lij4LmB4LiI4LmJ4LiH4LmA4LiV4Li34Lit4LiZ4Lic4Li54LmJ4Liq4LmI4LiHJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTdWJqZWN0J30gPSAn4LiB4Liy4Lij4LmB4LiI4LmJ4LiH4LmA4LiV4Li34Lit4LiZ4LmA4Lij4Li34LmI4Lit4LiHJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICfguYDguJvguKXguLXguYjguKLguJnguYHguJvguKXguIfguYLguJTguKInOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5U3RhdHMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIE92ZXJ2aWV3IG9mJ30gPSAn4Liq4LiW4Li04LiV4Li04Lig4Liy4Lie4Lij4Lin4Lih4LiC4Lit4LiHJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAn4LiB4Liy4Lij4Lij4LmJ4Lit4LiH4LiC4Lit4LiV4Liy4Lij4Liy4LiHJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCBhbGwgcmVxdWVzdHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAn4LmA4Lin4Lil4Liy4Liq4LmI4LiHJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJ+C5gOC4p+C4peC4suC5guC4q+C4p+C4lSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgdGhpcyByZXF1ZXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAn4LiU4Li54LmA4LiZ4Li34LmJ4Lit4Lir4LiyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSBzdGF0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAn4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4LiC4Lit4LiH4Liq4LiW4Li04LiV4Li04LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4LihJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICfguIHguKXguLHguJrguYTguJvguJfguLXguYjguKrguJbguLTguJXguLTguKDguLLguJ7guKPguKfguKEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXh0IHZvdGUnfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAn4LiC4LmJ4Lit4Lih4Li54Lil4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4LihJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbnQgcmVxdWVzdHMnfSA9ICfguKrguYjguIfguITguLPguKPguYnguK3guIcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjZWl2ZWQgc3VydmV5cyd9ID0gJ+C5hOC4lOC5ieC4o+C4seC4muC5geC4muC4muC4quC4reC4muC4luC4suC4oeC5geC4peC5ieC4pyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGV0YWlscyd9ID0gJ+C5gOC4meC4t+C5ieC4reC4q+C4suC4guC4reC4h+C5geC4muC4muC4quC4reC4muC4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaWNrZXQgU2VydmljZXMnfSA9ICfguIHguLLguKPguJrguKPguLTguIHguLLguKPguILguK3guIfguJXguLHguYvguKcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFJlc3VsdHMgR3JhcGgnfSA9ICfguIHguKPguLLguJ/guITguLPguJXguK3guJrguILguK3guIfguYHguJrguJrguKrguK3guJrguJbguLLguKEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gc3RhdCByZXN1bHRzLid9ID0gJ+C5hOC4oeC5iOC4oeC4teC4hOC4s+C4leC4reC4muC4guC4reC4h+C4quC4luC4tOC4leC4tCc7CgogICAgIyBUZW1wbGF0ZTogUHVibGljU3VydmV5CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXknfSA9ICfguYHguJrguJrguKrguK3guJrguJbguLLguKEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICfguYLguJvguKPguJTguJXguK3guJrguITguLPguJbguLLguKHguYDguKvguKXguYjguLLguJnguLXguYknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvdyBteSBhbnN3ZXJzJ30gPSAn4LmB4Liq4LiU4LiH4LiE4Liz4LiV4Lit4Lia4LiC4Lit4LiH4LiJ4Lix4LiZJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICfguJnguLXguYjguITguLfguK3guITguLPguJXguK3guJrguILguK3guIfguITguLjguJMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFRpdGxlJ30gPSAn4Lir4Lix4Lin4LiC4LmJ4Lit4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4LihJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICfguYDguJ7guLTguYjguKHguYHguJrguJrguKrguK3guJrguJbguLLguKEnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ+C5geC4geC5ieC5hOC4guC5geC4muC4muC4quC4reC4muC4luC4suC4oSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgUXVlc3Rpb25zJ30gPSAn4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4Lih4LmB4LiB4LmJ4LmE4LiC4LiE4Liz4LiW4Liy4LihJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1llcy9Obyd9ID0gJ+C5g+C4iuC5iC/guYTguKHguYjguYPguIrguYgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAn4LmA4Lij4LiU4Li04LmC4LitKOC4o+C4suC4ouC4iuC4t+C5iOC4rSknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAn4LiB4Lil4LmI4Lit4LiH4LiV4Lij4Lin4LiI4Liq4Lit4LiaICjguKPguLLguKLguIrguLfguYjguK0pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAn4Lib4Lij4Liw4LmA4Lig4LiX4LiC4Lit4LiH4LiE4Liz4LiW4Liy4LihJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAn4LmA4Liq4Lij4LmH4LiIJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICfguYTguKHguYjguYDguKrguKPguYfguIgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gRWRpdCd9ID0gJ+C5geC4geC5ieC5hOC4guC4hOC4s+C4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ+C5geC4geC5ieC5hOC4guC4hOC4s+C4leC4reC4mic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICfguKrguJbguLTguJXguLTguKDguLLguJ7guKPguKfguKEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3Igc3RhdHMgZGV0YWlsISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICfguYDguJnguLfguYnguK3guKvguLLguKrguJbguLTguJXguLQnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICfguYTguKHguYjguKrguLLguKHguLLguKPguJbguJXguLHguYnguIfguITguYjguLLguKrguJbguLLguJnguKDguLLguJ7guYPguKvguKHguYghIOC4ouC4seC4h+C5hOC4oeC5iOC5hOC4lOC5ieC4geC4s+C4q+C4meC4lOC4hOC4s+C4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICfguKrguJbguLLguJnguKDguLLguJ7guYDguJvguKXguLXguYjguKLguJnguYHguKXguYnguKcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSDguYTguKHguYjguKHguLXguITguLTguKfguJfguLXguYjguJbguLnguIHguYDguKXguLfguK3guIEgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gQ2hhbmdlIFN0YXR1cyAtJ30gPSAnLSDguYDguJvguKXguLXguYjguKLguJnguKrguJbguLLguJnguLAgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICfguKHguLLguKrguYDguJXguK3guKPguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ+C5hOC4oeC5iOC4luC4ueC4geC4leC5ieC4reC4hyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgU3RhdHVzJ30gPSAn4Liq4LiW4Liy4LiZ4Liw4LmD4Lir4Lih4LmIJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJ+C4hOC4s+C4reC4mOC4tOC4muC4suC4ouC5geC4muC4muC4quC4reC4muC4luC4suC4oSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ+C4leC4reC4muC5geC4peC5ieC4pyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICfguKLguLHguIfguYTguKHguYjguJXguK3guJonOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL1B1YmxpY1N1cnZleS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLid9ID0gJ+C4guC4reC4muC4hOC4uOC4k+C4quC4s+C4q+C4o+C4seC4muC4hOC4p+C4suC4oeC4hOC4tOC4lOC5gOC4q+C5h+C4meC4guC4reC4h+C4hOC4uOC4kyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ+C5geC4muC4muC4quC4reC4muC4luC4suC4oeC5gOC4quC4o+C5h+C4iOC5gOC4o+C4teC4ouC4muC4o+C5ieC4reC4ouC5geC4peC5ieC4pyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTWVzc2FnZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgc3VydmV5IGtleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICfguITguLjguJPguYTguJTguYnguJXguK3guJrguYHguJrguJrguKrguK3guJrguJbguLLguKHguJnguLXguYnguYHguKXguYnguKcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vU3RhdHMvRHluYW1pYy9TdXJ2ZXlMaXN0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgTGlzdCd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEnfSA9CiAgICAgICAgJ+C4hOC4uOC4k+C5geC4meC5iOC5g+C4iOC4q+C4o+C4t+C4reC5hOC4oeC5iOC4l+C4teC5iOC4iOC4sOC4peC4muC4hOC4s+C4luC4suC4oeC4meC4teC5iT8g4LiC4LmJ4Lit4Lih4Li54Lil4LiX4Li14LmI4LmA4LiB4Li14LmI4Lii4Lin4LiC4LmJ4Lit4LiH4LiX4Lix4LmJ4LiH4Lir4Lih4LiU4LiI4Liw4Lir4Liy4Lii4LmE4LibISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgYW5zd2VyPyd9ID0gJ+C4hOC4uOC4k+C4leC5ieC4reC4h+C4geC4suC4o+C4peC4muC4geC4suC4o+C4leC4reC4muC4meC4teC5ieC4q+C4o+C4t+C4reC5hOC4oeC5iD8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAn4LmC4Lih4LiU4Li54Lil4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4LihJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICfguYLguKHguJTguLnguKXguKrguLPguKvguKPguLHguJrguYHguIHguYnguYTguILguITguLPguJbguLLguKHguYHguJrguJrguKrguK3guJrguJbguLLguKEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfguJ7guLLguKPguLLguKHguLTguYDguJXguK3guKPguYzguJfguLHguYnguIfguKvguKHguJTguKrguLPguKvguKPguLHguJrguK3guK3guJrguYDguIjguIHguJXguYzguILguK3guIfguYHguJrguJrguKrguK3guJrguJbguLLguKHguYPguJnguK3guLTguJnguYDguJXguK3guKPguYzguYDguJ/guIvguYDguK3guYDguKLguYjguJnguJXguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAn4LiI4LmN4Liy4LiZ4Lin4LiZ4Lin4Lix4LiZ4Lir4Lil4Lix4LiH4LiI4Liy4LiB4Liq4LmI4LiH4Lit4Li14LmA4Lih4Lil4LmM4LmD4LiZ4LiB4Liy4Lij4Liq4Lit4Lia4LiW4Liy4Lih4LiX4Li14LmI4LmE4Lih4LmI4Lih4Li14LiB4Liy4Lij4Lij4LmJ4Lit4LiH4LiC4Lit4LiB4Liy4Lij4Liq4Lit4Lia4LiW4Liy4Lih4LiE4Lij4Lix4LmJ4LiH4LmD4Lir4Lih4LmI4LiI4Liw4LiW4Li54LiB4Liq4LmI4LiH4LmE4Lib4Lii4Lix4LiH4Lil4Li54LiB4LiE4LmJ4Liy4Lij4Liy4Lii4LmA4LiU4Li14Lii4Lin4LiB4Lix4LiZIOC5gOC4peC4t+C4reC4gSAwIOC5gOC4nuC4t+C5iOC4reC4quC5iOC4h+C4reC4teC5gOC4oeC4peC5jOC5g+C4meC4geC4suC4o+C4quC4reC4muC4luC4suC4oeC4leC4peC4reC4lCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICfguITguYjguLLguYDguKPguLTguYjguKHguJXguYnguJnguILguK3guIfguKrguYjguKfguJnguYDguJnguLfguYnguK3guYDguKPguLfguYjguK3guIfguKrguLPguKvguKPguLHguJrguIHguLLguKPguYHguIjguYnguIfguYDguJXguLfguK3guJnguK3guLXguYDguKHguKXguYzguYDguIHguLXguYjguKLguKfguIHguLHguJrguYHguJrguJrguKrguK3guJrguJbguLLguKHguYPguKvguKHguYjguJbguLbguIfguKXguLnguIHguITguYnguLInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzZW5kZXIgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICfguITguYjguLLguYDguKPguLTguYjguKHguJXguYnguJnguILguK3guIfguJzguLnguYnguKrguYjguIfguKrguLPguKvguKPguLHguJrguIHguLLguKPguYHguIjguYnguIfguYDguJXguLfguK3guJnguK3guLXguYDguKHguKXguYzguYDguIHguLXguYjguKLguKfguIHguLHguJrguYHguJrguJrguKrguK3guJrguJbguLLguKHguYPguKvguKHguYjguJbguLbguIfguKXguLnguIHguITguYnguLInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAn4LiE4LmI4Liy4LmA4Lij4Li04LmI4Lih4LiV4LmJ4LiZ4LiC4Lit4LiH4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Liq4Liz4Lir4Lij4Lix4Lia4LiB4Liy4Lij4LmB4LiI4LmJ4LiH4LmA4LiV4Li34Lit4LiZ4Lit4Li14LmA4Lih4Lil4LmM4LmA4LiB4Li14LmI4Lii4Lin4LiB4Lix4Lia4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4Lih4LmD4Lir4Lih4LmI4LiW4Li24LiH4Lil4Li54LiB4LiE4LmJ4LiyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgYW4gb3ZlcnZpZXcgbW9kdWxlIHRvIHNob3cgdGhlIHNtYWxsIHZpZXcgb2YgYSBzdXJ2ZXkgbGlzdC4nfSA9CiAgICAgICAgJ+C4geC4s+C4q+C4meC4lOC5guC4oeC4lOC4ueC4peC4oOC4suC4nuC4o+C4p+C4oeC4l+C4teC5iOC4iOC4sOC5geC4quC4lOC4h+C4oeC4uOC4oeC4oeC4reC4h+C5gOC4peC5h+C4gSDguYYg4LiC4Lit4LiH4Lij4Liy4Lii4LiK4Li34LmI4Lit4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4LihJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAn4LiB4Liz4Lir4LiZ4LiU4LiI4Liz4LiZ4Lin4LiZ4Liq4Li54LiH4Liq4Li44LiU4LiC4Lit4LiH4LiB4Liy4Lij4Liq4Liz4Lij4Lin4LiI4LiX4Li14LmI4LmE4LiU4LmJ4Lij4Lix4Lia4LiB4Liy4Lij4Liq4LmI4LiH4LmD4Lir4LmJ4LiB4Lix4Lia4Lil4Li54LiB4LiE4LmJ4Liy4Lig4Liy4Lii4LmD4LiZIDMwIOC4p+C4seC4mSAoMCDguKvguKHguLLguKLguJbguLbguIfguYTguKHguYjguKHguLXguIHguLLguKPguIHguLPguKvguJnguJTguIjguLPguJnguKfguJnguKrguLnguIfguKrguLjguJQg4LiL4Li24LmI4LiH4LmB4Lia4Lia4Liq4Liz4Lij4Lin4LiI4LiX4Li14LmI4LmA4Lij4Li14Lii4LiB4LiC4Lit4LiX4Lix4LmJ4LiH4Lir4Lih4LiU4LiI4Liw4LiW4Li54LiB4Liq4LmI4LiHKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAn4LiB4Liz4Lir4LiZ4LiU4LiE4Lin4Liy4Lih4Liq4Li54LiH4LmA4Lij4Li04LmI4Lih4LiV4LmJ4LiZ4Liq4Liz4Lir4Lij4Lix4Lia4Lih4Li44Lih4Lih4Lit4LiHIFJpY2h0ZXh0IOC4quC4s+C4q+C4o+C4seC4muC4reC4h+C4hOC5jOC4m+C4o+C4sOC4geC4reC4muC4guC4reC4hyBTdXJ2ZXlab29tJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBtYXhpbXVtIGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJ+C4geC4s+C4q+C4meC4lOC4hOC4reC4peC4seC4oeC4meC5jOC4l+C4teC5iOC4iOC4sOC5geC4quC4lOC4h+C5g+C4meC4oOC4suC4nuC4o+C4p+C4oeC4guC4reC4h+C5geC4muC4muC4quC4reC4muC4luC4suC4oeC4leC4seC4p+C5gOC4peC4t+C4reC4geC4meC4teC5ieC4iOC4sOC5hOC4oeC5iOC4oeC4teC4nOC4peC4leC5iOC4reC4leC4s+C5geC4q+C4meC5iOC4h+C4guC4reC4h+C4hOC4reC4peC4seC4oeC4meC5jCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZXRlcm1pbmVzIGlmIHRoZSBzdGF0aXN0aWNzIG1vZHVsZSBtYXkgZ2VuZXJhdGUgc3VydmV5IGxpc3RzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IGdlbmVyYWwgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAn4LmA4Lib4Li04LiU4Lir4Lij4Li34Lit4Lib4Li04LiU4LiB4Liy4Lij4LmD4LiK4LmJ4LiH4Liy4LiZ4Liq4LiB4Lij4Li14LiZIOC4l+C4teC5iOC5geC4quC4lOC4h+C4guC5ieC4reC4oeC4ueC4peC4geC4suC4o+C5guC4q+C4p+C4leC5g+C4meC4reC4tOC4meC5gOC4leC4reC4o+C5jOC5gOC4n+C4i+C4quC4suC4mOC4suC4o+C4k+C4sOC5gOC4nuC4t+C5iOC4reC4iOC4sOC5geC4quC4lOC4h+C4nOC4peC4guC4reC4h+C5geC4muC4muC4quC4reC4muC4luC4suC4oSDguYDguKHguLfguYjguK3guKXguLnguIHguITguYnguLLguJ7guKLguLLguKLguLLguKHguJfguLXguYjguIjguLDguJXguK3guJrguYHguJrguJrguKrguK3guJrguJbguLLguKHguITguKPguLHguYnguIfguJfguLXguYjguKrguK3guIcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICfguYDguJvguLTguJTguKvguKPguLfguK3guJvguLTguJTguIHguLLguKPguJXguKPguKfguIjguKrguK3guJrguYDguIfguLfguYjguK3guJnguYTguILguIHguLLguKPguKrguYjguIfguKrguLPguKvguKPguLHguJrguIHguLLguKPguJrguKPguLTguIHguLLguKMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICfguYDguJvguLTguJTguKvguKPguLfguK3guJvguLTguJTguIHguLLguKPguJXguKPguKfguIjguKrguK3guJrguYDguIfguLfguYjguK3guJnguYTguILguIHguLLguKPguKrguYjguIfguKrguLPguKvguKPguLHguJrguJvguKPguLDguYDguKDguJfguILguK3guIfguJXguLHguYvguKcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn4LiB4Liy4Lij4Lil4LiH4LiX4Liw4LmA4Lia4Li14Lii4LiZ4LmC4Lih4LiU4Li54LilIEZyb250ZW5kIOC4quC4s+C4q+C4o+C4seC4muC4geC4suC4o+C5gOC4nuC4tOC5iOC4oeC5geC4muC4muC4quC4reC4muC4luC4suC4oeC5g+C4meC4reC4tOC4meC5gOC4leC4reC4o+C5jOC5gOC4n+C4i+C4guC4reC4h+C5gOC4reC5gOC4ouC5iOC4meC4leC5jCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn4LiB4Liy4Lij4Lil4LiH4LiX4Liw4LmA4Lia4Li14Lii4LiZ4LmC4Lih4LiU4Li54LilIEZyb250ZW5kIOC4quC4s+C4q+C4o+C4seC4muC4geC4suC4o+C5geC4geC5ieC5hOC4guC5geC4muC4muC4quC4reC4muC4luC4suC4oeC5g+C4meC4reC4tOC4meC5gOC4leC4reC4o+C5jOC5gOC4n+C4i+C4guC4reC4h+C5gOC4reC5gOC4ouC5iOC4meC4leC5jCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgc3RhdHMgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+C4geC4suC4o+C4peC4h+C4l+C4sOC5gOC4muC4teC4ouC4meC5guC4oeC4lOC4ueC4pSBGcm9udGVuZCDguKrguLPguKvguKPguLHguJrguKrguJbguLTguJXguLTguILguK3guIfguYHguJrguJrguKrguK3guJrguJbguLLguKHguYPguJnguK3guLTguJnguYDguJXguK3guKPguYzguYDguJ/guIvguILguK3guIfguYDguK3guYDguKLguYjguJnguJXguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+C4geC4suC4o+C4peC4h+C4l+C4sOC5gOC4muC4teC4ouC4meC5guC4oeC4lOC4ueC4pSBGcm9udGVuZCDguKrguLPguKvguKPguLHguJrguIHguLLguKPguIvguLnguKHguYHguJrguJrguKrguK3guJrguJbguLLguKHguYPguJnguK3guLTguJnguYDguJXguK3guKPguYzguYDguJ/guIvguILguK3guIfguYDguK3guYDguKLguYjguJnguJXguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ+C4geC4suC4o+C4peC4h+C4l+C4sOC5gOC4muC4teC4ouC4meC5guC4oeC4lOC4ueC4pSBGcm9udGVuZCDguKrguLPguKvguKPguLHguJrguK3guK3guJrguYDguIjguIHguITguYzguYHguJrguJrguKrguK3guJrguJbguLLguKHguJfguLHguYjguKfguYTguJvguYPguJnguJ7guLfguYnguJnguJfguLXguYjguKrguLPguKPguKfguIjguKrguLLguJjguLLguKPguJPguLAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ+C4luC5ieC4suC4q+C4suC4gSByZWdleCDguJXguKPguIfguIHguLHguJkg4LiI4Liw4LmE4Lih4LmI4Lih4Li14LiB4Liy4Lij4Liq4LmI4LiH4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4Lih4LmD4Lir4LmJ4Lil4Li54LiB4LiE4LmJ4LiyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xpbWl0Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgcGFnZXMgKGluIHdoaWNoIHRoZSBzdXJ2ZXlzIGFyZSBzaG93bikgb2YgdGhlIHNtYWxsIHN1cnZleSBvdmVydmlldy4nfSA9CiAgICAgICAgJ+C4nuC4suC4o+C4suC4oeC4tOC5gOC4leC4reC4o+C5jOC4quC4s+C4q+C4o+C4seC4muC5gOC4nuC4iCAo4LiL4Li24LmI4LiH4LiI4Liw4LmB4Liq4LiU4LiH4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4LihKSDguILguK3guIfguKDguLLguJ7guKPguKfguKHguYHguJrguJrguKrguK3guJrguJbguLLguKHguILguJnguLLguJTguYDguKXguYfguIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICfguYHguJrguJrguKrguK3guJrguJbguLLguKHguKrguLLguJjguLLguKPguJPguLAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfguYHguKrguJTguIfguKXguLTguIfguITguYzguYPguJnguYDguKHguJnguLnguYDguJ7guLfguYjguK3guYHguIHguYnguYTguILguYHguJrguJrguKrguK3guJrguJbguLLguKHguYPguJnguKHguLjguKHguKHguK3guIfguIHguLLguKPguIvguLnguKHguYPguJnguK3guLTguJnguYDguJXguK3guKPguYzguYDguJ/guIvguILguK3guIfguYDguK3guYDguKLguYjguJnguJXguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfguYHguKrguJTguIfguKXguLTguIfguITguYzguYPguJnguYDguKHguJnguLnguYDguJ7guLfguYjguK3guYHguIHguYnguYTguILguITguLPguJbguLLguKHguYPguJnguYHguJrguJrguKrguK3guJrguJbguLLguKHguYPguJnguKHguLjguKHguKHguK3guIfguIHguLLguKPguIvguLnguKHguYPguJnguK3guLTguJnguYDguJXguK3guKPguYzguYDguJ/guIvguILguK3guIfguYDguK3guYDguKLguYjguJnguJXguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+C5geC4quC4lOC4h+C4peC4tOC4h+C4hOC5jOC5g+C4meC5gOC4oeC4meC4ueC5gOC4nuC4t+C5iOC4reC4ouC5ieC4reC4meC4geC4peC4seC4muC5g+C4meC4geC4suC4o+C4i+C4ueC4oeC4guC4reC4h+C4reC4tOC4meC5gOC4leC4reC4o+C5jOC5gOC4n+C4i+C5gOC4reC5gOC4ouC5iOC4meC4leC5jCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gem9vbSBpbnRvIHRoZSBzdXJ2ZXkgc3RhdGlzdGljcyBkZXRhaWxzIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+C5geC4quC4lOC4h+C4peC4tOC4h+C4hOC5jOC5g+C4meC5gOC4oeC4meC4ueC5gOC4nuC4t+C5iOC4reC4i+C4ueC4kuC5hOC4m+C4l+C4teC5iOC4o+C4suC4ouC4peC4sOC5gOC4reC4teC4ouC4lOC4quC4luC4tOC4leC4tOC4guC4reC4h+C5geC4muC4muC4quC4reC4muC4luC4suC4oeC5g+C4meC4reC4tOC4meC5gOC4leC4reC4o+C5jOC5gOC4n+C4i+C4guC4reC4h+C5gOC4reC5gOC4ouC5iOC4meC4leC5jCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAn4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Liq4LiW4Li04LiV4Li0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJ+C5geC4muC4muC4quC4reC4muC4luC4suC4oeC5gOC4nuC4tOC5iOC4oeC5guC4oeC4lOC4ueC4pSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAn4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4Lih4LmB4LiB4LmJ4LmE4LiC4LmC4Lih4LiU4Li54LilJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAn4LiB4Liy4Lij4LiI4Liz4LiB4Lix4LiU4Lig4Liy4Lie4Lij4Lin4Lih4LiC4Lit4LiH4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4LihICLguILguJnguLLguJTguYDguKXguYfguIEiJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAn4LiB4Liy4Lij4Liq4Liz4Lij4Lin4LiI4Liq4LiW4Li04LiV4Li04LmC4Lih4LiU4Li54LilJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICfguYLguKHguJTguLnguKXguIvguLnguKHguYHguJrguJrguKrguK3guJrguJbguLLguKEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICfguIjguLDguYTguKHguYjguKHguLXguIHguLLguKPguKrguYjguIfguYHguJrguJrguKrguK3guJrguJbguLLguKHguJfguLXguYjguK3guLXguYDguKHguKXguJfguLXguYjguJbguLnguIHguIHguLPguKvguJnguJTguITguYjguLInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ+C4leC4seC4p+C4muC5iOC4h+C4iuC4teC5ieC4quC4s+C4q+C4o+C4seC4muC5geC4muC4muC4quC4reC4muC4luC4suC4oSwg4LiV4Lix4Lin4Lit4Lii4LmI4Liy4LiH4LmA4LiK4LmI4LiZIOC5geC4muC4muC4quC4reC4muC4luC4suC4oSMg4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4Lih4LiC4Lit4LiH4LiJ4Lix4LiZIy4g4LiE4LmI4Liy4LmA4Lij4Li04LmI4Lih4LiV4LmJ4LiZ4LiE4Li34Lit4LmB4Lia4Lia4Liq4Lit4Lia4LiW4Liy4LihIy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICfguYLguKHguJTguLnguKXguJXguLHguYvguKfguIHguLTguIjguIHguKPguKPguKHguJfguLXguYjguIjguLDguKrguYjguIfguK3guLXguYDguKHguKXguYHguJrguJrguKrguK3guJrguJbguLLguKHguILguK3guIfguIHguLLguKPguKPguYnguK3guIfguILguK3guK3guLHguJXguYLguJnguKHguLHguJXguLTguYPguKvguYnguKXguLnguIHguITguYnguLLguYPguJnguIHguKPguJPguLXguJfguLXguYjguJXguLHguYvguKfguJbguLnguIHguJvguLTguJQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAn4LiB4Liy4Lij4LiB4Lij4Liw4LiV4Li44LmJ4LiZ4LiB4Liy4Lij4Liq4LmI4LiH4LiB4Liy4Lij4Lij4LmJ4Lit4LiH4LiC4Lit4LmB4Lia4Lia4Liq4Lit4Lia4LiX4Li14LmI4Lil4LmI4Liy4LiK4LmJ4LiyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/tr_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnRyX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBDaGFuZ2UgU3RhdHVzIC0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/uk_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnVrX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ9Ch0YLQstC+0YDQuNGC0Lgg0L3QvtCy0LUg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50cm9kdWN0aW9uJ30gPSAn0J/RgNC10LTRgdGC0LDQstC70LXQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJ9Cf0YDQtdC00YHRgtCw0LLQu9C10L3QvdGPINC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBCb2R5J30gPSAn0KLRltC70L4g0ZbQvdGE0L7RgNC80YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludGVybmFsIERlc2NyaXB0aW9uJ30gPSAn0JLQvdGD0YLRgNGW0YjQvdGW0Lkg0L7Qv9C40YEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3VzdG9tZXIgY29uZGl0aW9ucyd9ID0gJ9Cj0LzQvtCy0Lgg0LrQu9GW0ZTQvdGC0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICfQkdGD0LTRjCDQu9Cw0YHQutCwINCy0LjQsdC10YDRltGC0Ywg0LrQvtGA0LXQutGC0L3QviDQutC70ZbRlNC90YLQsCDRidC+0LEg0LTQvtC00LDRgtC4INGD0LzQvtCy0YMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICfQn9GD0LHQu9GW0YfQvdC40Lkg0LrQu9GO0Ycg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICfQn9GA0LjQutC70LDQtCDQvtC/0LjRgtGD0LLQsNC90L3Rjyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlFZGl0CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEdlbmVyYWwgSW5mbyd9ID0gJ9Cg0LXQtNCw0LPRg9Cy0LDRgtC4INC30LDQs9Cw0LvRjNC90YMg0ZbQvdGE0L7RgNC80LDRhtGW0Y4nOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbnMnfSA9ICfQoNC10LTQsNCz0YPQstCw0YLQuCDQt9Cw0L/QuNGC0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGFyZSBoZXJlJ30gPSAn0JLQuCDRgtGD0YInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFF1ZXN0aW9ucyd9ID0gJ9CX0LDQv9C40YLQsNC90L3RjyDQvtC/0LjRgtGD0LLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgUXVlc3Rpb24nfSA9ICfQlNC+0LTQsNGC0Lgg0LfQsNC/0LjRgtCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1R5cGUgdGhlIHF1ZXN0aW9uJ30gPSAn0KLQuNC/INC30LDQv9C40YLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICfQndC10L7QsdGF0ZbQtNC90LAg0LLRltC00L/QvtCy0ZbQtNGMJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAn0J3QtdC80LDRlCDQt9Cx0LXRgNC10LbQtdC90LjRhSDQt9Cw0L/QuNGC0LDQvdGMINC00LvRjyDRhtGM0L7Qs9C+INC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uJ30gPSAn0JfQsNC/0LjRgtCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBSZXF1aXJlZCd9ID0gJ9Cd0LXQvtCx0YXRltC00L3QsCDQstGW0LTQv9C+0LLRltC00YwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2hlbiB5b3UgZmluaXNoIHRvIGVkaXQgdGhlIHN1cnZleSBxdWVzdGlvbnMganVzdCBjbG9zZSB0aGlzIHNjcmVlbi4nfSA9CiAgICAgICAgJ9Ch0LvRltC0INC30LDQutGA0LjRgtC4INGG0LUg0LLRltC60L3QviDQv9GW0YHQu9GPINC30LDQstC10YDRiNC10L3QvdGPINC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAn0JfQsNC60YDQuNGC0Lgg0YbQtSDQstGW0LrQvdC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICfQoNC10LTQsNCz0YPQstCw0YLQuCDQt9Cw0L/QuNGC0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBxdWVzdGlvbnMnfSA9ICfQv9C+0LLQtdGA0L3Rg9GC0LjRgdGMINC00L4g0LfQsNC/0LjRgtCw0L3RjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICfQl9Cw0L/QuNGC0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICfQnNC+0LbQu9C40LLRliDQstGW0LTQv9C+0LLRltC00ZYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJ9CU0L7QtNCw0YLQuCDQstGW0LTQv9C+0LLRltC00YwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICfQndC10LzQsNGUINC30LHQtdGA0LXQttC10L3QuNGFINCy0ZbQtNC/0L7QstGW0LTQtdC5INC00L4g0YbRjNC+0LPQviDQt9Cw0L/QuNGC0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ9Cm0LUg0LfQsNC/0LjRgtCw0L3QvdGPINC90LUg0LzRltGB0YLQuNGC0Ywg0LLQsNGA0ZbQsNC90YLRltCyINCy0ZbQtNC/0L7QstGW0LTRliwg0LHRg9C00LUg0L/QvtC60LDQt9Cw0L3QtSDRgtC10LrRgdGC0L7QstC1INC/0L7Qu9C1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAn0KDQtdC00LDQs9GD0LLQsNGC0Lgg0LLRltC00L/QvtCy0ZbQtNGMJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ9C/0L7QstC10YDQvdGD0YLQuNGB0Ywg0LTQviDRgNC10LTQsNCz0YPQstCw0L3QvdGPINC30LDQv9C40YLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAn0JLRltC00L/QvtCy0ZbQtNGMJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJ9Ce0L/RhtGW0Y8g0L/QtdGA0LXQs9C70Y/QtNGDINC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJ9Cf0L7RiNGD0Log0L/QviDQsNGC0YDQuNCx0YPRgtCw0YUgKNGA0ZbQt9C90ZYpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBDcmVhdGUgVGltZSd9ID0gJ9Cn0LDRgSDRgdGC0LLQvtGA0LXQvdC90Y8g0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICfQkdC10Lcg0L7QsdC80LXQttC10L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICfQotGW0LvRjNC60Lgg0L7Qv9C40YLRg9Cy0LDQvdC90Y8g0YHRgtCy0L7RgNC10L3RliDQvNGW0LYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAn0JzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0L7Qv9C40YLRg9Cy0LDQvdGMINC90LAg0YHRgtC+0YDRltC90LrRgyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlPdmVydmlld1NtYWxsCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU2VuZGVyJ30gPSAn0JLRltC00L/RgNCw0LLQvdC40Log0ZbQvdGE0L7RgNC80YPQstCw0L3RjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJ9Ci0LXQvNCwINGW0L3RhNC+0YDQvNGD0LLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAn0JfQvNGW0L3QtdC90LjQuSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICfQntCz0LvRj9C0INGB0YLQsNGC0LjRgdGC0LjQutC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlcXVlc3RzIFRhYmxlJ30gPSAn0KLQsNCx0LvQuNGG0Y8g0LfQsNC/0LjRgtGW0LInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJ9CS0LjQsdGA0LDRgtC4INCy0YHRliDQt9Cw0L/QuNGC0LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VuZCBUaW1lJ30gPSAn0KfQsNGBINC90LDQtNGB0LjQu9Cw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJ9Cn0LDRgSDQs9C+0LvQvtGB0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICfQktC40LHQtdGA0ZbRgtGMINGG0LXQuSDQt9Cw0L/QuNGCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAn0J/QtdGA0LXQs9C70Y/QvdGD0YLQuCDQtNC10YLQsNC70ZYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAn0JLQuNC00LDQu9C40YLQuCDRgdGC0LDRgtC40YHRgtC40LrRgyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdCBEZXRhaWxzJ30gPSAn0JTQtdGC0LDQu9GWINGB0YLQsNGC0LjRgdGC0LjQutC4INC+0L/QuNGC0YPQstCw0L3QvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJ9C/0L7QstC10YDQvdGD0YLQuNGB0Ywg0LTQviDQv9C10YDQtdCz0LvRj9C00YMg0YHRgtCw0YLQuNGB0YLQuNC60LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHJldmlvdXMgdm90ZSd9ID0gJ9Cf0L7Qv9C10YDQtdC00L3RjyDQvtGG0ZbQvdC60LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAn0J3QsNGB0YLRg9C/0L3QsCDQvtGG0ZbQvdC60LAnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5Wm9vbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEluZm9ybWF0aW9uJ30gPSAn0IbQvdGE0L7RgNC80LDRhtGW0Y8g0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJ9Cd0LDQtNGW0YHQu9Cw0L3RliDQt9Cw0L/QuNGC0LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjZWl2ZWQgc3VydmV5cyd9ID0gJ9Ce0YLRgNC40LzQsNC90ZYg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICfQlNC10YLQsNC70ZYg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAn0KHQtdGA0LLRltGB0Lgg0LfQsNGP0LLQvtC6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAn0JPRgNCw0YTRltC6INGA0LXQt9GD0LvRjNGC0LDRgtGW0LIg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gc3RhdCByZXN1bHRzLid9ID0gJ9Cd0LXQvNCw0ZQg0YHRgtCw0YLQuNGB0YLQuNC60LgnOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAn0J7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGFuc3dlciB0aGVzZSBxdWVzdGlvbnMnfSA9ICfQkdGD0LTRjCDQu9Cw0YHQutCwLCDQtNCw0LnRgtC1INCy0ZbQtNC/0L7QstGW0LTRjCDQvdCwINC90LDRgdGC0YPQv9C90ZYg0LfQsNC/0LjRgtCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJ9Cf0L7QutCw0LfQsNGC0Lgg0LzQvtGXINCy0ZbQtNC/0L7QstGW0LTRlic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAn0JLQsNGI0ZYg0LLRltC00L/QvtCy0ZbQu9GWJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJ9CX0LDQs9C+0LvQvtCy0L7QuiDQvtC/0LjRgtGD0LLQsNC90L3Rjyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAn0JTQvtC00LDRgtC4INC90L7QstC1INC+0L/QuNGC0YPQstCw0L3QvdGPJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJ9CS0Lgg0L3QtSDQvNCw0ZTRgtC1INC/0L7QstC90L7QstCw0LbQtdC90Ywg0L3QsCDRhtC1INC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIFN1cnZleUlEIGlzIGdpdmVuISd9ID0gJ9Cd0LUg0L3QsNC00LDQvdC+IFN1cnZleUlEISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCd9ID0gJ9Cg0LXQtNCw0LPRg9Cy0LDRgtC4INC+0L/QuNGC0YPQstCw0L3QvdGPJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJ9CS0Lgg0L3QtSDQvNCw0ZTRgtC1INC/0L7QstC90L7QstCw0LbQtdC90Ywg0L3QsCDRhtC1INC+0L/QuNGC0YPQstCw0L3QvdGPINGH0Lgg0LfQsNC/0LjRgtCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAn0JLQuCDQvdC1INC80LDRlNGC0LUg0L/QvtCy0L3QvtCy0LDQttC10L3RjCDQvdCwINGG0LUg0L7Qv9C40YLRg9Cy0LDQvdC90Y8sINC30LDQv9C40YLQsNC90L3RjyDRh9C4INCy0ZbQtNC/0L7QstGW0LTRjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICfQoNC10LTQsNCz0YPQstCw0YLQuCDQt9Cw0L/QuNGC0LDQvdC90Y8g0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAn0KLQsNC6L9Cd0ZYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmFkaW8gKExpc3QpJ30gPSAn0KDQsNC00ZbQviAo0YHQv9C40YHQvtC6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICfQn9GA0LDQv9C+0YDRhtGWICjRgdC/0LjRgdC+0LopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJ9Cf0L7QutCw0LfQvdC40Log0L7RhtGW0L3QutC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICfQotC40L8g0LfQsNC/0LjRgtCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAn0JfQsNCy0LXRgNGI0LXQvdC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICfQndC1INC30LDQstC10YDRiNC10L3Qvic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAn0KDQtdC00LDQs9GD0LLQsNGC0Lgg0LfQsNC/0LjRgtCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAn0KDQtdC00LDQs9GD0LLQsNGC0Lgg0LLRltC00L/QvtCy0ZbQtNGMICc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICfQn9C10YDQtdCz0LvRj9C0INGB0YLQsNGC0LjRgdGC0LjQutC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnfSA9ICfQktC4INC90LUg0LzQsNGU0YLQtSDQv9C+0LLQvdC+0LLQsNC20LXQvdGMINC90LAg0YbQtSDQvtC/0LjRgtGD0LLQsNC90L3RjyDRh9C4INGB0YLQsNGC0LjRgdGC0LjQutGDJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ9CU0LXRgtCw0LvRliDRgdGC0LDRgtC40YHRgtC40LrQuCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJ9Cd0LUg0LzQvtC20LvQuNCy0L4g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L3QvtCy0LjQuSDRgdGC0LDRgtGD0YEuINCd0LUg0LLQuNC30L3QsNGH0LXQvdGWINC30LDQv9C40YLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJ9Cd0LUg0LzQvtC20LvQuNCy0L4g0L7QvdC+0LLQuNGC0Lgg0YHRgtCw0YLRg9GBISDQl9Cw0L/QuNGC0LDQvdC90Y8g0L3QtSDQt9Cw0LLQtdGA0YjQtdC90ZYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHVzIGNoYW5nZWQuJ30gPSAn0KHRgtCw0YLRg9GBINC30LzRltC90LjQstGB0Y8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJy0g0J3QtSDQstC40LHRgNCw0L3QviDRh9C10YDQs9GDIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAn0J3QtSDQstC40LHRgNCw0L3QviDRgtC40L8g0LfQsNGP0LLQutC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJ9Cd0LUg0LLQuNCx0YDQsNC90L4g0YHQtdGA0LLRltGBINC30LDRj9Cy0LrQuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0g0JfQvNGW0L3QuNGC0Lgg0YHRgtCw0YLRg9GBIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAn0JPQvtC70L7QstC90LjQuSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkJ30gPSAn0J3QtdC00ZbQudGB0L3QuNC5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldyBTdGF0dXMnfSA9ICfQndC+0LLQuNC5INGB0YLQsNGC0YPRgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICfQntC/0LjRgSDQvtC/0LjRgtGD0LLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydhbnN3ZXJlZCd9ID0gJ9Cy0ZbQtNC/0L7QstGW0LvQuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICfQvdC1INCy0ZbQtNC/0L7QstGW0LvQuCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAn0JTRj9C60YPRlNC80L4g0LfQsCDQktCw0Ygg0LLRltC00LPRg9C6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuJ30gPSAn0J7Qv9C40YLRg9Cy0LDQvdC90Y8g0LfQsNCy0LXRgNGI0LXQvdC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBNZXNzYWdlISd9ID0gJ9Cf0L7QstGW0LTQvtC80LvQtdC90L3RjyDQvtC/0LjRgtGD0LLQsNC90L3RjyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTW9kdWxlIG5vdCBlbmFibGVkLid9ID0gJ9Cc0L7QtNGD0LvRjCDQvdC1INC00L7Qt9Cy0L7Qu9C10L3QuNC5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCwgcGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLid9ID0KICAgICAgICAn0KbQtdC5INGE0YPQvdC60YbRltC+0L3QsNC7INC90LUg0LTQvtC30LLQvtC70LXQvdC40LksINCx0YPQtNGMINC70LDRgdC60LAg0LfQstGP0LbRltGC0YzRgdGPINC3INCw0LTQvNGW0L3RltGB0YLRgNCw0YLQvtGA0L7QvCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRXJyb3IhJ30gPSAn0J/QvtC80LjQu9C60LAg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJ9Cd0LUg0LLRltGA0L3QuNC5INC60LvRjtGHINC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICfQktC60LvQsNC00LXQvdC40Lkg0LrQu9GO0Ycg0L7Qv9C40YLRg9Cy0LDQvdC90Y8g0L3QtSDQstGW0YDQvdC40LksINCw0LHQviDQktC4INC/0LXRgNC10LnRiNC70Lgg0LfQsCDRhdC40LHQvdC40Lwg0YfQuCDQv9C+0YjQutC+0LTQttC10L3QuNC8INC/0L7RgdC40LvQsNC90L3Rj9C8JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAn0JPQvtC70L7RgdGD0LLQsNC90L3RjyDQvtC/0LjRgtGD0LLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVm90ZSBEYXRhJ30gPSAn0JTQsNC90ZYg0LPQvtC70L7RgdGD0LLQsNC90L3RjyDQv9C+INC+0L/QuNGC0YPQstCw0L3QvdGOJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIGFscmVhZHkgYW5zd2VyZWQgdGhlIHN1cnZleS4nfSA9ICfQktC4INCy0LbQtSDQstGW0LTQv9C+0LLRltC70Lgg0L3QsCDQstGB0ZYg0LfQsNC/0LjRgtCw0L3QvdGPINCyINC+0L/QuNGC0YPQstCw0L3QvdGWJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICfQn9C10YDQtdC70ZbQuiDQvtC/0LjRgtGD0LLQsNC90YwnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICfQktC4INC00ZbQudGB0L3QviDRhdC+0YfQtdGC0LUg0LLQuNC00LDQu9C40YLQuCDRhtC1INC30LDQv9C40YLQsNC90L3Rjz8g0JLRgdGWINC/0L7QstGP0LfQsNC90ZYg0LTQsNC90ZYg0LHRg9C00YPRgtGMINCS0KLQoNCQ0KfQldCd0IYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICfQktC4INC00ZbQudGB0L3QviDRhdC+0YfQtdGC0LUg0LLQuNC00LDQu9C40YLQuCDRhtC1INC30LDQv9C40YLQsNC90L3Rjz8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAn0JzQvtC00YPQu9GMINC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICfQnNC+0LTRg9C70Ywg0LTQu9GPINGA0LXQtNCw0LPRg9Cy0LDQvdC90Y8g0LfQsNC/0LjRgtCw0L3RjCDQvtC/0LjRgtGD0LLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGwgcGFyYW1ldGVycyBmb3IgdGhlIFN1cnZleSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9CS0YHRliDQv9Cw0YDQsNC80LXRgtGA0Lgg0L/QviDQvtC/0LjRgtGD0LLQsNC90L3RjiDRlCDQsiDRltC90YLQtdGA0YTQtdC50YHRliDQsNCz0LXQvdGC0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAn0JrRltC70YzQutGW0YHRgtGMINC00L3RltCyINC/0ZbRgdC70Y8g0L3QsNC00YHQuNC70LDQvdC90Y8g0L7Qv9C40YLRg9Cy0LDQvdC90Y8g0L/QviDRj9C60LjRhSDQvdC10LzQsNGUINCy0ZbQtNCz0YPQutGDINGC0L7QvNGDINGB0LDQvNC+0LzRgyDQutC70ZbRlNC90YLRgyAoMC3Qt9Cw0LLQttC00Lgg0L3QsNC00YHQuNC70LDRgtC4KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IGJvZHkgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICfQotGW0LvQviDQu9C40YHRgtCwINC30LAg0LfQsNC80L7QstGH0YPQstCw0L3QvdGP0Lwg0LTQu9GPINGW0L3RhNC+0YDQvNGD0LLQsNC90L3RjyDQv9C+INC10LvQtdC60YLRgNC+0L3QvdGW0Lkg0L/QvtGI0YLRliDQutC70ZbRlNC90YLQsNC8INC/0YDQviDQvdC+0LLQtSDQvtC/0LjRgtGD0LLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ9CS0ZbQtNC/0YDQsNCy0L3QuNC6INC/0L4g0LfQsNC80L7QstGH0YPQstCw0L3QvdGOINC00LvRjyDRltC90YTQvtGA0LzRg9Cy0LDQvdC90Y8g0L/QviDQtdC70LXQutGC0YDQvtC90L3RltC5INC/0L7RiNGC0ZYg0LrQu9GW0ZTQvdGC0LDQvCDQv9GA0L4g0L3QvtCy0LUg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAn0KLQtdC80LAg0L/QviDQt9Cw0LzQvtCy0YfRg9Cy0LDQvdC90Y4g0LTQu9GPINGW0L3RhNC+0YDQvNGD0LLQsNC90L3RjyDQv9C+INC10LvQtdC60YLRgNC+0L3QvdGW0Lkg0L/QvtGI0YLRliDQutC70ZbRlNC90YLQsNC8INC/0YDQviDQvdC+0LLQtSDQvtC/0LjRgtGD0LLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICfQktC40LfQvdCw0YfQsNGUINC80L7QtNGD0LvRjCDQv9C10YDQtdCz0LvRj9C00YMsINGJ0L7QsSDQv9C+0LrQsNC30LDRgtC4INC60L7RgNC+0YLQutC40Lkg0L7Qs9C70Y/QtCDRgdC/0LjRgdC60YMg0Lcg0L7Qv9C40YLRg9Cy0LDQvdC90Y/QvNC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJ9CS0LjQt9C90LDRh9Cw0ZQg0LPRgNGD0L/QuCDRj9C60ZYg0LzQsNGO0YLRjCDQv9C+0LLQvdC+0LLQsNC20LXQvdC90Y8g0LfQvNGW0L3QuNGC0Lgg0YHRgtCw0L0g0L7Qv9C40YLRg9Cy0LDQvdC90Y8uINCc0LDRgdC40LIg0L/QviDQt9Cw0LzQvtCy0YfRg9Cy0LDQvdC90Y4g0ZQg0L/Rg9GB0YLQuNC5INGWINCw0LPQtdC90YLQuCDQtyDRg9GB0ZbRhSDQs9GA0YPQvyDQvNC+0LbRg9GC0Ywg0LfQvNGW0L3QuNGC0Lgg0YHRgtCw0YLRg9GBINC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgc3VydmV5IHJlcXVlc3RzIHdpbGwgYmUgb25seSBzZW5kIHRvIHJlYWwgY3VzdG9tZXJzLid9ID0KICAgICAgICAn0JLQuNC30L3QsNGH0LDRlCDRh9C4INC30LDQv9C40YLQsNC90L3RjyDQvtC/0LjRgtGD0LLQsNC90L3RjyDQv9C+0LLQuNC90L3RliDQsdGD0YLQuCDQvdCw0LTRltGB0LvQsNC90ZYg0LrQu9GW0ZTQvdGC0LDQvCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAn0JLQuNC30L3QsNGH0LDRlCDRgtCw0LrRgdC40LzQsNC70YzQvdC1INC30L3QsNGH0LXQvdC90Y8g0LrRltC70YzQutC+0YHRgtGWINC+0L/QuNGC0YPQstCw0L3RjCwg0YnQviDQvNC+0LbRg9GC0Ywg0LHRg9GC0Lgg0L3QsNGW0YHQu9Cw0L3RliDQutC+0YDQuNGB0YLRg9Cy0LDRh9GDINC/0YDQvtGC0Y/Qs9C+0LwgMzAg0LTQvdGW0LIgKDAt0LLRgdGWKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBhbW91bnQgaW4gaG91cnMgYSB0aWNrZXQgaGFzIHRvIGJlIGNsb3NlZCB0byB0cmlnZ2VyIHRoZSBzZW5kaW5nIG9mIGEgc3VydmV5LCAoIDAgbWVhbnMgc2VuZCBpbW1lZGlhdGVseSBhZnRlciBjbG9zZSApLiBOb3RlOiBkZWxheWVkIHN1cnZleSBzZW5kaW5nIGlzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJ9CS0LjQt9C90LDRh9Cw0ZQg0LfQvdCw0YfQtdC90L3RjyDQt9Cw0YLRgNC40LzQutC4INC90LDQtNGB0LjQu9Cw0L3QvdGPINC+0L/QuNGC0YPQstCw0L3QvdGPINC/0ZbRgdC70Y8g0LfQsNC60YDQuNGC0YLRjyDQt9Cw0Y/QstC60Lgg0LIg0LPQvtC00LjQvdCw0YUgKDAt0L7QtNGA0LDQt9GDKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBjb2x1bW5zIGZvciB0aGUgZHJvcGRvd24gbGlzdCBmb3IgYnVpbGRpbmcgc2VuZCBjb25kaXRpb25zICgwID0+IGluYWN0aXZlLCAxID0+IGFjdGl2ZSkuJ30gPQogICAgICAgICfQktC40LfQvdCw0YfQsNGUINC60L7Qu9C+0L3QutC4INC00LvRjyDQstC40L/QsNC00LDRjtGH0L7Qs9C+INGB0L/QuNGB0LrRgyDQtNC70Y8g0L/QvtCx0YPQtNC+0LLQuCDRg9C80L7QsiAoMC8xIC0g0L3QtdCw0LrRgtC40LLQvdC40Lkv0LDQutGC0LjQstC90LjQuSknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAn0JLQuNC30L3QsNGH0LDRlCDQstC40YHQvtGC0YMgUmljaHRleHQgdmlld3Mg0LfQsCDQt9Cw0LzQvtCy0YfRg9Cy0LDQvdC90Y/QvCDQtNC70Y8g0LfQsdGW0LvRjNGI0LXQvdC40YUg0LXQu9C10LzQtdC90YLRltCyINC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGdyb3VwcyAocncpIHdoaWNoIGNhbiBkZWxldGUgc3VydmV5IHN0YXRzLid9ID0gJ9CX0LDQtNCw0ZQg0LPRgNGD0L/QuCAo0YfQuNGC0LDQvdC90Y8v0LfQsNC/0LjRgdGDKSDRj9C60ZYg0LzQvtC20YPRgtGMINCy0LjQtNCw0LvQuNGC0Lgg0YHRgtCw0YLQuNGB0YLQuNC60YMg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAn0JLQuNC30L3QsNGH0LDRlCDQvNCw0LrRgS4g0LLQuNGB0L7RgtGDIFJpY2h0ZXh0IHZpZXdzINC00LvRjyDQt9Cx0ZbQu9GM0YjQtdC90LjRhSDQtdC70LXQvNC10L3RgtGW0LIg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgc2hvd24gY29sdW1ucyBpbiB0aGUgc3VydmV5IG92ZXJ2aWV3LiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29sdW1ucy4nfSA9CiAgICAgICAgJ9CS0LjQt9C90LDRh9Cw0ZQg0Y/QutGWINC60L7Qu9C+0L3QutC4INC/0L7QutCw0LfRg9Cy0LDRgtC4INCyINC/0LXRgNC10LPQu9GP0LTRliDQvtC/0LjRgtGD0LLQsNC90L3Rjy4g0J3QtSDQstC/0LvQuNCy0LDRlCDQvdCwINGX0YUg0YDQvtC30YLQsNGI0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICfQktC40LfQvdCw0YfQsNGUINGH0Lgg0LzQvtC00YPQu9GMINGB0YLQsNGC0LjRgdGC0LjQutC4INC80L7QttC1INCz0LXQvdC10YDRg9Cy0LDRgtC4INC70LjRgdGC0Lgg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICfQoNC10LTQsNCz0YPQstCw0YLQuCDQt9Cw0LPQsNC70YzQvdGDINGW0L3RhNC+0YDQvNCw0YbRltGOINC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICfQoNC10LTQsNCz0YPQstCw0YLQuCDQt9Cw0L/QuNGC0LDQvdC90Y8g0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIFNob3dWb3RlRGF0YSBzY3JlZW4gaW4gdGhlIHB1YmxpYyBpbnRlcmZhY2UgdG8gc2hvdyBkYXRhIG9mIGEgc3BlY2lmaWMgc3VydmV5IHJlc3VsdCB3aGVuIHRoZSBjdXN0b21lciB0cmllcyB0byBhbnN3ZXIgYSBzdXJ2ZXkgdGhlIHNlY29uZCB0aW1lLid9ID0KICAgICAgICAn0JLQstGW0LzQutC90YPRgtC4L9Cy0LjQvNC60L3Rg9GC0Lgg0LLRltC00L7QsdGA0LDQttC10L3QvdGPINC00LDRgtC4INCz0L7Qu9C+0YHRg9Cy0LDQvdC90Y8g0LIg0L/Rg9Cx0LvRltGH0L3QvtC80YMg0ZbQvdGC0LXRgNGE0LXQudGB0ZYo0L/QvtC60LDQt9GD0ZTRgtGM0YHRjyDQutC70ZbRlNC90YLRgyDQv9GA0Lgg0L/QvtCy0YLQvtGA0L3RltC5INGB0L/RgNC+0LHRliDQv9GA0L7QudGC0Lgg0L7Qv9C40YLRg9Cy0LDQvdC90Y8pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBzZW5kIGNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHNlcnZpY2UuJ30gPSAn0JLQstGW0LzQutC90YPRgtC4L9Cy0LjQvNC60L3Rg9GC0Lgg0L/QtdGA0LXQstGW0YDQutGDINGD0LzQvtCy0Lgg0LLRltC00L/RgNCw0LLQutC4INC00LvRjyDRgdC10YDQstGW0YHRgyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ9CS0LLRltC80LrQvdGD0YLQuC/QstC40LzQutC90YPRgtC4INC/0LXRgNC10LLRltGA0LrRgyDRg9C80L7QstC4INCy0ZbQtNC/0YDQsNCy0LrQuCDQtNC70Y8g0YLQuNC/0YMg0LfQsNGP0LLQutC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBhZGQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0Zyb250ZW5kINC80L7QtNGD0LvRjCDRgNC10ZTRgdGC0YDQsNGG0ZbRlywg0YnQviDQtNC+0LTQsNGUINC+0L/QuNGC0YPQstCw0L3QvdGPINCyINGW0L3RgtC10YDRhNC10LnRgSDQsNCz0LXQvdGC0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0Zyb250ZW5kINC80L7QtNGD0LvRjCDRgNC10ZTRgdGC0YDQsNGG0ZbRlywg0YnQviDRgNC10LTQsNCz0YPRlCDQvtC/0LjRgtGD0LLQsNC90L3RjyDQsiDRltC90YLQtdGA0YTQtdC50YEg0LDQs9C10L3RgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBzdGF0cyBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRnJvbnRlbmQg0LzQvtC00YPQu9GMINGA0LXRlNGB0YLRgNCw0YbRltGXLCDRidC+INC00L7QtNCw0ZQg0YHRgtCw0YLQuNGB0YLQuNC60YMg0L7Qv9C40YLRg9Cy0LDQvdC90Y8g0LIg0ZbQvdGC0LXRgNGE0LXQudGBINCw0LPQtdC90YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRnJvbnRlbmQg0LzQvtC00YPQu9GMINGA0LXRlNGB0YLRgNCw0YbRltGXLCDRidC+INCy0ZbQtNC60YDQuNCy0LDRlCDQvtC/0LjRgtGD0LLQsNC90L3RjyDQsiDRltC90YLQtdGA0YTQtdC50YEg0LDQs9C10L3RgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICdGcm9udGVuZCDQvNC+0LTRg9C70Ywg0YDQtdGU0YHRgtGA0LDRhtGW0ZcsINGJ0L4g0LTQvtC00LDRlCDQn9GD0LHQu9GW0YfQvdC1INC+0L/QuNGC0YPQstCw0L3QvdGPINCyINC/0YPQsdC70ZbRh9C90LjQuSDRltC90YLQtdGA0YTQtdC50YEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ9Cv0LrRidC+INGA0LXQs9GD0LvRj9GA0L3QuNC5INCy0LjRgNCw0Lcg0LLQuNC30L3QsNGH0LDRlCwg0LbQvtC00L3QtSDQvtC/0LjRgtGD0LLQsNC90L3RjyDQutC70ZbRlNC90YLRgyDQvdC1INCx0YPQtNC1INCy0ZbQtNC/0YDQsNCy0LvQtdC90L4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAn0J/QsNGA0LDQvNC10YLRgNC4INGB0YLQvtGA0ZbQvdC60LggKNCyINGP0LrQuNGFINC/0L7QutCw0LfRg9GO0YLRjNGB0Y8g0L7Qv9C40YLRg9Cy0LDQvdC90Y8pINCyINC60L7RgNC+0YLQutC+0LzRgyDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90L3Rlic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQdWJsaWMgU3VydmV5Lid9ID0gJ9Cf0YPQsdC70ZbRh9C90LUg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJ9Cg0LXQt9GD0LvRjNGC0LDRgtC4LCDRgdGC0LDRgNGI0ZYg0L3RltC2INCy0LjQt9C90LDRh9C10L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LTQvdGW0LIg0LHRg9C00YPRgtGMINCy0LjQtNCw0LvQtdC90ZYuINCX0LDQvNGW0YLQutCwOiDQvdCw0LvQsNGI0YLQvtCy0YPRlNGC0YzRgdGPIE9UT0JPIERhZW1vbiBUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn0J/QvtC60LDQt9GD0ZQg0LvRltC90Log0LIg0LzQtdC90Y4g0LTQu9GPINGA0LXQtNCw0LPRg9Cy0LDQvdC90Y8g0L7Qv9C40YLRg9Cy0LDQvdC90Y8g0LIg0YDQvtC30YjQuNGA0LXQvdC+0LzRgyDQv9C10YDQtdCz0LvRj9C00ZYg0LDQs9C10L3RgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn0J/QvtC60LDQt9GD0ZQg0LvRltC90Log0LIg0LzQtdC90Y4g0LTQu9GPINGA0LXQtNCw0LPRg9Cy0LDQvdC90Y8g0LfQsNC/0LjRgtCw0L3RjCDQvtC/0LjRgtGD0LLQsNC90L3RjyDQsiDRgNC+0LfRiNC40YDQtdC90L7QvNGDINC/0LXRgNC10LPQu9GP0LTRliDQsNCz0LXQvdGC0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ9Cf0L7QutCw0LfRg9GUINC70ZbQvdC6INCyINC80LXQvdGOINC00LvRjyDQv9C+0LLQtdGA0L3QtdC90L3RjyDQsiDQvtC/0LjRgtGD0LLQsNC90L3RjyDQsiDRgNC+0LfRiNC40YDQtdC90L7QvNGDINC/0LXRgNC10LPQu9GP0LTRliDQsNCz0LXQvdGC0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfQn9C+0LrQsNC30YPRlCDQu9GW0L3QuiDQsiDQvNC10L3RjiDQtNC70Y8g0YHRgtCw0YLQuNGB0YLQuNC60Lgg0L7Qv9C40YLRg9Cy0LDQvdC90Y8g0LIg0YDQvtC30YjQuNGA0LXQvdC+0LzRgyDQv9C10YDQtdCz0LvRj9C00ZYg0LDQs9C10L3RgtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICfQlNC10YLQsNC70ZYg0YHRgtCw0YLQuNGB0YLQuNC60LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEFkZCBNb2R1bGUuJ30gPSAn0JTQvtC00LDRgtC4INC80L7QtNGD0LvRjCDQvtC/0LjRgtGD0LLQsNC90L3Rjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAn0J/QvtC00YPQu9GMINGA0LXQtNCw0LPRg9Cy0LDQvdC90Y8g0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIgTGltaXQnfSA9ICfQm9GW0LzRltGCINC/0LXRgNC10LPQu9GP0LTRgyDQvtC/0LjRgtGD0LLQsNC90Ywg0JrQvtGA0L7RgtC60L4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXRzIE1vZHVsZS4nfSA9ICfQodGC0LDRgtC40YHRgtC40LrQsCDQvNC+0LTRg9C70Y4g0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFpvb20gTW9kdWxlLid9ID0gJ9CX0LHRltC70YzRiNC40YLQuCDQvNC+0LTRg9C70Ywg0L7Qv9C40YLRg9Cy0LDQvdC90Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICfQm9GW0LzRltGCINC+0L/QuNGC0YPQstCw0L3RjCDQvdCwINGB0YLQvtGA0ZbQvdC60YMg0LTQu9GPINC/0LXRgNC10LPQu9GP0LTRgyDQsiDRgNC10LbQuNC80ZYgU21hbGwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICfQntC/0LjRgtGD0LLQsNC90L3RjyDQvdC1INCx0YPQtNGD0YLRjCDQvdCw0LTRgdC40LvQsNGC0LjRgdGMINC90LAg0LLQutCw0LfQsNC90ZYgZW1haWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ9CG0LTQtdGC0LjRhNGW0LrQsNGC0L7RgCDQvtC/0LjRgtGD0LLQsNC90L3Rjy4g0J/QviDQt9Cw0LzQvtCy0YfRg9Cy0LDQvdC90Y4g0J7Qv9C40YLRg9Cy0LDQvdC90Y8jJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAn0J/QvtC00ZbRjyDQt9Cw0Y/QstC60LgsINC00LvRjyDQsNCy0YLQvtC80LDRgtC40YfQvdC+0Zcg0LLRltC00L/RgNCw0LLQutC4INC+0L/QuNGC0YPQstCw0L3QvdGPINC60LvRltGU0L3RgtGDINGP0LrRidC+INC30LDRj9Cy0LrQsCDQt9Cw0LrRgNC40YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAn0KLRgNC40LPQtdGA0Lgg0LLQuNC00LDQu9C10L3QvdGPINGA0LXQt9GD0LvRjNGC0LDRgtGW0LIgKNCy0LrQu9GO0YfQsNGO0YfQuCDQvtGG0ZbQvdC60Lgg0ZYg0LfQsNC/0LjRgtC4KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAn0KLRgNC40LPQtdGAINCy0ZbQtNC/0YDQsNCy0LrQuCDQstGW0LTQutC70LDQtNC10L3QuNGFINC30LDQv9C40YLRltCyINC+0L/QuNGC0YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAn0J/QtdGA0LXQudGC0Lgg0LIg0LTQtdGC0LDQu9GWINGB0YLQsNGC0LjRgdGC0LjQutC4JzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/vi_VN_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnZpX1ZOX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ1ThuqFvIGto4bqjbyBzw6F0IG3hu5tpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludHJvZHVjdGlvbid9ID0gJ0dp4bubaSB0aGnhu4d1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbnRyb2R1Y3Rpb24nfSA9ICdHaeG7m2kgdGhp4buHdSBraOG6o28gc8OhdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ07hu5lpIGR1bmcgdGjDtG5nIGLDoW8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW50ZXJuYWwgRGVzY3JpcHRpb24nfSA9ICdNw7QgdOG6oyBu4buZaSBi4buZJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0N1c3RvbWVyIGNvbmRpdGlvbnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIHN1cnZleSBrZXknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXhhbXBsZSBzdXJ2ZXknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5RWRpdAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBHZW5lcmFsIEluZm8nfSA9ICdT4butYSB0aMO0bmcgdGluIGNodW5nJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAnU+G7rWEgY8OidSBo4buPaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgYXJlIGhlcmUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFF1ZXN0aW9ucyd9ID0gJ0PDonUgaOG7j2kga2jhuqNvIHPDoXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIFF1ZXN0aW9uJ30gPSAnVGjDqm0gY8OidSBo4buPaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ05o4bqtcCBjw6J1IGjhu49pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciByZXF1aXJlZCd9ID0gJ1nDqnUgY+G6p3UgcGjhuqNpIHRy4bqjIGzhu51pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuJ30gPSAnS2jDtG5nIGPDsyBjw6J1IGjhu49pIG7DoG8gxJHGsOG7o2MgbMawdSBjaG8ga2jhuqNvIHPDoXQgbsOgeS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICdDw6J1IGjhu49pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBSZXF1aXJlZCd9ID0gJ1nDqnUgY+G6p3UgcGjhuqNpIHRy4bqjIGzhu51pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICdLaGkga+G6v3QgdGjDumMgdmnhu4djIHPhu61hIGPDonUgaOG7j2kga2jhuqNvIHPDoXQsIGNo4buJIGPhuqduIMSRw7NuZyBtw6BuIGjDrG5oIG7DoHkgbOG6oWkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Nsb3NlIHRoaXMgd2luZG93J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb24nfSA9ICdT4butYSBjw6J1IGjhu49pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gcXVlc3Rpb25zJ30gPSAncXVheSBs4bqhaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICdDw6J1IGjhu49pOic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQb3NzaWJsZSBBbnN3ZXJzIEZvcid9ID0gJ8SQw6FwIMOhbiBjw7MgdGjhu4MgY2hvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBBbnN3ZXInfSA9ICdUaMOqbSDEkcOhcCDDoW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gYW5zd2VycyBzYXZlZCBmb3IgdGhpcyBxdWVzdGlvbi4nfSA9ICdLaMO0bmcgY8OzIMSRw6FwIMOhbiBuw6BvIMSRxrDhu6NjIGzGsHUgY2hvIGPDonUgaOG7j2kgbsOgeS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBkb2VzblwndCBoYXZlIHNldmVyYWwgYW5zd2VycywgYSB0ZXh0YXJlYSB3aWxsIGJlIGRpc3BsYXllZC4nfSA9CiAgICAgICAgJ0PDonUgaOG7j2kgbsOgeSBraMO0bmcgY8OzIMSRw6FwIMOhbiwgbeG7mXQga2h1bmcgc2/huqFuIHRo4bqjbyBz4bq9IMSRxrDhu6NjIGhp4buDbiB0aOG7iy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICdT4butYSDEkcOhcCDDoW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAncXVheSB24buBIHPhu61hIGPDonUgaOG7j2knOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyOid9ID0gJ8SQw6FwIMOhbjonOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICdT4buRIGLDoGkga2jhuqNvIHPDoXQgdOG7kWkgxJFhIHRyw6puIG3hu5l0IHRyYW5nJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICdOZ8aw4budaSBn4butaSB0aMO0bmcgYsOhbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJ0No4bunIMSR4buBIHRow7RuZyBiw6FvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZWQgQnknfSA9ICdUaGF5IMSR4buVaSBi4bufaSc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICdUaOG7kW5nIGvDqiB04buVbmcgcXXDoXQgY+G7p2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICdC4bqjbmcgecOqdSBj4bqndSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJ1Ro4budaSBnaWFuIGfhu61pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ZvdGUgVGltZSd9ID0gJ1Ro4budaSBnaWFuIGLDrG5oIGNo4buNbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgdGhpcyByZXF1ZXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlZSBEZXRhaWxzJ30gPSAnWGVtIGNoaSB0aeG6v3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICdDaGkgdGnhur90IHRo4buRbmcga8OqIGto4bqjbyBzw6F0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXcnfSA9ICdxdWF5IGzhuqFpIHRo4buRbmcga8OqIHThu5VuZyBxdcOhdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICdUaMO0bmcgdGluIGto4bqjbyBzw6F0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbnQgcmVxdWVzdHMnfSA9ICdH4butaSB5w6p1IGPhuqd1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICdOaOG6rW4ga2jhuqNvIHPDoXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICdDaGkgdGnhur90IGto4bqjbyBzw6F0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJ0Thu4tjaCB24bulIHBoaeG6v3UgecOqdSBj4bqndSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ8SQ4buTIHRow6wga+G6v3QgcXXhuqMga2jhuqNvIHPDoXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gc3RhdCByZXN1bHRzLid9ID0gJ0tow7RuZyBjw7Mga+G6v3QgceG7p2EgdGjhu5FuZyBrw6ouJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ0to4bqjbyBzw6F0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAnWGluIHZ1aSBsw7JuZyB0cuG6oyBs4budaSBuaOG7r25nIGPDonUgaOG7j2kgbsOgeSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICdDaG8gdMO0aSB4ZW0gxJHDoXAgw6FuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXNlIGFyZSB5b3VyIGFuc3dlcnMnfSA9ICfEkMOieSBsw6AgxJHDoXAgw6FuIGPhu6dhIGLhuqFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJ1Rpw6p1IMSR4buBIGto4bqjbyBzw6F0JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUFkZC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE5ldyBTdXJ2ZXknfSA9ICdUaMOqbSBraOG6o28gc8OhdCBt4bubaSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAnU+G7rWEgYuG6o24ga2jhuqNvIHPDoXQnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdFF1ZXN0aW9ucy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJ1Phu61hIGPDonUgaOG7j2kga2jhuqNvIHPDoXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAnQ8OzL0tow7RuZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICdI4buZcCBjaOG7jW4gKGRhbmggc8OhY2gpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoZWNrYm94IChMaXN0KSd9ID0gJ0jhu5lwIGtp4buDbSAoZGFuaCBzw6FjaCknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICdMb+G6oWkgY8OidSBo4buPaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21wbGV0ZSd9ID0gJ0hvw6BuIHThuqV0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICdDaMawYSBob8OgbiB04bqldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAnU+G7rWEgY8OidSBo4buPaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ1Phu61hIMSRw6FwIMOhbic7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICdUaOG7kW5nIGvDqiB04buVbmcgcXXDoXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3Igc3RhdHMgZGV0YWlsISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICdUaOG7kW5nIGvDqiBjaGkgdGnhur90JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVpvb20ucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJ30gPSAnS2jDtG5nIHRo4buDIMSR4bq3dCB0cuG6oW5nIHRow6FpIG3hu5tpISBLaMO0bmcgY8OzIGPDonUgaOG7j2kgbsOgbyDEkcaw4bujYyDEkeG7i25oIG5naMSpYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHVzIGNoYW5nZWQuJ30gPSAnVHLhuqFuZyB0aMOhaSDEkcOjIMSR4buVaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSBDaMawYSBjaOG7jW4gaMOgbmcgxJHhu6NpIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0gxJDhu5VpIHRy4bqhbmcgdGjDoWkgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXInfSA9ICdDaMOtbmgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCd9ID0gJ0tow7RuZyBo4bujcCBs4buHJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldyBTdGF0dXMnfSA9ICdUcuG6oW5nIHRow6FpIG3hu5tpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXNjcmlwdGlvbid9ID0gJ03DtCB04bqjIGto4bqjbyBzw6F0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2Fuc3dlcmVkJ30gPSAnxJHDoyB0cuG6oyBs4budaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydub3QgYW5zd2VyZWQnfSA9ICdjaMawYSB0cuG6oyBs4budaSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvUHVibGljU3VydmV5LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJ30gPSAnQ+G6o20gxqFuIGLhuqFuIMSRw6MgcGjhuqNuIGjhu5NpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgc3VydmV5IGlzIGZpbmlzaGVkLid9ID0gJ0to4bqjbyBzw6F0IMSRw6Mga+G6v3QgdGjDumMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBNZXNzYWdlISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNb2R1bGUgbm90IGVuYWJsZWQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCwgcGxlYXNlIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFcnJvciEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBzdXJ2ZXkga2V5Lid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGUgaW5zZXJ0ZWQgc3VydmV5IGtleSBpcyBpbnZhbGlkLCBpZiB5b3UgZm9sbG93ZWQgYSBsaW5rIG1heWJlIHRoaXMgaXMgb2Jzb2xldGUgb3IgYnJva2VuLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBWb3RlIERhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgYWxyZWFkeSBhbnN3ZXJlZCB0aGUgc3VydmV5Lid9ID0gJ0LhuqFuIMSRw6MgdGhhbSBnaWEgdHLhuqMgbOG7nWkga2jhuqNvIHPDoXQuJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICdC4bqhbiBjw7MgdGjhuq10IHPhu7EgbXXhu5FuIHhvw6EgY8OidSBo4buPaSBuw6B5PyBU4bqkVCBD4bqiIGPDoWMgZOG7ryBsaeG7h3UgbGnDqm4gcXVhbiBz4bq9IGLhu4sgTeG6pFQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/J30gPSAnQuG6oW4gY8OzIHRo4bqtdCBz4buxIG114buRbiB4b8OhIMSRw6FwIMOhbj8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAnTeG7mXQgbcO0LcSRdW4ga2jhuqNvIHPDoXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQSBtb2R1bGUgdG8gZWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJ03hu5l0IG3DtC3EkXVuIMSR4buDIHPhu61hIGPDonUgaOG7j2kga2jhuqNvIHPDoXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdU4bqldCBj4bqjIGPDoWMgdGhhbSBz4buRIGNobyDEkeG7kWkgdMaw4bujbmcga2jhuqNvIHPDoXQgdHJvbmcgZ2lhbyBkaeG7h24gxJFp4buBdSBow6BuaCB2acOqbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnU+G7kSBuZ8OgeSBzYXUga2hpIGfhu61pIGVtYWlsIGto4bqjbyBzw6F0IG3DoCB0cm9uZyBsw7pjIMSRw7Mgc+G6vSBraMO0bmcgY8OzIHnDqnUgY+G6p3Uga2jhuqNvIHPDoXQgbsOgbyDEkcaw4bujYyBn4butaSDEkeG6v24gY8O5bmcga2jDoWNoIGjDoG5nIMSRw7MuIE5o4bqtcCAwIHPhur0gbHXDtG4gZ+G7rWkgZW1haWwga2jhuqNvIHPDoXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ07hu5lpIGR1bmcgbmfhuqdtIMSR4buLbmggY2hvIGVtYWlsIHRow7RuZyBiw6FvIHThu5tpIGtow6FjaCBow6BuZyB24buBIGto4bqjbyBzw6F0IG3hu5tpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ05nxrDhu51pIGfhu61pIG5n4bqnbSDEkeG7i25oIGNobyBlbWFpbCB0aMO0bmcgYsOhbyB04bubaSBraMOhY2ggaMOgbmcgduG7gSBraOG6o28gc8OhdCBt4bubaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmYXVsdCBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uIGVtYWlsIHRvIGN1c3RvbWVycyBhYm91dCBuZXcgc3VydmV5Lid9ID0KICAgICAgICAnQ2jhu6cgxJHhu4EgbmfhuqdtIMSR4buLbmggY2hvIGVtYWlsIHRow7RuZyBiw6FvIHThu5tpIGtow6FjaCBow6BuZyB24buBIGto4bqjbyBzw6F0IG3hu5tpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGFuIG92ZXJ2aWV3IG1vZHVsZSB0byBzaG93IHRoZSBzbWFsbCB2aWV3IG9mIGEgc3VydmV5IGxpc3QuJ30gPQogICAgICAgICfEkOG7i25oIG5naMSpYSBt4buZdCBtw7QtxJF1biB04buVbmcgcXXDoXQgxJHhu4MgaGnhu4NuIHRo4buLIG3hu5l0IGRhbmggc8OhY2gga2jhuqNvIHPDoXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnxJDhu4tuaCBuZ2jEqWEgc+G7kSBraOG6o28gc8OhdCB04buRaSDEkWEgbcOgIMSRxrDhu6NjIGfhu61pIMSR4bq/biBraMOhY2ggaMOgbmcgbeG7l2kgdGjDoW5nLiAoMCBuZ2jEqWEgbMOgIGtow7RuZyBnaeG7m2kgaOG6oW4sIHThuqV0IGPhuqMgecOqdSBj4bqndSBraOG6o28gc8OhdCBz4bq9IMSRxrDhu6NjIGfhu61pKS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgYW1vdW50IGluIGhvdXJzIGEgdGlja2V0IGhhcyB0byBiZSBjbG9zZWQgdG8gdHJpZ2dlciB0aGUgc2VuZGluZyBvZiBhIHN1cnZleSwgKCAwIG1lYW5zIHNlbmQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2xvc2UgKS4gTm90ZTogZGVsYXllZCBzdXJ2ZXkgc2VuZGluZyBpcyBkb25lIGJ5IHRoZSBPVE9CTyBEYWVtb24sIHByaW9yIGFjdGl2YXRpb24gb2YgXCdEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZFwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJ8SQ4buLbmggbmdoxKlhIGNoaeG7gXUgY2FvIG5n4bqnbSDEkeG7i25oIGPhu6dhIGtodW5nIFJpY2h0ZXh0IGNobyDEkeG7kWkgdMaw4bujbmcgeGVtIGto4bqjbyBzw6F0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBncm91cHMgKHJ3KSB3aGljaCBjYW4gZGVsZXRlIHN1cnZleSBzdGF0cy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICfEkOG7i25oIG5naMSpYSBz4buRIGPhu5l0IGhp4buDbiB0aOG7iyB0cm9uZyBtw6BuIGjDrG5oIHThu5VuZyBxdcOhdC4gVHXhu7MgY2jhu41uIG7DoHkga2jDtG5nIOG6o25oIGjGsOG7n25nIMSR4bq/biB24buLIHRyw60gY+G7p2EgY+G7mXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICdLw61jaCBob+G6oXQgaG/hurdjIGdp4bqjaSBob+G6oXQgbcOgbiBow6xuaCBTaG93Vm90ZURhdGEgdHJvbmcgZ2lhbyBkaeG7h24gY8O0bmcgY+G7mW5nIMSR4buDIGhp4buDbiB0aOG7iyBk4buvIGxp4buHdSBj4bunYSBt4buZdCBr4bq/dCBxdeG6oyBraOG6o28gc8OhdCBraGkga2jDoWNoIGjDoG5nIGPhu5EgdGjhu60gdHLhuqMgbOG7nWkgbeG7mXQgYuG6o24ga2jhuqNvIHPDoXQgaGFpIGzhuqduLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJ0vDrWNoIGhv4bqhdCBob+G6t2MgZ2nhuqNpIGhv4bqhdCBn4butaSBraeG7g20gdHJhIMSRaeG7gXUga2nhu4duIGNobyBk4buLY2ggduG7pS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICdLw61jaCBob+G6oXQgaG/hurdjIGdp4bqjaSBob+G6oXQgZ+G7rWkga2nhu4NtIHRyYSDEkWnhu4F1IGtp4buHbiBjaG8gbG/huqFpIHBoaeG6v3UgecOqdSBj4bqndS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnxJDEg25nIGvDvSBtw7QtxJF1biB0aMOqbSBraOG6o28gc8OhdCB0cm9uZyBnaWFvIGRp4buHbiDEkWnhu4F1IGjDoG5oIHZpw6puLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgZWRpdCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnxJDEg25nIGvDvSBtw7QtxJF1biBz4butYSBraOG6o28gc8OhdCB0cm9uZyBnaWFvIGRp4buHbiDEkWnhu4F1IGjDoG5oIHZpw6puLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgc3RhdHMgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ8SQxINuZyBrw70gbcO0LcSRdW4gdGjhu5FuZyBrw6oga2jhuqNvIHPDoXQgdHJvbmcgZ2lhbyBkaeG7h24gxJFp4buBdSBow6BuaCB2acOqbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ8SQxINuZyBrw70gbcO0LcSRdW4geGVtIGNoaSB0aeG6v3Qga2jhuqNvIHPDoXQgdHJvbmcgZ2lhbyBkaeG7h24gxJFp4buBdSBow6BuaCB2acOqbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIFB1YmxpY1N1cnZleSBvYmplY3QgaW4gdGhlIHB1YmxpYyBTdXJ2ZXkgYXJlYS4nfSA9CiAgICAgICAgJ8SQxINuZyBrw70gbcO0LcSRdW4gY2hvIMSR4buRaSB0xrDhu6NuZyBraOG6o28gc8OhdCBjw7RuZyBj4buZbmcgdHJvbmcgZ2lhbyBkaeG7h24ga2jhuqNvIHPDoXQgY8O0bmcgY+G7mW5nLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiB0aGlzIHJlZ2V4IG1hdGNoZXMsIG5vIGN1c3RvbWVyIHN1cnZleSB3aWxsIGJlIHNlbnQuJ30gPSAnTuG6v3UgxJFp4buBdSBraeG7h24gdMOsbSBwaMO5IGjhu6NwLCBraMO0bmcgY8OzIGto4bqjbyBzw6F0IGtow6FjaCBow6BuZyBuw6BvIMSRxrDhu6NjIGfhu61pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMaW1pdC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICdUaGFtIHPhu5EgY2hvIHRyYW5nIChtw6AgaGnhu4NuIHRo4buLIGto4bqjbyBzw6F0KSBj4bunYSBkYW5oIHPDoWNoIGto4bqjbyBzw6F0IHThu5VuZyBxdcOhdC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICdLaOG6o28gc8OhdCBjw7RuZyBj4buZbmcuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnSGnhu4NuIHRo4buLIGxpw6puIGvhur90IHRyb25nIHRyw6xuaCDEkcahbiDEkeG7gyBz4butYSBraOG6o28gc8OhdCB0cm9uZyBraGkgeGVtIGNoaSB0aeG6v3Qga2jhuqNvIHPDoXQg4bufIGdpYW8gZGnhu4duIMSRaeG7gXUgaMOgbmggdmnDqm4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnSGnhu4NuIHRo4buLIGxpw6puIGvhur90IHRyb25nIHRyw6xuaCDEkcahbiDEkeG7gyBz4butYSBjw6J1IGjhu49pIGto4bqjbyBzw6F0IHRyb25nIGtoaSB4ZW0gY2hpIHRp4bq/dCBraOG6o28gc8OhdCDhu58gZ2lhbyBkaeG7h24gxJFp4buBdSBow6BuaCB2acOqbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0hp4buDbiB0aOG7iyBsacOqbiBr4bq/dCB0cm9uZyB0csOsbmggxJHGoW4gxJHhu4MgcXVheSBs4bqhaSB0cm9uZyBraGkgeGVtIGNoaSB0aeG6v3Qga2jhuqNvIHPDoXQg4bufIGdpYW8gZGnhu4duIMSRaeG7gXUgaMOgbmggdmnDqm4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byB6b29tIGludG8gdGhlIHN1cnZleSBzdGF0aXN0aWNzIGRldGFpbHMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnSGnhu4NuIHRo4buLIGxpw6puIGvhur90IHRyb25nIHRyw6xuaCDEkcahbiDEkeG7gyB4ZW0gdGjhu5FuZyBrw6ogY2hpIHRp4bq/dCBj4bunYSBraOG6o28gc8OhdCB0cm9uZyBraGkgeGVtIGNoaSB0aeG6v3Qga2jhuqNvIHPDoXQg4bufIGdpYW8gZGnhu4duIMSRaeG7gXUgaMOgbmggdmnDqm4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbHMnfSA9ICdUaOG7kW5nIGvDqiBjaGkgdGnhur90JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJ03DtCDEkXVuIHRow6ptIEto4bqjbyBzw6F0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAnTcO0LcSRdW4gc+G7rWEgS2jhuqNvIHPDoXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAnR2nhu5tpIGjhuqFuIGRhbmggc8OhY2gga2jhuqNvIHPDoXQgdOG7lW5nIHF1w6F0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAnTcO0LcSRdW4gdGjhu5FuZyBrw6oga2jhuqNvIHPDoXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICdNw7QtxJF1biB4ZW0ga2jhuqNvIHPDoXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnS2jhuqNvIHPDoXQgc+G6vSBraMO0bmcgxJHGsOG7o2MgZ+G7rWkgxJHhur9uIMSR4buLYSBjaOG7iSBlbWFpbCDEkcOjIHRoaeG6v3QgbOG6rXAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICfEkOG7i25oIGRhbmggY2hvIGto4bqjbyBzw6F0LCB2w60gZOG7pTogS2jhuqNvIHPDoXQjLCBLaOG6o28gc8OhdCBj4bunYSB0w7RpIy4gTmfhuqdtIMSR4buLbmggbMOgIEto4bqjbyBzw6F0Iy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICdNw7QtxJF1biBi4bqvdCBz4buxIGtp4buHbiBj4bunYSBwaGnhur91IHnDqnUgY+G6p3UgxJHhu4MgZ+G7rWkgZW1haWwgecOqdSBj4bqndSB04buxIMSR4buZbmcgxJHhur9uIGtow6FjaCBow6BuZyBu4bq/dSBwaGnhur91IHnDqnUgY+G6p3UgxJHGsOG7o2MgxJHDs25nLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIGRlbGV0ZSByZXN1bHRzIChpbmNsdWRpbmcgdm90ZSBkYXRhIGFuZCByZXF1ZXN0cykuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgc2VuZGluZyBkZWxheWVkIHN1cnZleSByZXF1ZXN0cy4nfSA9ICdC4bqreSBn4butaSB5w6p1IGPhuqd1IGto4bqjbyBzw6F0IGLhu4sgdHLhu4UuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/zh_CN_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnpoX0NOX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ+WIm+W7uuaWsOeahOiwg+afpSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICfku4vnu40nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJ+iwg+afpeS7i+e7jSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ+mAmuefpeato+aWhyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ+WGhemDqOaPj+i/sCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAn5a6i5oi35p2h5Lu2JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAn6K+36YCJ5oup5LiA5Liq5a6i5oi35bGe5oCn5Lul5re75Yqg5p2h5Lu244CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAn5YWs5YWx6LCD5p+l5a+G6ZKlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAn6LCD5p+l56S65L6LJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAn57yW6L6R5LiA6Iis5L+h5oGvJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAn57yW6L6R6Zeu6aKYJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ+S9oOWcqOi/memHjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAn6LCD5p+l6Zeu6aKYJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ+a3u+WKoOmXrumimCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ+mXrumimOexu+Weiyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICfpnIDopoHlm57nrZQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICfov5nkuKrosIPmn6XmsqHmnInkv53lrZjnmoTpl67popjjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICfpl67popgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAn6ZyA6KaB5Zue562UJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICflvZPmgqjlrozmiJDnvJbovpHosIPmn6Xpl67popjlkI7vvIzlhbPpl63ov5nkuKrnqpflj6PljbPlj6/jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICflhbPpl63mnKznqpflj6MnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJ+e8lui+kemXrumimCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ+i/lOWbnuWIsOmXrumimCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICfpl67popg6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Bvc3NpYmxlIEFuc3dlcnMgRm9yJ30gPSAn5Y+v6IO955qE5Zue562UICc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQW5zd2VyJ30gPSAn5re75Yqg5Zue562UJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uJ30gPSAn6L+Z5Liq6Zeu6aKY5rKh5pyJ5L+d5a2Y55qE5Zue562U44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoaXMgZG9lc25cJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuJ30gPQogICAgICAgICfov5nkuKrpl67popjkuI3og73mnInlpJrkuKrlm57nrZTvvIzlsIbmmL7npLrkuIDkuKrmlofmnKzljLrlnZfjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBBbnN3ZXInfSA9ICfnvJbovpHlm57nrZQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBlZGl0IHF1ZXN0aW9uJ30gPSAn6L+U5Zue5Yiw57yW6L6R6Zeu6aKYJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlcjonfSA9ICflm57nrZTvvJonOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXIKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBvdmVydmlldyBvcHRpb25zJ30gPSAn6LCD5p+l5qaC6KeI6YCJ6aG5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlYXJjaGVzIGluIHRoZSBhdHRyaWJ1dGVzIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sIE5vdGlmaWNhdGlvblNlbmRlciwgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keSwgb3ZlcnJpZGluZyBvdGhlciBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4nfSA9CiAgICAgICAgJ+WcqOe8luWPt+OAgeagh+mimOOAgeeugOS7i+OAgeaPj+i/sOOAgemAmuefpeWPkeS7tuS6uuOAgemAmuefpeagh+mimOWSjOmAmuefpeato+aWh+WxnuaAp+S4reaQnOe0ou+8jOimhuebluWFtuS7luWFt+acieebuOWQjOWQjeensOeahOWxnuaAp+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQ3JlYXRlIFRpbWUnfSA9ICfosIPmn6XliJvlu7rml7bpl7QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcmVzdHJpY3Rpb24nfSA9ICfmsqHmnInpmZDliLYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2Vlbid9ID0gJ+S7heWcqOatpOacn+mXtOWIm+W7uueahOiwg+afpe+8mic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXguIHNob3duIHN1cnZleXMgcGVyIHBhZ2UnfSA9ICfmr4/pobXmmL7npLrosIPmn6XnmoTmnIDlpKfmlbAnOwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5T3ZlcnZpZXdTbWFsbAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFNlbmRlcid9ID0gJ+mAmuefpeWPkeS7tuS6uic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gU3ViamVjdCd9ID0gJ+mAmuefpeS4u+mimCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFuZ2VkIEJ5J30gPSAn5L+u5pS55Lq6JzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVN0YXRzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyBvZid9ID0gJ+e7n+iuoeamguWGtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1ZXN0cyBUYWJsZSd9ID0gJ+ivt+axguihqCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWxlY3QgYWxsIHJlcXVlc3RzJ30gPSAn6YCJ5oup5omA5pyJ6K+35rGCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbmQgVGltZSd9ID0gJ+WPkemAgeaXtumXtCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydWb3RlIFRpbWUnfSA9ICfmipXnpajml7bpl7QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IHRoaXMgcmVxdWVzdCd9ID0gJ+mAieaLqei/meS4quivt+axgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWUgRGV0YWlscyd9ID0gJ+afpeeci+ivpuaDhSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgc3RhdHMnfSA9ICfliKDpmaTnu5/orqHotYTmlpknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFN0YXQgRGV0YWlscyd9ID0gJ+iwg+afpee7n+iuoeivpuaDhSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHN0YXRzIG92ZXJ2aWV3J30gPSAn6L+U5Zue57uf6K6h5qaC5Ya1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1ByZXZpb3VzIHZvdGUnfSA9ICfkuIrkuIDkuKrmipXnpagnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV4dCB2b3RlJ30gPSAn5LiL5LiA5Liq5oqV56WoJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleVpvb20KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBJbmZvcm1hdGlvbid9ID0gJ+iwg+afpeS/oeaBryc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW50IHJlcXVlc3RzJ30gPSAn5bex5Y+R6YCB55qE6K+35rGCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY2VpdmVkIHN1cnZleXMnfSA9ICflt7LmjqXmlLbnmoTosIPmn6UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IERldGFpbHMnfSA9ICfosIPmn6Xor6bmg4UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IFNlcnZpY2VzJ30gPSAn5bel5Y2V5pyN5YqhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBSZXN1bHRzIEdyYXBoJ30gPSAn6LCD5p+l57uT5p6c5Zu+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHN0YXQgcmVzdWx0cy4nfSA9ICfmsqHmnInnu5/orqHnu5PmnpzjgIInOwoKICAgICMgVGVtcGxhdGU6IFB1YmxpY1N1cnZleQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5J30gPSAn6LCD5p+lJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zJ30gPSAn6K+35Zue562U6L+Z5Lqb6Zeu6aKYJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3cgbXkgYW5zd2Vycyd9ID0gJ+aYvuekuuaIkeeahOWbnuetlCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVzZSBhcmUgeW91ciBhbnN3ZXJzJ30gPSAn6L+Z5Lqb5piv5L2g55qE5Zue562UJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBUaXRsZSd9ID0gJ+iwg+afpeagh+mimCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlBZGQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBOZXcgU3VydmV5J30gPSAn5Yib5bu65paw55qE6LCD5p+lJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5ISd9ID0gJ+S9oOayoeacieadg+mZkOS9v+eUqOatpOiwg+afpe+8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBTdXJ2ZXlJRCBpcyBnaXZlbiEnfSA9ICfmsqHmnInmjIflrppTdXJ2ZXlJRCDvvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQnfSA9ICfnvJbovpHosIPmn6UnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5RWRpdFF1ZXN0aW9ucy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJ30gPSAn5L2g5rKh5pyJ5p2D6ZmQ5L2/55So5q2k6LCD5p+l5oiW6Zeu5Y2377yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJ30gPSAn5L2g5rKh5pyJ5p2D6ZmQ5L2/55So5q2k6LCD5p+l44CB6Zeu5Y235oiW562U5qGI77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0IFF1ZXN0aW9ucyd9ID0gJ+e8lui+keiwg+afpemXrumimCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZZXMvTm8nfSA9ICfmmK8v5ZCmJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JhZGlvIChMaXN0KSd9ID0gJ+WNlemAie+8iOWIl+ihqO+8iSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGVja2JveCAoTGlzdCknfSA9ICflpI3pgInmoYbvvIjliJfooajvvIknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV0IFByb21vdGVyIFNjb3JlJ30gPSAn5YeA5o6o6I2Q5YC8JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1F1ZXN0aW9uIFR5cGUnfSA9ICfpl67popjnsbvlnosnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tcGxldGUnfSA9ICflrozmlbQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jb21wbGV0ZSd9ID0gJ+S4jeWujOaVtCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBFZGl0J30gPSAn57yW6L6R6Zeu6aKYJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Fuc3dlciBFZGl0J30gPSAn57yW6L6R5Zue562UJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleVN0YXRzLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBPdmVydmlldyd9ID0gJ+e7n+iuoeamguiniCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBzdGF0cyBkZXRhaWwhJ30gPSAn5L2g5rKh5pyJ5p2D6ZmQ5L2/55So5q2k6LCD5p+l5oiW6K+m57uG57uf6K6h77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXRzIERldGFpbCd9ID0gJ+e7n+iuoeivpuaDhSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlab29tLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIE5vIHF1ZXN0aW9ucyBkZWZpbmVkLid9ID0gJ+aXoOazleiuvue9ruaWsOeahOeKtuaAge+8gei/mOacquWumuS5iemXrumimOOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3Qgc2V0IG5ldyBzdGF0dXMhIFF1ZXN0aW9ucyBpbmNvbXBsZXRlLid9ID0gJ+aXoOazleiuvue9ruaWsOeahOeKtuaAge+8gemXrumimOS4jeWujOaVtOOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0dXMgY2hhbmdlZC4nfSA9ICfnirbmgIHlt7Lmm7TmlLnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyBxdWV1ZSBzZWxlY3RlZCAtJ30gPSAnLSDmsqHmnInpgInmi6npmJ/liJcgLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCB0eXBlIHNlbGVjdGVkIC0nfSA9ICct5rKh5pyJ6YCJ5oup5bel5Y2V57G75Z6LLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIE5vIHRpY2tldCBzZXJ2aWNlIHNlbGVjdGVkIC0nfSA9ICct5rKh5pyJ6YCJ5oup5bel5Y2V5pyN5YqhLSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0g5pu05pS554q25oCBIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAn5Li7JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICfml6DmlYgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ+aWsOeahOeKtuaAgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICfosIPmn6Xmj4/ov7AnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICflt7Llm57nrZQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAn5pyq5Zue562UJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICfmhJ/osKLkvaDnmoTlj43ppojjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICfosIPmn6Xnu5PmnZ/jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAn6LCD5p+l55qE5raI5oGv77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICfmsqHmnInlkK/nlKjmnKzmqKHlnZfjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICfov5nkuKrlip/og73msqHmnInlkK/nlKjvvIzor7fogZTns7vns7vnu5/nrqHnkIblkZjjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJ+iwg+afpeaooeWdl+mUmeivr++8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAn5peg5pWI55qE6LCD5p+l6ZSu44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICfmj5LlhaXnmoTosIPmn6XplK7ml6DmlYjvvIzlpoLmnpzkvaDmmK/pgJrov4fpk77mjqXmiZPlvIDvvIzlj6/og73pk77mjqXlpLHmlYjmiJbkuK3mlq3jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICfosIPmn6XmipXnpagnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJ+iwg+afpeaKleelqOaVsOaNric7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAn5L2g5bey57uP5Zue562U5LqG6L+Z5Liq6LCD5p+l44CCJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICfosIPmn6XliJfooagnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICfmgqjnnJ/nmoTopoHliKDpmaTov5nkuKrpl67popjlkJfvvJ/miYDmnInnm7jlhbPmlbDmja7pg73lsIbkuKLlpLHvvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICfmgqjnnJ/nmoTopoHliKDpmaTov5nkuKrlm57nrZTlkJfvvJ8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAn5LiA5Liq6LCD5p+l5qih5Z2X44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICfnvJbovpHosIPmn6Xpl67popjnmoTmqKHlnZfjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfmnI3liqHkurrlkZjnlYzpnaLosIPmn6Xlr7nosaHnmoTmiYDmnInlj4LmlbDjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAn5Y+R6YCB6LCD5p+l6YKu5Lu25ZCO55qE5aSp5pWw77yM5Zyo5q2k5pyf6Ze05LiN5Lya57uZ5ZCM5LiA5a6i5oi35Y+R6YCB5paw55qE6LCD5p+l6K+35rGC44CC6YCJ5oupIOKAnDDigJ0g5bCG5oC75piv5Y+R6YCB6LCD5p+l6YKu5Lu244CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ+WPkemAgee7meWuouaIt+eahOaWsOiwg+afpemAmuefpemCruS7tueahOm7mOiupOato+aWh+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJ+WPkemAgee7meWuouaIt+eahOaWsOiwg+afpemAmuefpemCruS7tueahOm7mOiupOWPkeS7tuS6uuOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICflj5HpgIHnu5nlrqLmiLfnmoTmlrDosIPmn6XpgJrnn6Xpgq7ku7bnmoTpu5jorqTkuLvpopjjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAn5a6a5LmJ5LiA5Liq5pi+56S66LCD5p+l5YiX6KGo566A5rSB6KeG5Zu+55qE5qaC6KeI5qih5Z2X44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJ+WumuS5ieacieadg+abtOaUueiwg+afpeeKtuaAgeeahOe7hOOAgiDpu5jorqTmg4XlhrXkuIvvvIzmlbDnu4TkuLrnqbrvvIzmiYDmnInnu4TnmoTmnI3liqHlmajkurrlkZjpg73lj6/ku6Xmm7TmlLnosIPmn6XnirbmgIHjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBpZiBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBvbmx5IHNlbmQgdG8gcmVhbCBjdXN0b21lcnMuJ30gPQogICAgICAgICflrprkuYnosIPmn6Xor7fmsYLmmK/lkKblj6rlj5HpgIHnu5nnnJ/lrp7lrqLmiLfjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBtYXhpbXVtIGFtb3VudCBvZiBzdXJ2ZXlzIHRoYXQgZ2V0IHNlbnQgdG8gYSBjdXN0b21lciBwZXIgMzAgZGF5cy4gKCAwIG1lYW5zIG5vIG1heGltdW0sIGFsbCBzdXJ2ZXkgcmVxdWVzdHMgd2lsbCBiZSBzZW50KS4nfSA9CiAgICAgICAgJ+WumuS5ieavjzMw5aSp5Y+R6YCB57uZ5LiA5Liq5a6i5oi355qE5pyA5aSn6LCD5p+l5pWw77yIIDAg5Luj6KGo5rKh5pyJ5pyA5aSn5pWw6ZmQ5Yi277yM5bCG5Y+R6YCB5omA5pyJ55qE6LCD5p+l6K+35rGC77yJ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAn5a6a5LmJ5LiA5Liq5bel5Y2V5YWz6Zet5ZCO6Kem5Y+R5Y+R6YCB5LiA5Liq6LCD5p+l55qE5bCP5pe25pWw77yIIDAg5Luj6KGo5Zyo5bel5Y2V5YWz6Zet5ZCO56uL5Y2z5Y+R6YCB6LCD5p+l6K+35rGC77yJ44CC5rOo5oSP77ya5bu26L+f5Y+R6YCB55qE6LCD5p+l55SxT1RPQk/lrojmiqTnqIvluo/vvIjljbPlhYjliY3mv4DmtLvnmoTorr7nva5cJ0RhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrIyMjU3VydmV5UmVxdWVzdHNTZW5kXCfvvInlrozmiJDjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgY29sdW1ucyBmb3IgdGhlIGRyb3Bkb3duIGxpc3QgZm9yIGJ1aWxkaW5nIHNlbmQgY29uZGl0aW9ucyAoMCA9PiBpbmFjdGl2ZSwgMSA9PiBhY3RpdmUpLid9ID0KICAgICAgICAn5a6a5LmJ5bu656uL5Y+R6YCB5p2h5Lu255qE5LiL5ouJ5YiX6KGo55qE5YiX77yIMCA9PiDkuI3mv4DmtLvvvIwxID0+IOa/gOa0u++8ieOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICfosIPmn6Xor6bmg4Xnqpflj6Plr4zmlofmnKzmn6XnnIvnmoTpu5jorqTpq5jluqbjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAn5a6a5LmJ5Y+v5Lul5Yig6Zmk57uf6K6h5pWw5o2u55qE57uE77yIcnfvvInjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbWF4aW11bSBoZWlnaHQgZm9yIFJpY2h0ZXh0IHZpZXdzIGZvciBTdXJ2ZXlab29tIGVsZW1lbnRzLid9ID0KICAgICAgICAn5a6a5LmJ6LCD5p+l6K+m5oOF56qX5Y+j5a+M5paH5pys5p+l55yL6KeG5Zu+55qE6buY6K6k6auY5bqm44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIHNob3duIGNvbHVtbnMgaW4gdGhlIHN1cnZleSBvdmVydmlldy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbHVtbnMuJ30gPQogICAgICAgICflrprkuYnosIPmn6XmpoLop4jkuK3mmL7npLrnmoTlrZfmrrXjgILov5nkuKrpgInpobnkuI3kvJrlvbHlk43lrZfmrrXnmoTkvY3nva7jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGV0ZXJtaW5lcyBpZiB0aGUgc3RhdGlzdGljcyBtb2R1bGUgbWF5IGdlbmVyYXRlIHN1cnZleSBsaXN0cy4nfSA9CiAgICAgICAgJ+ehruWumue7n+iuoeaooeWdl+aYr+WQpuWPr+S7peeUn+aIkOiwg+afpeWIl+ihqOOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBnZW5lcmFsIGluZm9ybWF0aW9uLid9ID0gJ+e8lui+keiwg+afpeS4gOiIrOS/oeaBr+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IHN1cnZleSBxdWVzdGlvbnMuJ30gPSAn57yW6L6R6LCD5p+l6Zeu6aKY44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSBvciBkaXNhYmxlIHRoZSBTaG93Vm90ZURhdGEgc2NyZWVuIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHNob3cgZGF0YSBvZiBhIHNwZWNpZmljIHN1cnZleSByZXN1bHQgd2hlbiB0aGUgY3VzdG9tZXIgdHJpZXMgdG8gYW5zd2VyIGEgc3VydmV5IHRoZSBzZWNvbmQgdGltZS4nfSA9CiAgICAgICAgJ+WcqOWFrOWFseeVjOmdouWQr+eUqOaIluemgeeUqOaYvuekuuaKleelqOaVsOaNrueql+WPo++8iOW9k+WuouaIt+ivleWbvuWGjeasoeWbnuetlOS4gOS4quiwg+afpeaXtuaYvuekuuaMh+Wumuiwg+afpee7k+aenOeahOaVsOaNru+8ieOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSBzZXJ2aWNlLid9ID0gJ+WQr+eUqOaIluemgeeUqOacjeWKoeeahOWPkemAgeadoeS7tuajgOafpeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgc2VuZCBjb25kaXRpb24gY2hlY2sgZm9yIHRoZSB0aWNrZXQgdHlwZS4nfSA9CiAgICAgICAgJ+WQr+eUqOaIluemgeeUqOW3peWNleexu+Wei+eahOWPkemAgeadoeS7tuajgOafpeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgYWRkIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICfmnI3liqHkurrlkZjnlYzpnaLmt7vliqDosIPmn6XnmoTliY3nq6/mqKHlnZfms6jlhozjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGVkaXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+acjeWKoeS6uuWRmOeVjOmdoue8lui+keiwg+afpeeahOWJjeerr+aooeWdl+azqOWGjOOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgc3RhdHMgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+acjeWKoeS6uuWRmOeVjOmdouiwg+afpee7n+iuoeeahOWJjeerr+aooeWdl+azqOWGjOOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciBzdXJ2ZXkgem9vbSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAn5pyN5Yqh5Lq65ZGY55WM6Z2i6LCD5p+l6K+m5oOF55qE5YmN56uv5qih5Z2X5rOo5YaM44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBQdWJsaWNTdXJ2ZXkgb2JqZWN0IGluIHRoZSBwdWJsaWMgU3VydmV5IGFyZWEuJ30gPQogICAgICAgICfmnI3liqHkurrlkZjnlYzpnaLlhazlhbHosIPmn6XnmoTliY3nq6/mqKHlnZfms6jlhozjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSWYgdGhpcyByZWdleCBtYXRjaGVzLCBubyBjdXN0b21lciBzdXJ2ZXkgd2lsbCBiZSBzZW50Lid9ID0gJ+WmguaenOWMuemFjei/meS4quato+WImeihqOi+vuW8j++8jOS4jeS8mue7meWuouaIt+WPkemAgeiwg+afpeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMaW1pdC4nfSA9ICfpmZDliLbjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIHBhZ2VzIChpbiB3aGljaCB0aGUgc3VydmV5cyBhcmUgc2hvd24pIG9mIHRoZSBzbWFsbCBzdXJ2ZXkgb3ZlcnZpZXcuJ30gPQogICAgICAgICfosIPmn6XmpoLop4jnroDmtIHmqKHlvI/mmL7npLrosIPmn6XnmoTpobXpnaLlj4LmlbDjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUHVibGljIFN1cnZleS4nfSA9ICflhazlhbHosIPmn6XjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdWx0cyBvbGRlciB0aGFuIHRoZSBjb25maWd1cmVkIGFtb3VudCBvZiBkYXlzIHdpbGwgYmUgZGVsZXRlZC4gTm90ZTogZGVsZXRlIHJlc3VsdHMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnVGFzayMjI1N1cnZleVJlcXVlc3RzRGVsZXRlXCcgc2V0dGluZy4nfSA9CiAgICAgICAgJ+i2hei/h+mFjee9rueahOWkqeaVsOeahOiwg+afpee7k+aenOWwhuiiq+WIoOmZpOOAgiDms6jmhI/vvJrliKDpmaTosIPmn6Xnu5PmnpznlLHlhYjliY3mv4DmtLvnmoQgXCdUYXNrIyMjU3VydmV5UmVxdWVzdHNEZWxldGVcJyDorr7nva7nmoRPVE9CT+WuiOaKpOeoi+W6j+WujOaIkOOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gZWRpdCBhIHN1cnZleSBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICflnKjmnI3liqHkurrlkZjnlYzpnaLosIPmn6Xor6bmg4Xnqpflj6PvvIzlnKjoj5zljZXkuK3mmL7npLrkuIDkuKrnvJbovpHosIPmn6XnmoTpk77mjqXjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICflnKjmnI3liqHkurrlkZjnlYzpnaLosIPmn6Xor6bmg4Xnqpflj6PvvIzlnKjoj5zljZXkuK3mmL7npLrkuIDkuKrnvJbovpHosIPmn6Xpl67popjnmoTpk77mjqXjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGdvIGJhY2sgaW4gdGhlIHN1cnZleSB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+WcqOacjeWKoeS6uuWRmOeVjOmdouiwg+afpeivpuaDheeql+WPo++8jOWcqOiPnOWNleS4reaYvuekuuS4gOS4qui/lOWbnueahOmTvuaOpeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gem9vbSBpbnRvIHRoZSBzdXJ2ZXkgc3RhdGlzdGljcyBkZXRhaWxzIGluIGl0cyB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ+WcqOacjeWKoeS6uuWRmOeVjOmdouiwg+afpee7n+iuoeeql+WPo++8jOWcqOiPnOWNleS4reaYvuekuuS4gOS4quiwg+afpee7n+iuoeivpuaDheeahOmTvuaOpeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWxzJ30gPSAn57uf6K6h6K+m5oOFJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBBZGQgTW9kdWxlLid9ID0gJ+a3u+WKoOiwg+afpeaooeWdl+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBNb2R1bGUuJ30gPSAn57yW6L6R6LCD5p+l5qih5Z2X44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBPdmVydmlldyAiU21hbGwiIExpbWl0J30gPSAn6LCD5p+l5qaC6KeI566A5rSB5qih5byP6ZmQ5Yi2JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0cyBNb2R1bGUuJ30gPSAn6LCD5p+l57uf6K6h5qih5Z2X44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBab29tIE1vZHVsZS4nfSA9ICfosIPmn6Xor6bmg4XmqKHlnZfjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IGxpbWl0IHBlciBwYWdlIGZvciBTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIi4nfSA9ICfosIPmn6XmpoLop4jnroDmtIHmqKHlvI/mr4/pobXmmL7npLrnmoTosIPmn6XmlbDpmZDliLbjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5cyB3aWxsIG5vdCBiZSBzZW50IHRvIHRoZSBjb25maWd1cmVkIGVtYWlsIGFkZHJlc3Nlcy4nfSA9ICfosIPmn6XkuI3kvJrlj5HpgIHnu5nphY3nva7nmoTpgq7ku7blnLDlnYDjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIGlkZW50aWZpZXIgZm9yIGEgc3VydmV5LCBlLmcuIFN1cnZleSMsIE15U3VydmV5Iy4gVGhlIGRlZmF1bHQgaXMgU3VydmV5Iy4nfSA9CiAgICAgICAgJ+iwg+afpeeahOagh+ivhuespu+8jOS+i+Wmgu+8mlN1cnZleSPjgIFNeVN1cnZleSPjgILpu5jorqTkuLpTdXJ2ZXkj44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBldmVudCBtb2R1bGUgdG8gc2VuZCBhdXRvbWF0aWNhbGx5IHN1cnZleSBlbWFpbCByZXF1ZXN0cyB0byBjdXN0b21lcnMgaWYgYSB0aWNrZXQgaXMgY2xvc2VkLid9ID0KICAgICAgICAn5aaC5p6c5LiA5Liq5bel5Y2V5bey5YWz6Zet5bCx6Ieq5Yqo5Y+R6YCB6LCD5p+l6K+35rGC6YKu5Lu257uZ5a6i5oi355qE5bel5Y2V5LqL5Lu25qih5Z2X44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RyaWdnZXIgZGVsZXRlIHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nfSA9ICfop6blj5HliKDpmaTosIPmn6Xnu5PmnpzvvIjljIXmi6zmipXnpajmlbDmja7lkozor7fmsYLvvInjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBzZW5kaW5nIGRlbGF5ZWQgc3VydmV5IHJlcXVlc3RzLid9ID0gJ+inpuWPkeWZqOWPkemAgeW7tui/n+eahOiwg+afpeivt+axguOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydab29tIGludG8gc3RhdGlzdGljcyBkZXRhaWxzLid9ID0gJ+i/m+WFpeiwg+afpee7n+iuoeivpuaDheOAgic7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/JywKICAgICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcXVlc3Rpb24/IEFMTCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBMT1NUIScsCiAgICAnU2V0dGluZ3MnLAogICAgJ1N1Ym1pdCcsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/zh_TW_Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnpoX1RXX1N1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50U3VydmV5QWRkCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgTmV3IFN1cnZleSd9ID0gJ+WJteW7uuaWsOeahOiqv+afpSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRyb2R1Y3Rpb24nfSA9ICfku4vntLknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEludHJvZHVjdGlvbid9ID0gJ+iqv+afpeS7i+e0uSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOb3RpZmljYXRpb24gQm9keSd9ID0gJ+mAmuefpeato+aWhyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnRlcm5hbCBEZXNjcmlwdGlvbid9ID0gJ+WGhemDqOaPj+i/sCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDdXN0b21lciBjb25kaXRpb25zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BsZWFzZSBjaG9vc2UgYSBDdXN0b21lciBwcm9wZXJ0eSB0byBhZGQgYSBjb25kaXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBzdXJ2ZXkga2V5J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0V4YW1wbGUgc3VydmV5J30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXQKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgR2VuZXJhbCBJbmZvJ30gPSAn57eo6Lyv5LiA6Iis5L+h5oGvJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgUXVlc3Rpb25zJ30gPSAn57eo6Lyv5ZWP6aGMJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBhcmUgaGVyZSd9ID0gJ+aCqOWcqOatpCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUXVlc3Rpb25zJ30gPSAn6Kq/5p+l5ZWP6aGMJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBRdWVzdGlvbid9ID0gJ+a3u+WKoOWVj+mhjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUeXBlIHRoZSBxdWVzdGlvbid9ID0gJ+WVj+mhjOmhnuWeiyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgcmVxdWlyZWQnfSA9ICfpnIDopoHlm57nrZQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gcXVlc3Rpb25zIHNhdmVkIGZvciB0aGlzIHN1cnZleS4nfSA9ICfpgJnlgIvoqr/mn6XmsqHmnInkv53lrZjnmoTllY/poYzjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24nfSA9ICfllY/poYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW5zd2VyIFJlcXVpcmVkJ30gPSAn5b+F6aCI5Zue562UJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1doZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2xvc2UgdGhpcyB3aW5kb3cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBRdWVzdGlvbid9ID0gJ+e3qOi8r+WVj+mhjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydnbyBiYWNrIHRvIHF1ZXN0aW9ucyd9ID0gJ+i/lOWbnuWVj+mhjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbjonfSA9ICfllY/poYzvvJonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUG9zc2libGUgQW5zd2VycyBGb3InfSA9ICflj6/pgbjnmoTlm57nrZQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEFuc3dlcid9ID0gJ+a3u+WKoOWbnuetlCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBhbnN3ZXJzIHNhdmVkIGZvciB0aGlzIHF1ZXN0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIGRvZXNuXCd0IGhhdmUgc2V2ZXJhbCBhbnN3ZXJzLCBhIHRleHRhcmVhIHdpbGwgYmUgZGlzcGxheWVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQW5zd2VyJ30gPSAn57eo6Lyv5Zue562UJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2dvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbid9ID0gJ+i/lOWbnuWIsOe3qOi8r+WVj+mhjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXI6J30gPSAn562U77yaJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3TmF2QmFyCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgb3ZlcnZpZXcgb3B0aW9ucyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IENyZWF0ZSBUaW1lJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIHJlc3RyaWN0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09ubHkgc3VydmV5cyBjcmVhdGVkIGJldHdlZW4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vdGlmaWNhdGlvbiBTZW5kZXInfSA9ICfpgJrnn6XnmbzpgIHogIUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm90aWZpY2F0aW9uIFN1YmplY3QnfSA9ICfpgJrnn6XkuLvpoYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlZCBCeSd9ID0gJ+S/ruaUueS6uic7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlTdGF0cwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcgb2YnfSA9ICfntbHoqIjmpoLms4EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVxdWVzdHMgVGFibGUnfSA9ICfoq4vmsYLooagnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VsZWN0IGFsbCByZXF1ZXN0cyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW5kIFRpbWUnfSA9ICfnmbzpgIHmmYLplpMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVm90ZSBUaW1lJ30gPSAn5oqV56Wo5pmC6ZaTJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbGVjdCB0aGlzIHJlcXVlc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VlIERldGFpbHMnfSA9ICfmn6XnnIvoqbPmg4UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHN0YXRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBTdGF0IERldGFpbHMnfSA9ICfoqr/mn6XntbHoqIjoqbPmg4UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnZ28gYmFjayB0byBzdGF0cyBvdmVydmlldyd9ID0gJ+i/lOWbnue1seioiOamguazgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQcmV2aW91cyB2b3RlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05leHQgdm90ZSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRTdXJ2ZXlab29tCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgSW5mb3JtYXRpb24nfSA9ICfoqr/mn6Xkv6Hmga8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VudCByZXF1ZXN0cyd9ID0gJ+W3sueZvOmAgeeahOiri+axgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNlaXZlZCBzdXJ2ZXlzJ30gPSAn5bey5o6l5pS255qE6Kq/5p+lJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBEZXRhaWxzJ30gPSAn6Kq/5p+l6Kmz5oOFJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RpY2tldCBTZXJ2aWNlcyd9ID0gJ+W3peWWruacjeWLmSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgUmVzdWx0cyBHcmFwaCd9ID0gJ+iqv+afpee1kOaenOWclic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBzdGF0IHJlc3VsdHMuJ30gPSAn5rKS5pyJ57Wx6KiI57WQ5p6c44CCJzsKCiAgICAjIFRlbXBsYXRlOiBQdWJsaWNTdXJ2ZXkKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSd9ID0gJ+iqv+afpSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQbGVhc2UgYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucyd9ID0gJ+iri+WbnuetlOmAmeS6m+WVj+mhjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93IG15IGFuc3dlcnMnfSA9ICfpoa/npLrmiJHnmoTlm57nrZQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlc2UgYXJlIHlvdXIgYW5zd2Vycyd9ID0gJ+mAmeS6m+aYr+S9oOeahOWbnuetlCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgVGl0bGUnfSA9ICfoqr/mn6XmqJnpoYwnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5QWRkLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTmV3IFN1cnZleSd9ID0gJ+WJteW7uuaWsOeahOiqv+afpSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlFZGl0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBFZGl0J30gPSAn57eo6Lyv6Kq/5p+lJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRWRpdCBRdWVzdGlvbnMnfSA9ICfnt6jovK/oqr/mn6XllY/poYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWWVzL05vJ30gPSAn5pivL+WQpic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSYWRpbyAoTGlzdCknfSA9ICfllq7pgbjvvIjliJfooajvvIknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hlY2tib3ggKExpc3QpJ30gPSAn6KSH6YG45qGG77yI5YiX6KGo77yJJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldCBQcm9tb3RlciBTY29yZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydRdWVzdGlvbiBUeXBlJ30gPSAn5ZWP6aGM6aGe5YilJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbXBsZXRlJ30gPSAn5a6M5pW0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY29tcGxldGUnfSA9ICfkuI3lrozmlbQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUXVlc3Rpb24gRWRpdCd9ID0gJ+e3qOi8r+WVj+mhjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbnN3ZXIgRWRpdCd9ID0gJ+e3qOi8r+WbnuetlCc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWdlbnRTdXJ2ZXlTdGF0cy5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgT3ZlcnZpZXcnfSA9ICfntbHoqIjmpoLms4EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3Igc3RhdHMgZGV0YWlsISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGF0cyBEZXRhaWwnfSA9ICfntbHoqIjoqbPmg4UnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FnZW50U3VydmV5Wm9vbS5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBObyBxdWVzdGlvbnMgZGVmaW5lZC4nfSA9ICfnhKHms5XoqK3nva7mlrDnmoTni4DmhYvvvIHpgoTmnKrlrprnvqnllY/poYzjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHVzIGNoYW5nZWQuJ30gPSAn54uA5oWL5bey5pu05pS544CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gcXVldWUgc2VsZWN0ZWQgLSd9ID0gJy0g5rKS5pyJ6YG45Y+W5L2H5YiXIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnLSBObyB0aWNrZXQgdHlwZSBzZWxlY3RlZCAtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57Jy0gTm8gdGlja2V0IHNlcnZpY2Ugc2VsZWN0ZWQgLSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eyctIENoYW5nZSBTdGF0dXMgLSd9ID0gJy0g5pu05pS554uA5oWLIC0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFzdGVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQnfSA9ICfnhKHmlYgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmV3IFN0YXR1cyd9ID0gJ+aWsOeLgOaFiyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgRGVzY3JpcHRpb24nfSA9ICfoqr/mn6Xmj4/ov7AnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnYW5zd2VyZWQnfSA9ICflt7Llm57nrZQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbm90IGFuc3dlcmVkJ30gPSAn5pyq5Zue562UJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9QdWJsaWNTdXJ2ZXkucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nfSA9ICfmhJ/orJ3kvaDnmoTlj43ppYvjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlIHN1cnZleSBpcyBmaW5pc2hlZC4nfSA9ICfoqr/mn6XntZDmnZ/jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IE1lc3NhZ2UhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01vZHVsZSBub3QgZW5hYmxlZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBlbmFibGVkLCBwbGVhc2UgY29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3IuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVycm9yISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIHN1cnZleSBrZXkuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpbnNlcnRlZCBzdXJ2ZXkga2V5IGlzIGludmFsaWQsIGlmIHlvdSBmb2xsb3dlZCBhIGxpbmsgbWF5YmUgdGhpcyBpcyBvYnNvbGV0ZSBvciBicm9rZW4uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IFZvdGUgRGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJ30gPSAn5L2g5bey57aT5Zue562U5LqG6Kq/5p+l44CCJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL1N0YXRzL0R5bmFtaWMvU3VydmV5TGlzdC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IExpc3QnfSA9ICcnOwoKICAgICMgSlMgRmlsZTogU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nfSA9ICfmgqjnorrlrpropoHliKrpmaTmraTnrZTmoYjvvJ8nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBIFN1cnZleSBNb2R1bGUuJ30gPSAn6Kq/5p+l5qih57WEJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0EgbW9kdWxlIHRvIGVkaXQgc3VydmV5IHF1ZXN0aW9ucy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsIHBhcmFtZXRlcnMgZm9yIHRoZSBTdXJ2ZXkgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQW1vdW50IG9mIGRheXMgYWZ0ZXIgc2VuZGluZyBhIHN1cnZleSBtYWlsIGluIHdoaWNoIG5vIG5ldyBzdXJ2ZXkgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIHNhbWUgY3VzdG9tZXIuIFNlbGVjdGluZyAwIHdpbGwgYWx3YXlzIHNlbmQgdGhlIHN1cnZleSBtYWlsLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmF1bHQgYm9keSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHNlbmRlciBmb3IgdGhlIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBjdXN0b21lcnMgYWJvdXQgbmV3IHN1cnZleS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZhdWx0IHN1YmplY3QgZm9yIHRoZSBub3RpZmljYXRpb24gZW1haWwgdG8gY3VzdG9tZXJzIGFib3V0IG5ldyBzdXJ2ZXkuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBhbiBvdmVydmlldyBtb2R1bGUgdG8gc2hvdyB0aGUgc21hbGwgdmlldyBvZiBhIHN1cnZleSBsaXN0Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgZ3JvdXBzIHdoaWNoIGhhdmUgYSBwZXJtaXNzaW9uIHRvIGNoYW5nZSBzdXJ2ZXkgc3RhdHVzLiBBcnJheSBpcyBlbXB0eSBieSBkZWZhdWx0IGFuZCBhZ2VudHMgZnJvbSBhbGwgZ3JvdXBzIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIGlmIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIG9ubHkgc2VuZCB0byByZWFsIGN1c3RvbWVycy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIG1heGltdW0gYW1vdW50IG9mIHN1cnZleXMgdGhhdCBnZXQgc2VudCB0byBhIGN1c3RvbWVyIHBlciAzMCBkYXlzLiAoIDAgbWVhbnMgbm8gbWF4aW11bSwgYWxsIHN1cnZleSByZXF1ZXN0cyB3aWxsIGJlIHNlbnQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGFtb3VudCBpbiBob3VycyBhIHRpY2tldCBoYXMgdG8gYmUgY2xvc2VkIHRvIHRyaWdnZXIgdGhlIHNlbmRpbmcgb2YgYSBzdXJ2ZXksICggMCBtZWFucyBzZW5kIGltbWVkaWF0ZWx5IGFmdGVyIGNsb3NlICkuIE5vdGU6IGRlbGF5ZWQgc3VydmV5IHNlbmRpbmcgaXMgZG9uZSBieSB0aGUgT1RPQk8gRGFlbW9uLCBwcmlvciBhY3RpdmF0aW9uIG9mIFwnRGFlbW9uOjpTY2hlZHVsZXJDcm9uVGFza01hbmFnZXI6OlRhc2sjIyNTdXJ2ZXlSZXF1ZXN0c1NlbmRcJyBzZXR0aW5nLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGNvbHVtbnMgZm9yIHRoZSBkcm9wZG93biBsaXN0IGZvciBidWlsZGluZyBzZW5kIGNvbmRpdGlvbnMgKDAgPT4gaW5hY3RpdmUsIDEgPT4gYWN0aXZlKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgUmljaHRleHQgdmlld3MgZm9yIFN1cnZleVpvb20gZWxlbWVudHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZ3JvdXBzIChydykgd2hpY2ggY2FuIGRlbGV0ZSBzdXJ2ZXkgc3RhdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IGZvciBSaWNodGV4dCB2aWV3cyBmb3IgU3VydmV5Wm9vbSBlbGVtZW50cy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBzaG93biBjb2x1bW5zIGluIHRoZSBzdXJ2ZXkgb3ZlcnZpZXcuIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBvc2l0aW9uIG9mIHRoZSBjb2x1bW5zLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RldGVybWluZXMgaWYgdGhlIHN0YXRpc3RpY3MgbW9kdWxlIG1heSBnZW5lcmF0ZSBzdXJ2ZXkgbGlzdHMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgZ2VuZXJhbCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBzdXJ2ZXkgcXVlc3Rpb25zLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgb3IgZGlzYWJsZSB0aGUgU2hvd1ZvdGVEYXRhIHNjcmVlbiBpbiB0aGUgcHVibGljIGludGVyZmFjZSB0byBzaG93IGRhdGEgb2YgYSBzcGVjaWZpYyBzdXJ2ZXkgcmVzdWx0IHdoZW4gdGhlIGN1c3RvbWVyIHRyaWVzIHRvIGFuc3dlciBhIHN1cnZleSB0aGUgc2Vjb25kIHRpbWUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgc2VydmljZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNlbmQgY29uZGl0aW9uIGNoZWNrIGZvciB0aGUgdGlja2V0IHR5cGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IGFkZCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHN1cnZleSBlZGl0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHN0YXRzIGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3Igc3VydmV5IHpvb20gaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljU3VydmV5IG9iamVjdCBpbiB0aGUgcHVibGljIFN1cnZleSBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0lmIHRoaXMgcmVnZXggbWF0Y2hlcywgbm8gY3VzdG9tZXIgc3VydmV5IHdpbGwgYmUgc2VudC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGltaXQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBwYWdlcyAoaW4gd2hpY2ggdGhlIHN1cnZleXMgYXJlIHNob3duKSBvZiB0aGUgc21hbGwgc3VydmV5IG92ZXJ2aWV3Lid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1B1YmxpYyBTdXJ2ZXkuJ30gPSAn5YWs6ZaL55qE6Kq/5p+lJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3VsdHMgb2xkZXIgdGhhbiB0aGUgY29uZmlndXJlZCBhbW91bnQgb2YgZGF5cyB3aWxsIGJlIGRlbGV0ZWQuIE5vdGU6IGRlbGV0ZSByZXN1bHRzIGRvbmUgYnkgdGhlIE9UT0JPIERhZW1vbiwgcHJpb3IgYWN0aXZhdGlvbiBvZiBcJ1Rhc2sjIyNTdXJ2ZXlSZXF1ZXN0c0RlbGV0ZVwnIHNldHRpbmcuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIGVkaXQgYSBzdXJ2ZXkgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBlZGl0IHN1cnZleSBxdWVzdGlvbnMgaW4gaXRzIHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBnbyBiYWNrIGluIHRoZSBzdXJ2ZXkgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaW5rIGluIHRoZSBtZW51IHRvIHpvb20gaW50byB0aGUgc3VydmV5IHN0YXRpc3RpY3MgZGV0YWlscyBpbiBpdHMgem9vbSB2aWV3IG9mIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhdHMgRGV0YWlscyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgQWRkIE1vZHVsZS4nfSA9ICfoqr/mn6Xmt7vliqDmqKHntYQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VydmV5IEVkaXQgTW9kdWxlLid9ID0gJ+iqv+afpee3qOi8r+aooee1hCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgT3ZlcnZpZXcgIlNtYWxsIiBMaW1pdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgU3RhdHMgTW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdXJ2ZXkgWm9vbSBNb2R1bGUuJ30gPSAnTW9kdWwgVW1mcmFnZS1EZXRhaWxhbnNpY2h0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleSBsaW1pdCBwZXIgcGFnZSBmb3IgU3VydmV5IE92ZXJ2aWV3ICJTbWFsbCIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1cnZleXMgd2lsbCBub3QgYmUgc2VudCB0byB0aGUgY29uZmlndXJlZCBlbWFpbCBhZGRyZXNzZXMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZSBpZGVudGlmaWVyIGZvciBhIHN1cnZleSwgZS5nLiBTdXJ2ZXkjLCBNeVN1cnZleSMuIFRoZSBkZWZhdWx0IGlzIFN1cnZleSMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGlja2V0IGV2ZW50IG1vZHVsZSB0byBzZW5kIGF1dG9tYXRpY2FsbHkgc3VydmV5IGVtYWlsIHJlcXVlc3RzIHRvIGN1c3RvbWVycyBpZiBhIHRpY2tldCBpcyBjbG9zZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVHJpZ2dlciBkZWxldGUgcmVzdWx0cyAoaW5jbHVkaW5nIHZvdGUgZGF0YSBhbmQgcmVxdWVzdHMpLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUcmlnZ2VyIHNlbmRpbmcgZGVsYXllZCBzdXJ2ZXkgcmVxdWVzdHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1pvb20gaW50byBzdGF0aXN0aWNzIGRldGFpbHMuJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFuc3dlcj8nLAogICAgJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBxdWVzdGlvbj8gQUxMIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIExPU1QhJywKICAgICdTZXR0aW5ncycsCiAgICAnU3VibWl0JywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Modules/AgentSurveyAdd.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWdlbnRTdXJ2ZXlBZGQ7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgS2VybmVsOjpMYW5ndWFnZSBxdyhUcmFuc2xhdGFibGUpOwoKb3VyICRPYmplY3RNYW5hZ2VyRGlzYWJsZWQgPSAxOwoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGdldCBjb21tb24gb2JqZWN0cwogICAgJXskU2VsZn0gPSAlUGFyYW07CgogICAgcmV0dXJuICRTZWxmOwp9CgpzdWIgUnVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBzdXJ2ZXkgYWRkCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBpZiAoICEkU2VsZi0+e1N1YmFjdGlvbn0gKSB7CgogICAgICAgIHJldHVybiAkU2VsZi0+X1N1cnZleUFkZE1hc2soKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHN1cnZleSBuZXcKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdTdXJ2ZXlOZXcnICkgewoKICAgICAgICAjIGdldCBwYXJhbSBvYmplY3QKICAgICAgICBteSAkUGFyYW1PYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0Jyk7CgogICAgICAgICMgZ2V0IHJlcXVpcmVkIGZvcm0gZWxlbWVudHMgYW5kIGVycm9ycwogICAgICAgIG15ICVTZXJ2ZXJFcnJvcjsKICAgICAgICBteSAlRm9ybUVsZW1lbnRzOwogICAgICAgIGZvciBteSAkSXRlbSAoCiAgICAgICAgICAgIHF3KCBUaXRsZSBJbnRyb2R1Y3Rpb24gRGVzY3JpcHRpb24gTm90aWZpY2F0aW9uU2VuZGVyIE5vdGlmaWNhdGlvblN1YmplY3QgTm90aWZpY2F0aW9uQm9keSApCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgICRGb3JtRWxlbWVudHN7JEl0ZW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gIiRJdGVtIiApOwoKICAgICAgICAgICAgaWYgKCAhJEZvcm1FbGVtZW50c3skSXRlbX0gKSB7CiAgICAgICAgICAgICAgICAkU2VydmVyRXJyb3J7ICIkSXRlbSIgLiAnU2VydmVyRXJyb3InIH0gPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGdldCBhcnJheSBwYXJhbXMKICAgICAgICBmb3IgbXkgJEl0ZW0gKHF3KFF1ZXVlcyBUaWNrZXRUeXBlSURzIFNlcnZpY2VJRHMpKSB7CiAgICAgICAgICAgIEB7ICRGb3JtRWxlbWVudHN7JEl0ZW19IH0gPSAkUGFyYW1PYmplY3QtPkdldEFycmF5KCBQYXJhbSA9PiAkSXRlbSApOwogICAgICAgIH0KCiAgICAgICAgbXkgJEN1c3RvbWVyVXNlckNvbmRpdGlvbnNGaWVsZFN0cmcgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKAogICAgICAgICAgICBQYXJhbSA9PiAnQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkcycsCiAgICAgICAgKTsKICAgICAgICBteSAlQ3VzdG9tZXJVc2VyQ29uZGl0aW9uczsKCiAgICAgICAgaWYgKCRDdXN0b21lclVzZXJDb25kaXRpb25zRmllbGRTdHJnKSB7CgogICAgICAgICAgICBGSUVMRDoKICAgICAgICAgICAgZm9yIG15ICRGaWVsZCAoIHNwbGl0KCAvLC8sICRDdXN0b21lclVzZXJDb25kaXRpb25zRmllbGRTdHJnICkgKSB7CiAgICAgICAgICAgICAgICBuZXh0IEZJRUxEIGlmICEkRmllbGQ7CgogICAgICAgICAgICAgICAgbXkgJVNlbGVjdGlvbnNEYXRhOwogICAgICAgICAgICAgICAgJVNlbGVjdGlvbnNEYXRhID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpLT5fU2VuZENvbmRpdGlvbkdldEZpZWxkU2VsZWN0aW9ucygKICAgICAgICAgICAgICAgICAgICBGaWVsZE5hbWUgPT4gJEZpZWxkLAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBteSBAQ2hlY2tib3hlcyA9ICRQYXJhbU9iamVjdC0+R2V0QXJyYXkoCiAgICAgICAgICAgICAgICAgICAgUGFyYW0gPT4gIiR7RmllbGR9Q2hlY2tib3giLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIG15IEBDb25kaXRpb25zID0gJFBhcmFtT2JqZWN0LT5HZXRBcnJheSgKICAgICAgICAgICAgICAgICAgICBQYXJhbSA9PiAkRmllbGQsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgbXkgQENvbmRpdGlvbkFycmF5OwoKICAgICAgICAgICAgICAgIGZvciBteSAkQ291bnQgKCAwIC4uICggc2NhbGFyIEBDb25kaXRpb25zIC0gMSApICkgewoKICAgICAgICAgICAgICAgICAgICBteSAkTmVnYXRpb247CiAgICAgICAgICAgICAgICAgICAgaWYgKCVTZWxlY3Rpb25zRGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAkTmVnYXRpb24gPSAkQ2hlY2tib3hlc1swXSArIDA7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkTmVnYXRpb24gPSAkQ2hlY2tib3hlc1skQ291bnRdICsgMDsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIG15ICRSZWdFeHBWYWx1ZSAgICAgID0gJENvbmRpdGlvbnNbJENvdW50XTsKICAgICAgICAgICAgICAgICAgICBteSAlQ29uZGl0aW9uRW50cmllcyA9ICgKICAgICAgICAgICAgICAgICAgICAgICAgTmVnYXRpb24gICAgPT4gJE5lZ2F0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICBSZWdFeHBWYWx1ZSA9PiAkUmVnRXhwVmFsdWUsCiAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCAhZXZhbCB7IG15ICRSZWdleCA9IHFyLyRSZWdFeHBWYWx1ZS87IDE7IH0gKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAkU2VydmVyRXJyb3J7Q3VzdG9tZXJVc2VyQ29uZGl0aW9uRXJyb3JzfS0+eyRGaWVsZH0tPnskQ291bnR9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHB1c2ggQENvbmRpdGlvbkFycmF5LCBcJUNvbmRpdGlvbkVudHJpZXM7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJEN1c3RvbWVyVXNlckNvbmRpdGlvbnN7JEZpZWxkfSA9IFxAQ29uZGl0aW9uQXJyYXk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICglQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucykgewoKICAgICAgICAgICAgICAgICRGb3JtRWxlbWVudHN7Q3VzdG9tZXJVc2VyQ29uZGl0aW9uc30gPSBcJUN1c3RvbWVyVXNlckNvbmRpdGlvbnM7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICggJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdGcm9udGVuZDo6UmljaFRleHQnKSApIHsKICAgICAgICAgICAgJEZvcm1FbGVtZW50c3tJbnRyb2R1Y3Rpb259ICAgICA9ICJcJGh0bWwvdGV4dFwkICRGb3JtRWxlbWVudHN7SW50cm9kdWN0aW9ufSI7CiAgICAgICAgICAgICRGb3JtRWxlbWVudHN7Tm90aWZpY2F0aW9uQm9keX0gPSAiXCRodG1sL3RleHRcJCAkRm9ybUVsZW1lbnRze05vdGlmaWNhdGlvbkJvZHl9IjsKICAgICAgICAgICAgJEZvcm1FbGVtZW50c3tEZXNjcmlwdGlvbn0gICAgICA9ICJcJGh0bWwvdGV4dFwkICRGb3JtRWxlbWVudHN7RGVzY3JpcHRpb259IjsKICAgICAgICB9CgogICAgICAgICMgc2F2ZSBpZiBubyBlcnJvcnMKICAgICAgICBpZiAoICElU2VydmVyRXJyb3IgKSB7CiAgICAgICAgICAgIG15ICRTdXJ2ZXlJRCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKS0+U3VydmV5QWRkKAogICAgICAgICAgICAgICAgJUZvcm1FbGVtZW50cywKICAgICAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm4gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpLT5SZWRpcmVjdCgKICAgICAgICAgICAgICAgIE9QID0+ICJBY3Rpb249QWdlbnRTdXJ2ZXlab29tO1N1cnZleUlEPSRTdXJ2ZXlJRCIsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHJlbG9hZCBmb3JtIGlmIGVycm9yCiAgICAgICAgcmV0dXJuICRTZWxmLT5fU3VydmV5QWRkTWFzaygKICAgICAgICAgICAgRm9ybUVsZW1lbnRzID0+IFwlRm9ybUVsZW1lbnRzLAogICAgICAgICAgICBTZXJ2ZXJFcnJvciAgPT4gXCVTZXJ2ZXJFcnJvciwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgU3VydmV5IEFKQVggcmVxdWVzdAogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0FKQVhSZXF1ZXN0JyApIHsKCiAgICAgICAgbXkgJFBhcmFtT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKICAgICAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwogICAgICAgIG15ICRKU09OT2JqZWN0ICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SlNPTicpOwoKICAgICAgICBteSAkRmllbGROYW1lID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSgKICAgICAgICAgICAgUGFyYW0gPT4gJ0ZpZWxkTmFtZScsCiAgICAgICAgKTsKICAgICAgICBteSBAU2VsZWN0ZWRWYWx1ZXMgPSAkUGFyYW1PYmplY3QtPkdldEFycmF5KAogICAgICAgICAgICBQYXJhbSA9PiAnU2VsZWN0ZWRWYWx1ZXNbXScsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJVNlbGVjdGlvbnNEYXRhOwogICAgICAgICVTZWxlY3Rpb25zRGF0YSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKS0+X1NlbmRDb25kaXRpb25HZXRGaWVsZFNlbGVjdGlvbnMoCiAgICAgICAgICAgIEZpZWxkTmFtZSA9PiAkRmllbGROYW1lLAogICAgICAgICk7CgogICAgICAgIG15ICRKU09OU3RyaW5nID0gJEpTT05PYmplY3QtPkVuY29kZSgKICAgICAgICAgICAgRGF0YSA9PiAnJywKICAgICAgICApOwoKICAgICAgICBpZiAoJVNlbGVjdGlvbnNEYXRhKSB7CiAgICAgICAgICAgIG15ICRDdXN0b21lclVzZXJDb25kaXRpb25zU3RyZyA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICAgICAgRGF0YSAgICAgICAgICA9PiBcJVNlbGVjdGlvbnNEYXRhLAogICAgICAgICAgICAgICAgTmFtZSAgICAgICAgICA9PiAiJHtGaWVsZE5hbWV9W10iLAogICAgICAgICAgICAgICAgTXVsdGlwbGUgICAgICA9PiAxLAogICAgICAgICAgICAgICAgU2l6ZSAgICAgICAgICA9PiA2LAogICAgICAgICAgICAgICAgQ2xhc3MgICAgICAgICA9PiAnTW9kZXJuaXplIFc1MHBjJywKICAgICAgICAgICAgICAgIFNlbGVjdGVkVmFsdWUgPT4gXEBTZWxlY3RlZFZhbHVlcywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG15ICVKU09ORGF0YSA9ICgKICAgICAgICAgICAgICAgIFN1Y2Nlc3MgICAgID0+IFwxLAogICAgICAgICAgICAgICAgU2VsZWN0RmllbGQgPT4gJEN1c3RvbWVyVXNlckNvbmRpdGlvbnNTdHJnLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgJEpTT05TdHJpbmcgPSAkSlNPTk9iamVjdC0+RW5jb2RlKAogICAgICAgICAgICAgICAgRGF0YSA9PiBcJUpTT05EYXRhLAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkF0dGFjaG1lbnQoCiAgICAgICAgICAgIENvbnRlbnRUeXBlID0+ICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PScgLiAkTGF5b3V0T2JqZWN0LT57Q2hhcnNldH0sCiAgICAgICAgICAgIENvbnRlbnQgICAgID0+ICRKU09OU3RyaW5nLAogICAgICAgICAgICBUeXBlICAgICAgICA9PiAnaW5saW5lJywKICAgICAgICAgICAgTm9DYWNoZSAgICAgPT4gMSwKICAgICAgICApOwogICAgfQp9CgpzdWIgX1N1cnZleUFkZE1hc2sgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlSlNEYXRhOwoKICAgIG15ICVTZXJ2ZXJFcnJvcjsKICAgIGlmICggJFBhcmFte1NlcnZlckVycm9yfSApIHsKICAgICAgICAlU2VydmVyRXJyb3IgPSAleyAkUGFyYW17U2VydmVyRXJyb3J9IH07CiAgICB9CgogICAgbXkgJUZvcm1FbGVtZW50czsKICAgIGlmICggJFBhcmFte0Zvcm1FbGVtZW50c30gKSB7CiAgICAgICAgJUZvcm1FbGVtZW50cyA9ICV7ICRQYXJhbXtGb3JtRWxlbWVudHN9IH07CiAgICB9CgogICAgIyBnZXQgbGF5b3V0IG9iamVjdAogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKAogICAgICAgIFRpdGxlID0+IFRyYW5zbGF0YWJsZSgnQWRkIE5ldyBTdXJ2ZXknKSwKICAgICk7CgogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5OYXZpZ2F0aW9uQmFyKCk7CgogICAgbXkgJVF1ZXVlcyAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlF1ZXVlJyktPkdldEFsbFF1ZXVlcygpOwogICAgbXkgJFF1ZXVlU3RyaW5nID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSAgICAgICAgID0+IFwlUXVldWVzLAogICAgICAgIE5hbWUgICAgICAgICA9PiAnUXVldWVzJywKICAgICAgICBTaXplICAgICAgICAgPT4gNiwKICAgICAgICBNdWx0aXBsZSAgICAgPT4gMSwKICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMCwKICAgICAgICBTb3J0ICAgICAgICAgPT4gJ0FscGhhbnVtZXJpY1ZhbHVlJywKICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMCwKICAgICAgICBTZWxlY3RlZElEICAgPT4gJEZvcm1FbGVtZW50c3tRdWV1ZXN9LAogICAgICAgIENsYXNzICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICk7CgogICAgIyBnZXQgY29uZmlnIG9iamVjdAogICAgbXkgJENvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CgogICAgIyBjaGVjayBpZiB0aGUgZm9yIHNlbmQgY29uZGl0aW9uIHRpY2tldCB0eXBlIGNoZWNrIGlzIGVuYWJsZWQKICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblRpY2tldFR5cGUnKSApIHsKCiAgICAgICAgIyBnZXQgdGhlIHZhbGlkIHRpY2tldCB0eXBlIGxpc3QKICAgICAgICBteSAlVGlja2V0VHlwZXMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VHlwZScpLT5UeXBlTGlzdCgpOwoKICAgICAgICAjIGNoZWNrIGlmIGEgdGlja2V0IHR5cGUgaXMgYXZhaWxhYmxlCiAgICAgICAgaWYgKCVUaWNrZXRUeXBlcykgewoKICAgICAgICAgICAgIyBidWlsZCB0aWNrZXQgdHlwZSBzZWxlY3Rpb24KICAgICAgICAgICAgbXkgJFRpY2tldFR5cGVTdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVUaWNrZXRUeXBlcywKICAgICAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAnVGlja2V0VHlwZUlEcycsCiAgICAgICAgICAgICAgICBTaXplICAgICAgICAgPT4gNiwKICAgICAgICAgICAgICAgIE11bHRpcGxlICAgICA9PiAxLAogICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDAsCiAgICAgICAgICAgICAgICBTb3J0ICAgICAgICAgPT4gJ0FscGhhbnVtZXJpY1ZhbHVlJywKICAgICAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAwLAogICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRGb3JtRWxlbWVudHN7VGlja2V0VHlwZUlEc30sCiAgICAgICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1RpY2tldFR5cGVzJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIFRpY2tldFR5cGVTdHJnID0+ICRUaWNrZXRUeXBlU3RyZywKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICMgY2hlY2sgaWYgdGhlIHNlbmQgY29uZGl0aW9uIHNlcnZpY2UgY2hlY2sgaXMgZW5hYmxlZAogICAgaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uU2VydmljZScpICkgewoKICAgICAgICAjIGdldCB0aGUgdmFsaWQgc2VydmljZSBsaXN0CiAgICAgICAgbXkgJVNlcnZpY2VzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlNlcnZpY2UnKS0+U2VydmljZUxpc3QoCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBjaGVjayBpZiBhIHNlcnZpY2UgaXMgYXZhaWxhYmxlCiAgICAgICAgaWYgKCVTZXJ2aWNlcykgewoKICAgICAgICAgICAgIyBidWlsZCBzZXJ2aWNlIHNlbGVjdGlvbgogICAgICAgICAgICBteSAkU2VydmljZVN0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgICAgIERhdGEgICAgICAgICA9PiBcJVNlcnZpY2VzLAogICAgICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICdTZXJ2aWNlSURzJywKICAgICAgICAgICAgICAgIFNpemUgICAgICAgICA9PiA2LAogICAgICAgICAgICAgICAgTXVsdGlwbGUgICAgID0+IDEsCiAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMCwKICAgICAgICAgICAgICAgIFNvcnQgICAgICAgICA9PiAnQWxwaGFudW1lcmljVmFsdWUnLAogICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJEZvcm1FbGVtZW50c3tTZXJ2aWNlSURzfSwKICAgICAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0U2VydmljZXMnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgU2VydmljZVN0cmcgPT4gJFNlcnZpY2VTdHJnLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBDaGVjayBzZW5kIGNvbmRpdGlvbiBieSBDdXN0b21lclVzZXIgZmllbGRzLgogICAgaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uQ3VzdG9tZXJGaWVsZHMnKSApIHsKCiAgICAgICAgbXkgJUN1c3RvbWVyRmllbGRzQ29uZmlnID0gJXsgJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvbkN1c3RvbWVyRmllbGRzJykgfTsKICAgICAgICBteSBAQ3VzdG9tZXJGaWVsZHM7CgogICAgICAgIG15ICRTdXJ2ZXlPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3VydmV5Jyk7CgogICAgICAgIENVU1RPTUVSRklFTEQ6CiAgICAgICAgZm9yIG15ICRDdXN0b21lckZpZWxkICggc29ydCBrZXlzICVDdXN0b21lckZpZWxkc0NvbmZpZyApIHsKICAgICAgICAgICAgbmV4dCBDVVNUT01FUkZJRUxEIGlmICEkQ3VzdG9tZXJGaWVsZHNDb25maWd7JEN1c3RvbWVyRmllbGR9OwogICAgICAgICAgICBuZXh0IENVU1RPTUVSRklFTEQgaWYgISRTdXJ2ZXlPYmplY3QtPl9TZW5kQ29uZGl0aW9uQ2hlY2tDdXN0b21lckZpZWxkKCBGaWVsZE5hbWUgPT4gJEN1c3RvbWVyRmllbGQgKTsKCiAgICAgICAgICAgIHB1c2ggQEN1c3RvbWVyRmllbGRzLCAkQ3VzdG9tZXJGaWVsZDsKICAgICAgICB9CgogICAgICAgIGlmIChAQ3VzdG9tZXJGaWVsZHMpIHsKCiAgICAgICAgICAgIG15ICRDdXN0b21lclVzZXJDb25kaXRpb25zRmllbGRzU3RyZyA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFxAQ3VzdG9tZXJGaWVsZHMsCiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ0N1c3RvbWVyVXNlckNvbmRpdGlvbnMnLAogICAgICAgICAgICAgICAgTXVsdGlwbGUgICAgID0+IDAsCiAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgICAgIFNvcnQgICAgICAgICA9PiAnQWxwaGFudW1lcmljVmFsdWUnLAogICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gMSwKICAgICAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAnJywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRKU0RhdGF7Q3VzdG9tZXJVc2VyQ29uZGl0aW9uc30gICAgICA9ICRGb3JtRWxlbWVudHN7Q3VzdG9tZXJVc2VyQ29uZGl0aW9uc30gICAgIHx8ICRQYXJhbXtDdXN0b21lclVzZXJDb25kaXRpb25zfTsKICAgICAgICAgICAgJEpTRGF0YXtDdXN0b21lclVzZXJDb25kaXRpb25FcnJvcnN9ID0gJFNlcnZlckVycm9ye0N1c3RvbWVyVXNlckNvbmRpdGlvbkVycm9yc30gfHwgJyc7CgogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1NlbmRDdXN0b21lclVzZXJDb25kaXRpb25zJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIEN1c3RvbWVyVXNlckNvbmRpdGlvbnNGaWVsZHNTdHJnID0+ICRDdXN0b21lclVzZXJDb25kaXRpb25zRmllbGRzU3RyZywKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICMgcmljaCB0ZXh0IGVsZW1lbnRzCiAgICBteSAlU3VydmV5RWxlbWVudHM7CgogICAgJFN1cnZleUVsZW1lbnRze0ludHJvZHVjdGlvbn0gPSAkRm9ybUVsZW1lbnRze0ludHJvZHVjdGlvbn0gfHwKICAgICAgICAkUGFyYW17SW50cm9kdWN0aW9ufTsKCiAgICAkU3VydmV5RWxlbWVudHN7Tm90aWZpY2F0aW9uQm9keX0gPSAkRm9ybUVsZW1lbnRze05vdGlmaWNhdGlvbkJvZHl9IHx8CiAgICAgICAgJFBhcmFte05vdGlmaWNhdGlvbkJvZHl9IHx8CiAgICAgICAgJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6Ok5vdGlmaWNhdGlvbkJvZHknKTsKCiAgICAkU3VydmV5RWxlbWVudHN7RGVzY3JpcHRpb259ID0gJEZvcm1FbGVtZW50c3tEZXNjcmlwdGlvbn0gfHwKICAgICAgICAkUGFyYW17RGVzY3JpcHRpb259IHx8CiAgICAgICAgJyc7CgogICAgIyBsb2FkIHJpY2ggdGV4dCBlZGl0b3IKICAgIG15ICRSaWNoVGV4dEVkaXRvciA9ICRDb25maWdPYmplY3QtPkdldCgnRnJvbnRlbmQ6OlJpY2hUZXh0Jyk7CiAgICBpZiAoJFJpY2hUZXh0RWRpdG9yKSB7CiAgICAgICAgJExheW91dE9iamVjdC0+U2V0UmljaFRleHRQYXJhbWV0ZXJzKAogICAgICAgICAgICBEYXRhID0+IHt9LAogICAgICAgICk7CiAgICB9CgogICAgIyBjb252ZXJ0IHJlcXVpcmVkIGVsZW1lbnRzIHRvIFJURQogICAgRklFTEQ6CiAgICBmb3IgbXkgJFN1cnZleUZpZWxkICggc29ydCBrZXlzICVTdXJ2ZXlFbGVtZW50cyApIHsKICAgICAgICBuZXh0IEZJRUxEIGlmICEkU3VydmV5RWxlbWVudHN7JFN1cnZleUZpZWxkfTsKCiAgICAgICAgIyBjbGVhbiBIVE1MCiAgICAgICAgbXkgJEhUTUxDb250ZW50ID0gJFN1cnZleUVsZW1lbnRzeyRTdXJ2ZXlGaWVsZH0gPX4gc3tcQVwkaHRtbFwvdGV4dFwkXHMoLiopfXskMX14bXM7CgogICAgICAgIGlmICggISRIVE1MQ29udGVudCAmJiAkUmljaFRleHRFZGl0b3IgKSB7CiAgICAgICAgICAgICRTdXJ2ZXlFbGVtZW50c3skU3VydmV5RmllbGR9ID0gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCgKICAgICAgICAgICAgICAgIFRleHQgICAgICAgICAgID0+ICRTdXJ2ZXlFbGVtZW50c3skU3VydmV5RmllbGR9LAogICAgICAgICAgICAgICAgSFRNTFJlc3VsdE1vZGUgPT4gMSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgZWxzaWYgKCAkSFRNTENvbnRlbnQgJiYgISRSaWNoVGV4dEVkaXRvciApIHsKICAgICAgICAgICAgJFN1cnZleUVsZW1lbnRzeyRTdXJ2ZXlGaWVsZH0gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SFRNTFV0aWxzJyktPlRvQXNjaWkoCiAgICAgICAgICAgICAgICBTdHJpbmcgPT4gJFN1cnZleUVsZW1lbnRzeyRTdXJ2ZXlGaWVsZH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ0ludHJvZHVjdGlvbicsCiAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgIEludHJvZHVjdGlvbiA9PiAkU3VydmV5RWxlbWVudHN7SW50cm9kdWN0aW9ufSwKICAgICAgICB9LAogICAgKTsKCiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdOb3RpZmljYXRpb25Cb2R5JywKICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgTm90aWZpY2F0aW9uQm9keSA9PiAkU3VydmV5RWxlbWVudHN7Tm90aWZpY2F0aW9uQm9keX0sCiAgICAgICAgfSwKICAgICk7CgogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnSW50ZXJuYWxEZXNjcmlwdGlvbicsCiAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgIERlc2NyaXB0aW9uID0+ICRTdXJ2ZXlFbGVtZW50c3tEZXNjcmlwdGlvbn0sCiAgICAgICAgfSwKICAgICk7CgogICAgIyBnZW5lcmF0ZXMgZ2VuZXJpYyBlcnJvcnMgZm9yIEphdmFTY3JpcHQKICAgIGZvciBteSAkTmVlZGVkSXRlbSAoCiAgICAgICAgcXcoIFRpdGxlIEludHJvZHVjdGlvbiBEZXNjcmlwdGlvbiBOb3RpZmljYXRpb25TZW5kZXIgTm90aWZpY2F0aW9uU3ViamVjdCBOb3RpZmljYXRpb25Cb2R5ICkKICAgICAgICApCiAgICB7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0dlbmVyaWNFcnJvcicsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgSXRlbU5hbWUgPT4gJE5lZWRlZEl0ZW0gLiAnRXJyb3InLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgZm9yIG15ICRJdGVtICggc29ydCBrZXlzICVTZXJ2ZXJFcnJvciApIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnR2VuZXJpY1NlcnZlckVycm9yJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBJdGVtTmFtZSA9PiAkSXRlbSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICRMYXlvdXRPYmplY3QtPkFkZEpTRGF0YSgKICAgICAgICBLZXkgICA9PiAnSlNEYXRhJywKICAgICAgICBWYWx1ZSA9PiBcJUpTRGF0YSwKICAgICk7CgogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZ2VudFN1cnZleUFkZCcsCiAgICAgICAgRGF0YSAgICAgICAgID0+IHsKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBRdWV1ZVN0cmluZyAgICAgICAgPT4gJFF1ZXVlU3RyaW5nLAogICAgICAgICAgICBOb3RpZmljYXRpb25TZW5kZXIgPT4gJEZvcm1FbGVtZW50c3tOb3RpZmljYXRpb25TZW5kZXJ9CiAgICAgICAgICAgICAgICB8fCAkUGFyYW17Tm90aWZpY2F0aW9uU2VuZGVyfQogICAgICAgICAgICAgICAgfHwgJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6Ok5vdGlmaWNhdGlvblNlbmRlcicpLAogICAgICAgICAgICBOb3RpZmljYXRpb25TdWJqZWN0ID0+ICRGb3JtRWxlbWVudHN7Tm90aWZpY2F0aW9uU3ViamVjdH0KICAgICAgICAgICAgICAgIHx8ICRQYXJhbXtOb3RpZmljYXRpb25TdWJqZWN0fQogICAgICAgICAgICAgICAgfHwgJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6Ok5vdGlmaWNhdGlvblN1YmplY3QnKSwKICAgICAgICAgICAgJVNlcnZlckVycm9yLAogICAgICAgICAgICAlRm9ybUVsZW1lbnRzLAogICAgICAgIH0sCiAgICApOwogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5Gb290ZXIoKTsKCiAgICByZXR1cm4gJE91dHB1dDsKfQoKMTsK</File>
        <File Location="Kernel/Modules/AgentSurveyEdit.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWdlbnRTdXJ2ZXlFZGl0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6TGFuZ3VhZ2UgcXcoVHJhbnNsYXRhYmxlKTsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBnZXQgY29tbW9uIG9iamVjdHMKICAgICV7JFNlbGZ9ID0gJVBhcmFtOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IG5lZWRlZCBvYmplY3RzCiAgICBteSAkU3VydmV5T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpOwogICAgbXkgJFBhcmFtT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgbXkgJFN1cnZleUlEID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gIlN1cnZleUlEIiApOwoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgc3VydmV5IGVkaXQKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGlmICggISRTZWxmLT57U3ViYWN0aW9ufSApIHsKCiAgICAgICAgIyBjaGVjayBpZiBzdXJ2ZXkgZXhpc3RzCiAgICAgICAgbXkgJFN1cnZleUV4aXN0cyA9ICRTdXJ2ZXlPYmplY3QtPkVsZW1lbnRFeGlzdHMoCiAgICAgICAgICAgIEVsZW1lbnRJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIEVsZW1lbnQgICA9PiAnU3VydmV5JwogICAgICAgICk7CiAgICAgICAgaWYgKCAkU3VydmV5RXhpc3RzIG5lICdZZXMnICkgewoKICAgICAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPk5vUGVybWlzc2lvbigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgICAgPT4gVHJhbnNsYXRhYmxlKCdZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSEnKSwKICAgICAgICAgICAgICAgIFdpdGhIZWFkZXIgPT4gJ3llcycsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICBteSAlU3VydmV5ID0gJFN1cnZleU9iamVjdC0+U3VydmV5R2V0KCBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQgKTsKCiAgICAgICAgcmV0dXJuICRTZWxmLT5fU3VydmV5RWRpdE1hc2soCiAgICAgICAgICAgICVTdXJ2ZXksCiAgICAgICAgKTsKCiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBzdXJ2ZXkgc2F2ZQogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ1N1cnZleVNhdmUnICkgewoKICAgICAgICBpZiAoICEkU3VydmV5SUQgKSB7CgogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+RXJyb3JTY3JlZW4oCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJyksCiAgICAgICAgICAgICAgICBDb21tZW50ID0+IFRyYW5zbGF0YWJsZSgnUGxlYXNlIGNvbnRhY3QgdGhlIGFkbWluaXN0cmF0b3IuJyksCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIGdldCByZXF1aXJlZCBmb3JtIGVsZW1lbnRzIGFuZCBlcnJvcnMKICAgICAgICBteSAlU2VydmVyRXJyb3I7CiAgICAgICAgbXkgJUZvcm1FbGVtZW50czsKICAgICAgICBmb3IgbXkgJEl0ZW0gKAogICAgICAgICAgICBxdyggVGl0bGUgSW50cm9kdWN0aW9uIERlc2NyaXB0aW9uIE5vdGlmaWNhdGlvblNlbmRlciBOb3RpZmljYXRpb25TdWJqZWN0IE5vdGlmaWNhdGlvbkJvZHkgKQogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICAkRm9ybUVsZW1lbnRzeyRJdGVtfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICIkSXRlbSIgKTsKCiAgICAgICAgICAgIGlmICggISRGb3JtRWxlbWVudHN7JEl0ZW19ICkgewogICAgICAgICAgICAgICAgJFNlcnZlckVycm9yeyAiJEl0ZW0iIC4gJ1NlcnZlckVycm9yJyB9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBnZXQgYXJyYXkgcGFyYW1zCiAgICAgICAgZm9yIG15ICRJdGVtIChxdyhRdWV1ZXMgVGlja2V0VHlwZUlEcyBTZXJ2aWNlSURzKSkgewogICAgICAgICAgICBAeyAkRm9ybUVsZW1lbnRzeyRJdGVtfSB9ID0gJFBhcmFtT2JqZWN0LT5HZXRBcnJheSggUGFyYW0gPT4gJEl0ZW0gKTsKICAgICAgICB9CgogICAgICAgIGlmICggJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdGcm9udGVuZDo6UmljaFRleHQnKSApIHsKICAgICAgICAgICAgJEZvcm1FbGVtZW50c3tJbnRyb2R1Y3Rpb259ID0gKCBsZW5ndGggJEZvcm1FbGVtZW50c3tJbnRyb2R1Y3Rpb259ICkKICAgICAgICAgICAgICAgID8gIlwkaHRtbC90ZXh0XCQgJEZvcm1FbGVtZW50c3tJbnRyb2R1Y3Rpb259IgogICAgICAgICAgICAgICAgOiAnJzsKICAgICAgICAgICAgJEZvcm1FbGVtZW50c3tOb3RpZmljYXRpb25Cb2R5fSA9ICggbGVuZ3RoICRGb3JtRWxlbWVudHN7Tm90aWZpY2F0aW9uQm9keX0gKQogICAgICAgICAgICAgICAgPyAiXCRodG1sL3RleHRcJCAkRm9ybUVsZW1lbnRze05vdGlmaWNhdGlvbkJvZHl9IgogICAgICAgICAgICAgICAgOiAnJzsKICAgICAgICAgICAgJEZvcm1FbGVtZW50c3tEZXNjcmlwdGlvbn0gPSAoIGxlbmd0aCAkRm9ybUVsZW1lbnRze0Rlc2NyaXB0aW9ufSApCiAgICAgICAgICAgICAgICA/ICJcJGh0bWwvdGV4dFwkICRGb3JtRWxlbWVudHN7RGVzY3JpcHRpb259IgogICAgICAgICAgICAgICAgOiAnJzsKICAgICAgICB9CgogICAgICAgIG15ICRDdXN0b21lclVzZXJDb25kaXRpb25zRmllbGRTdHJnID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSgKICAgICAgICAgICAgUGFyYW0gPT4gJ0N1c3RvbWVyVXNlckNvbmRpdGlvbnNGaWVsZHMnLAogICAgICAgICk7CiAgICAgICAgbXkgJUN1c3RvbWVyVXNlckNvbmRpdGlvbnM7CgogICAgICAgIGlmICgkQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkU3RyZykgewoKICAgICAgICAgICAgRklFTEQ6CiAgICAgICAgICAgIGZvciBteSAkRmllbGQgKCBzcGxpdCggLywvLCAkQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkU3RyZyApICkgewogICAgICAgICAgICAgICAgbmV4dCBGSUVMRCBpZiAhJEZpZWxkOwoKICAgICAgICAgICAgICAgIG15ICVTZWxlY3Rpb25zRGF0YTsKICAgICAgICAgICAgICAgICVTZWxlY3Rpb25zRGF0YSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKS0+X1NlbmRDb25kaXRpb25HZXRGaWVsZFNlbGVjdGlvbnMoCiAgICAgICAgICAgICAgICAgICAgRmllbGROYW1lID0+ICRGaWVsZCwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgbXkgQENoZWNrYm94ZXMgPSAkUGFyYW1PYmplY3QtPkdldEFycmF5KAogICAgICAgICAgICAgICAgICAgIFBhcmFtID0+ICIke0ZpZWxkfUNoZWNrYm94IiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBteSBAQ29uZGl0aW9ucyA9ICRQYXJhbU9iamVjdC0+R2V0QXJyYXkoCiAgICAgICAgICAgICAgICAgICAgUGFyYW0gPT4gJEZpZWxkLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIG15IEBDb25kaXRpb25BcnJheTsKCiAgICAgICAgICAgICAgICBmb3IgbXkgJENvdW50ICggMCAuLiAoIHNjYWxhciBAQ29uZGl0aW9ucyAtIDEgKSApIHsKCiAgICAgICAgICAgICAgICAgICAgbXkgJE5lZ2F0aW9uOwogICAgICAgICAgICAgICAgICAgIGlmICglU2VsZWN0aW9uc0RhdGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJE5lZ2F0aW9uID0gJENoZWNrYm94ZXNbMF0gKyAwOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJE5lZ2F0aW9uID0gJENoZWNrYm94ZXNbJENvdW50XSArIDA7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBteSAkUmVnRXhwVmFsdWUgICAgICA9ICRDb25kaXRpb25zWyRDb3VudF07CiAgICAgICAgICAgICAgICAgICAgbXkgJUNvbmRpdGlvbkVudHJpZXMgPSAoCiAgICAgICAgICAgICAgICAgICAgICAgIE5lZ2F0aW9uICAgID0+ICROZWdhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgUmVnRXhwVmFsdWUgPT4gJFJlZ0V4cFZhbHVlLAogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgIGlmICggIWV2YWwgeyBteSAkUmVnZXggPSBxci8kUmVnRXhwVmFsdWUvOyAxOyB9ICkgewoKICAgICAgICAgICAgICAgICAgICAgICAgJFNlcnZlckVycm9ye0N1c3RvbWVyVXNlckNvbmRpdGlvbkVycm9yc30tPnskRmllbGR9LT57JENvdW50fSA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBwdXNoIEBDb25kaXRpb25BcnJheSwgXCVDb25kaXRpb25FbnRyaWVzOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRDdXN0b21lclVzZXJDb25kaXRpb25zeyRGaWVsZH0gPSBcQENvbmRpdGlvbkFycmF5OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJUN1c3RvbWVyVXNlckNvbmRpdGlvbnMpIHsKCiAgICAgICAgICAgICAgICAkRm9ybUVsZW1lbnRze0N1c3RvbWVyVXNlckNvbmRpdGlvbnN9ID0gXCVDdXN0b21lclVzZXJDb25kaXRpb25zOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIHNhdmUgaWYgbm8gZXJyb3JzCiAgICAgICAgaWYgKCAhJVNlcnZlckVycm9yICkgewogICAgICAgICAgICBteSAkU2F2ZVJlc3VsdCA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleVVwZGF0ZSgKICAgICAgICAgICAgICAgICVGb3JtRWxlbWVudHMsCiAgICAgICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UG9wdXBDbG9zZSgKICAgICAgICAgICAgICAgIFVSTCA9PiAiQWN0aW9uPUFnZW50U3VydmV5Wm9vbTtTdXJ2ZXlJRD0kU3VydmV5SUQ7IiwKICAgICAgICAgICAgKTsKCiAgICAgICAgfQoKICAgICAgICAjIHJlbG9hZCBmb3JtIGlmIGVycm9yCiAgICAgICAgcmV0dXJuICRTZWxmLT5fU3VydmV5RWRpdE1hc2soCiAgICAgICAgICAgIEZvcm1FbGVtZW50cyA9PiBcJUZvcm1FbGVtZW50cywKICAgICAgICAgICAgU2VydmVyRXJyb3IgID0+IFwlU2VydmVyRXJyb3IsCiAgICAgICAgICAgIFN1cnZleUlEICAgICA9PiAkU3VydmV5SUQsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIFN1cnZleSBBSkFYIHJlcXVlc3QKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdBSkFYUmVxdWVzdCcgKSB7CgogICAgICAgIG15ICRKU09OT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkpTT04nKTsKCiAgICAgICAgbXkgJEZpZWxkTmFtZSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oCiAgICAgICAgICAgIFBhcmFtID0+ICdGaWVsZE5hbWUnLAogICAgICAgICk7CiAgICAgICAgbXkgQFNlbGVjdGVkVmFsdWVzID0gJFBhcmFtT2JqZWN0LT5HZXRBcnJheSgKICAgICAgICAgICAgUGFyYW0gPT4gJ1NlbGVjdGVkVmFsdWVzW10nLAogICAgICAgICk7CgogICAgICAgIG15ICVTZWxlY3Rpb25zRGF0YTsKICAgICAgICAlU2VsZWN0aW9uc0RhdGEgPSAkU3VydmV5T2JqZWN0LT5fU2VuZENvbmRpdGlvbkdldEZpZWxkU2VsZWN0aW9ucygKICAgICAgICAgICAgRmllbGROYW1lID0+ICRGaWVsZE5hbWUsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJEpTT05TdHJpbmcgPSAkSlNPTk9iamVjdC0+RW5jb2RlKAogICAgICAgICAgICBEYXRhID0+ICcnLAogICAgICAgICk7CgogICAgICAgIGlmICglU2VsZWN0aW9uc0RhdGEpIHsKICAgICAgICAgICAgbXkgJEN1c3RvbWVyVXNlckNvbmRpdGlvbnNTdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgID0+IFwlU2VsZWN0aW9uc0RhdGEsCiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgID0+ICIke0ZpZWxkTmFtZX1bXSIsCiAgICAgICAgICAgICAgICBNdWx0aXBsZSAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBTaXplICAgICAgICAgID0+IDYsCiAgICAgICAgICAgICAgICBDbGFzcyAgICAgICAgID0+ICdNb2Rlcm5pemUgVzUwcGMnLAogICAgICAgICAgICAgICAgU2VsZWN0ZWRWYWx1ZSA9PiBcQFNlbGVjdGVkVmFsdWVzLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbXkgJUpTT05EYXRhID0gKAogICAgICAgICAgICAgICAgU3VjY2VzcyAgICAgPT4gXDEsCiAgICAgICAgICAgICAgICBTZWxlY3RGaWVsZCA9PiAkQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc1N0cmcsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkSlNPTlN0cmluZyA9ICRKU09OT2JqZWN0LT5FbmNvZGUoCiAgICAgICAgICAgICAgICBEYXRhID0+IFwlSlNPTkRhdGEsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+QXR0YWNobWVudCgKICAgICAgICAgICAgQ29udGVudFR5cGUgPT4gJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9JyAuICRMYXlvdXRPYmplY3QtPntDaGFyc2V0fSwKICAgICAgICAgICAgQ29udGVudCAgICAgPT4gJEpTT05TdHJpbmcsCiAgICAgICAgICAgIFR5cGUgICAgICAgID0+ICdpbmxpbmUnLAogICAgICAgICAgICBOb0NhY2hlICAgICA9PiAxLAogICAgICAgICk7CiAgICB9Cn0KCnN1YiBfU3VydmV5RWRpdE1hc2sgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlSlNEYXRhOwoKICAgIG15ICVTZXJ2ZXJFcnJvcjsKICAgIGlmICggJFBhcmFte1NlcnZlckVycm9yfSApIHsKICAgICAgICAlU2VydmVyRXJyb3IgPSAleyAkUGFyYW17U2VydmVyRXJyb3J9IH07CiAgICB9CgogICAgbXkgJUZvcm1FbGVtZW50czsKICAgIGlmICggJFBhcmFte0Zvcm1FbGVtZW50c30gKSB7CiAgICAgICAgJUZvcm1FbGVtZW50cyA9ICV7ICRQYXJhbXtGb3JtRWxlbWVudHN9IH07CiAgICB9CgogICAgIyBnZXQgbGF5b3V0IG9iamVjdAogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKAogICAgICAgIFRpdGxlICAgICA9PiBUcmFuc2xhdGFibGUoJ1N1cnZleSBFZGl0JyksCiAgICAgICAgVHlwZSAgICAgID0+ICdTbWFsbCcsCiAgICAgICAgQm9keUNsYXNzID0+ICdQb3B1cCcsCiAgICApOwoKICAgIG15ICVRdWV1ZXMgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpRdWV1ZScpLT5HZXRBbGxRdWV1ZXMoKTsKICAgIG15ICRRdWV1ZVN0cmluZyA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgIERhdGEgICAgICAgICA9PiBcJVF1ZXVlcywKICAgICAgICBOYW1lICAgICAgICAgPT4gJ1F1ZXVlcycsCiAgICAgICAgU2l6ZSAgICAgICAgID0+IDYsCiAgICAgICAgTXVsdGlwbGUgICAgID0+IDEsCiAgICAgICAgUG9zc2libGVOb25lID0+IDAsCiAgICAgICAgU29ydCAgICAgICAgID0+ICdBbHBoYW51bWVyaWNWYWx1ZScsCiAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRGb3JtRWxlbWVudHN7UXVldWVzfSB8fCAkUGFyYW17UXVldWVzfSwKICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICApOwoKICAgICMgZ2V0IGNvbmZpZyBvYmplY3QKICAgIG15ICRDb25maWdPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwoKICAgICMgY2hlY2sgaWYgdGhlIGZvciBzZW5kIGNvbmRpdGlvbiB0aWNrZXQgdHlwZSBjaGVjayBpcyBlbmFibGVkCiAgICBpZiAoICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJykgKSB7CgogICAgICAgICMgZ2V0IHRoZSB2YWxpZCB0aWNrZXQgdHlwZSBsaXN0CiAgICAgICAgbXkgJVRpY2tldFR5cGVzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlR5cGUnKS0+VHlwZUxpc3QoKTsKCiAgICAgICAgIyBjaGVjayBpZiBhIHRpY2tldCB0eXBlIGlzIGF2YWlsYWJsZQogICAgICAgIGlmICglVGlja2V0VHlwZXMpIHsKCiAgICAgICAgICAgICMgYnVpbGQgdGlja2V0IHR5cGUgc2VsZWN0aW9uCiAgICAgICAgICAgIG15ICRUaWNrZXRUeXBlU3RyZyA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFwlVGlja2V0VHlwZXMsCiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ1RpY2tldFR5cGVJRHMnLAogICAgICAgICAgICAgICAgU2l6ZSAgICAgICAgID0+IDYsCiAgICAgICAgICAgICAgICBNdWx0aXBsZSAgICAgPT4gMSwKICAgICAgICAgICAgICAgIFBvc3NpYmxlTm9uZSA9PiAwLAogICAgICAgICAgICAgICAgU29ydCAgICAgICAgID0+ICdBbHBoYW51bWVyaWNWYWx1ZScsCiAgICAgICAgICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMCwKICAgICAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkRm9ybUVsZW1lbnRze1RpY2tldFR5cGVJRHN9IHx8ICRQYXJhbXtUaWNrZXRUeXBlSURzfSwKICAgICAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0VHlwZXMnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgVGlja2V0VHlwZVN0cmcgPT4gJFRpY2tldFR5cGVTdHJnLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBpZiB0aGUgc2VuZCBjb25kaXRpb24gc2VydmljZSBjaGVjayBpcyBlbmFibGVkCiAgICBpZiAoICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25TZXJ2aWNlJykgKSB7CgogICAgICAgICMgZ2V0IHRoZSB2YWxpZCBzZXJ2aWNlIGxpc3QKICAgICAgICBteSAlU2VydmljZXMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U2VydmljZScpLT5TZXJ2aWNlTGlzdCgKICAgICAgICAgICAgVXNlcklEID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgIyBjaGVjayBpZiBhIHNlcnZpY2UgaXMgYXZhaWxhYmxlCiAgICAgICAgaWYgKCVTZXJ2aWNlcykgewoKICAgICAgICAgICAgIyBidWlsZCBzZXJ2aWNlIHNlbGVjdGlvbgogICAgICAgICAgICBteSAkU2VydmljZVN0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgICAgIERhdGEgICAgICAgICA9PiBcJVNlcnZpY2VzLAogICAgICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICdTZXJ2aWNlSURzJywKICAgICAgICAgICAgICAgIFNpemUgICAgICAgICA9PiA2LAogICAgICAgICAgICAgICAgTXVsdGlwbGUgICAgID0+IDEsCiAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMCwKICAgICAgICAgICAgICAgIFNvcnQgICAgICAgICA9PiAnQWxwaGFudW1lcmljVmFsdWUnLAogICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJEZvcm1FbGVtZW50c3tTZXJ2aWNlSURzfSB8fCAkUGFyYW17U2VydmljZUlEc30sCiAgICAgICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1RpY2tldFNlcnZpY2VzJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIFNlcnZpY2VTdHJnID0+ICRTZXJ2aWNlU3RyZywKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICMgQ2hlY2sgc2VuZCBjb25kaXRpb24gYnkgQ3VzdG9tZXJVc2VyIGZpZWxkcy4KICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvbkN1c3RvbWVyRmllbGRzJykgKSB7CgogICAgICAgIG15ICVDdXN0b21lckZpZWxkc0NvbmZpZyA9ICV7ICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcycpIH07CiAgICAgICAgbXkgQEN1c3RvbWVyRmllbGRzOwoKICAgICAgICBteSAkU3VydmV5T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpOwoKICAgICAgICBDVVNUT01FUkZJRUxEOgogICAgICAgIGZvciBteSAkQ3VzdG9tZXJGaWVsZCAoIHNvcnQga2V5cyAlQ3VzdG9tZXJGaWVsZHNDb25maWcgKSB7CiAgICAgICAgICAgIG5leHQgQ1VTVE9NRVJGSUVMRCBpZiAhJEN1c3RvbWVyRmllbGRzQ29uZmlneyRDdXN0b21lckZpZWxkfTsKICAgICAgICAgICAgbmV4dCBDVVNUT01FUkZJRUxEIGlmICEkU3VydmV5T2JqZWN0LT5fU2VuZENvbmRpdGlvbkNoZWNrQ3VzdG9tZXJGaWVsZCggRmllbGROYW1lID0+ICRDdXN0b21lckZpZWxkICk7CgogICAgICAgICAgICBwdXNoIEBDdXN0b21lckZpZWxkcywgJEN1c3RvbWVyRmllbGQ7CiAgICAgICAgfQoKICAgICAgICBpZiAoQEN1c3RvbWVyRmllbGRzKSB7CgogICAgICAgICAgICBteSAkQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkc1N0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgICAgIERhdGEgICAgICAgICA9PiBcQEN1c3RvbWVyRmllbGRzLAogICAgICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICdDdXN0b21lclVzZXJDb25kaXRpb25zJywKICAgICAgICAgICAgICAgIE11bHRpcGxlICAgICA9PiAwLAogICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgICAgICBTb3J0ICAgICAgICAgPT4gJ0FscGhhbnVtZXJpY1ZhbHVlJywKICAgICAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAwLAogICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+IDEsCiAgICAgICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJycsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkSlNEYXRhe0N1c3RvbWVyVXNlckNvbmRpdGlvbnN9ICAgICAgPSAkRm9ybUVsZW1lbnRze0N1c3RvbWVyVXNlckNvbmRpdGlvbnN9ICAgICB8fCAkUGFyYW17Q3VzdG9tZXJVc2VyQ29uZGl0aW9uc307CiAgICAgICAgICAgICRKU0RhdGF7Q3VzdG9tZXJVc2VyQ29uZGl0aW9uRXJyb3JzfSA9ICRTZXJ2ZXJFcnJvcntDdXN0b21lclVzZXJDb25kaXRpb25FcnJvcnN9IHx8ICcnOwoKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdTZW5kQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBDdXN0b21lclVzZXJDb25kaXRpb25zRmllbGRzU3RyZyA9PiAkQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkc1N0cmcsCiAgICAgICAgICAgICAgICAgICAgQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyAgICAgICAgICAgPT4gJEZvcm1FbGVtZW50c3tDdXN0b21lclVzZXJDb25kaXRpb25zfQogICAgICAgICAgICAgICAgICAgICAgICB8fCAkUGFyYW17Q3VzdG9tZXJVc2VyQ29uZGl0aW9uc30sCiAgICAgICAgICAgICAgICAgICAgQ3VzdG9tZXJVc2VyQ29uZGl0aW9uRXJyb3JzID0+ICRTZXJ2ZXJFcnJvcntDdXN0b21lclVzZXJDb25kaXRpb25FcnJvcnN9IHx8ICcnLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyByaWNoIHRleHQgZWxlbWVudHMKICAgIG15ICVTdXJ2ZXlFbGVtZW50czsKCiAgICAkU3VydmV5RWxlbWVudHN7SW50cm9kdWN0aW9ufSA9ICRGb3JtRWxlbWVudHN7SW50cm9kdWN0aW9ufSB8fCAkUGFyYW17SW50cm9kdWN0aW9ufTsKCiAgICAkU3VydmV5RWxlbWVudHN7Tm90aWZpY2F0aW9uQm9keX0gPSAkRm9ybUVsZW1lbnRze05vdGlmaWNhdGlvbkJvZHl9IHx8ICRQYXJhbXtOb3RpZmljYXRpb25Cb2R5fSB8fCAkQ29uZmlnT2JqZWN0LT5HZXQoJ1N1cnZleTo6Tm90aWZpY2F0aW9uQm9keScpOwoKICAgICRTdXJ2ZXlFbGVtZW50c3tEZXNjcmlwdGlvbn0gPSAkRm9ybUVsZW1lbnRze0Rlc2NyaXB0aW9ufSB8fCAkUGFyYW17RGVzY3JpcHRpb259IHx8ICcnOwoKICAgICMgbG9hZCByaWNoIHRleHQgZWRpdG9yCiAgICBteSAkUmljaFRleHRFZGl0b3IgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0Zyb250ZW5kOjpSaWNoVGV4dCcpOwogICAgaWYgKCRSaWNoVGV4dEVkaXRvcikgewogICAgICAgICRMYXlvdXRPYmplY3QtPlNldFJpY2hUZXh0UGFyYW1ldGVycygKICAgICAgICAgICAgRGF0YSA9PiB7fSwKICAgICAgICApOwogICAgfQoKICAgICMgY29udmVydCByZXF1aXJlZCBlbGVtZW50cyB0byBSVEUKICAgIEZJRUxEOgogICAgZm9yIG15ICRTdXJ2ZXlGaWVsZCAoIHNvcnQga2V5cyAlU3VydmV5RWxlbWVudHMgKSB7CiAgICAgICAgbmV4dCBGSUVMRCBpZiAhJFN1cnZleUVsZW1lbnRzeyRTdXJ2ZXlGaWVsZH07CgogICAgICAgICMgY2xlYW4gSFRNTAogICAgICAgIG15ICRIVE1MQ29udGVudCA9CiAgICAgICAgICAgICRTdXJ2ZXlFbGVtZW50c3skU3VydmV5RmllbGR9ID1+IHN7XEFcJGh0bWxcL3RleHRcJFxzKC4qKX17JDF9eG1zOwoKICAgICAgICBpZiAoICEkSFRNTENvbnRlbnQgJiYgJFJpY2hUZXh0RWRpdG9yICkgewogICAgICAgICAgICAkU3VydmV5RWxlbWVudHN7JFN1cnZleUZpZWxkfSA9ICRMYXlvdXRPYmplY3QtPkFzY2lpMkh0bWwoCiAgICAgICAgICAgICAgICBUZXh0ICAgICAgICAgICA9PiAkU3VydmV5RWxlbWVudHN7JFN1cnZleUZpZWxkfSwKICAgICAgICAgICAgICAgIEhUTUxSZXN1bHRNb2RlID0+IDEsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIGVsc2lmICggJEhUTUxDb250ZW50ICYmICEkUmljaFRleHRFZGl0b3IgKSB7CiAgICAgICAgICAgICRTdXJ2ZXlFbGVtZW50c3skU3VydmV5RmllbGR9ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkhUTUxVdGlscycpLT5Ub0FzY2lpKAogICAgICAgICAgICAgICAgU3RyaW5nID0+ICRTdXJ2ZXlFbGVtZW50c3skU3VydmV5RmllbGR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdJbnRyb2R1Y3Rpb24nLAogICAgICAgIERhdGEgPT4gewogICAgICAgICAgICBJbnRyb2R1Y3Rpb24gPT4gJFN1cnZleUVsZW1lbnRze0ludHJvZHVjdGlvbn0sCiAgICAgICAgfSwKICAgICk7CgogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnTm90aWZpY2F0aW9uQm9keScsCiAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgIE5vdGlmaWNhdGlvbkJvZHkgPT4gJFN1cnZleUVsZW1lbnRze05vdGlmaWNhdGlvbkJvZHl9LAogICAgICAgIH0sCiAgICApOwoKICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ0ludGVybmFsRGVzY3JpcHRpb24nLAogICAgICAgIERhdGEgPT4gewogICAgICAgICAgICBEZXNjcmlwdGlvbiA9PiAkU3VydmV5RWxlbWVudHN7RGVzY3JpcHRpb259LAogICAgICAgIH0sCiAgICApOwoKICAgICMgZ2VuZXJhdGVzIGdlbmVyaWMgZXJyb3JzIGZvciBKYXZhU2NyaXB0CiAgICBmb3IgbXkgJE5lZWRlZEl0ZW0gKAogICAgICAgIHF3KCBUaXRsZSBJbnRyb2R1Y3Rpb24gRGVzY3JpcHRpb24gTm90aWZpY2F0aW9uU2VuZGVyIE5vdGlmaWNhdGlvblN1YmplY3QgTm90aWZpY2F0aW9uQm9keSApCiAgICAgICAgKQogICAgewogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdHZW5lcmljRXJyb3InLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIEl0ZW1OYW1lID0+ICROZWVkZWRJdGVtIC4gJ0Vycm9yJywKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgIGZvciBteSAkSXRlbSAoIHNvcnQga2V5cyAlU2VydmVyRXJyb3IgKSB7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0dlbmVyaWNTZXJ2ZXJFcnJvcicsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgSXRlbU5hbWUgPT4gJEl0ZW0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAkTGF5b3V0T2JqZWN0LT5BZGRKU0RhdGEoCiAgICAgICAgS2V5ICAgPT4gJ0pTRGF0YScsCiAgICAgICAgVmFsdWUgPT4gXCVKU0RhdGEsCiAgICApOwoKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWdlbnRTdXJ2ZXlFZGl0JywKICAgICAgICBEYXRhICAgICAgICAgPT4gewogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgIFF1ZXVlU3RyaW5nICAgICAgICA9PiAkUXVldWVTdHJpbmcsCiAgICAgICAgICAgIE5vdGlmaWNhdGlvblNlbmRlciA9PiAkRm9ybUVsZW1lbnRze05vdGlmaWNhdGlvblNlbmRlcn0KICAgICAgICAgICAgICAgIHx8ICRQYXJhbXtOb3RpZmljYXRpb25TZW5kZXJ9CiAgICAgICAgICAgICAgICB8fCAkQ29uZmlnT2JqZWN0LT5HZXQoJ1N1cnZleTo6Tm90aWZpY2F0aW9uU2VuZGVyJyksCiAgICAgICAgICAgIE5vdGlmaWNhdGlvblN1YmplY3QgPT4gJEZvcm1FbGVtZW50c3tOb3RpZmljYXRpb25TdWJqZWN0fQogICAgICAgICAgICAgICAgfHwgJFBhcmFte05vdGlmaWNhdGlvblN1YmplY3R9CiAgICAgICAgICAgICAgICB8fCAkQ29uZmlnT2JqZWN0LT5HZXQoJ1N1cnZleTo6Tm90aWZpY2F0aW9uU3ViamVjdCcpLAogICAgICAgICAgICAlU2VydmVyRXJyb3IsCiAgICAgICAgICAgICVGb3JtRWxlbWVudHMsCiAgICAgICAgfSwKICAgICk7CiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPkZvb3RlcigKICAgICAgICBUeXBlID0+ICdTbWFsbCcsCiAgICApOwoKICAgIHJldHVybiAkT3V0cHV0Owp9CjE7Cg==</File>
        <File Location="Kernel/Modules/AgentSurveyEditQuestions.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6TGFuZ3VhZ2UgcXcoVHJhbnNsYXRhYmxlKTsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBnZXQgY29tbW9uIG9iamVjdHMKICAgICV7JFNlbGZ9ID0gJVBhcmFtOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IG5lZWRlZCBvYmplY3RzCiAgICBteSAkU3VydmV5T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpOwogICAgbXkgJFBhcmFtT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgIyBnZXQgcGFyYW1zCiAgICBteSAlR2V0UGFyYW07CiAgICBmb3IgbXkgJEtleSAocXcoU3VydmV5SUQgUXVlc3Rpb25JRCBBbnN3ZXJJRCkpIHsKICAgICAgICAkR2V0UGFyYW17JEtleX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkS2V5ICk7CiAgICB9CgogICAgbXkgJFN1cnZleUV4aXN0cyA9ICdubyc7CiAgICBpZiAoICRHZXRQYXJhbXtTdXJ2ZXlJRH0gKSB7CiAgICAgICAgJFN1cnZleUV4aXN0cyA9ICRTdXJ2ZXlPYmplY3QtPkVsZW1lbnRFeGlzdHMoCiAgICAgICAgICAgIEVsZW1lbnRJRCA9PiAkR2V0UGFyYW17U3VydmV5SUR9LAogICAgICAgICAgICBFbGVtZW50ICAgPT4gJ1N1cnZleScKICAgICAgICApOwogICAgfQoKICAgIG15ICRRdWVzdGlvbkV4aXN0cyA9ICdubyc7CiAgICBpZiAoICRHZXRQYXJhbXtRdWVzdGlvbklEfSApIHsKICAgICAgICAkUXVlc3Rpb25FeGlzdHMgPSAkU3VydmV5T2JqZWN0LT5FbGVtZW50RXhpc3RzKAogICAgICAgICAgICBFbGVtZW50SUQgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICAgICBFbGVtZW50ICAgPT4gJ1F1ZXN0aW9uJwogICAgICAgICk7CiAgICB9CgogICAgbXkgJEFuc3dlckV4aXN0cyA9ICdubyc7CiAgICBpZiAoICRHZXRQYXJhbXtBbnN3ZXJJRH0gKSB7CiAgICAgICAgJEFuc3dlckV4aXN0cyA9ICRTdXJ2ZXlPYmplY3QtPkVsZW1lbnRFeGlzdHMoCiAgICAgICAgICAgIEVsZW1lbnRJRCA9PiAkR2V0UGFyYW17QW5zd2VySUR9LAogICAgICAgICAgICBFbGVtZW50ICAgPT4gJ0Fuc3dlcicKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgcXVlc3Rpb24gYWRkCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnUXVlc3Rpb25BZGQnICkgewoKICAgICAgICBteSAkUXVlc3Rpb24gICAgICAgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAiUXVlc3Rpb24iICk7CiAgICAgICAgbXkgJFR5cGUgICAgICAgICAgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gIlR5cGUiICk7CiAgICAgICAgbXkgJEFuc3dlclJlcXVpcmVkID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0Fuc3dlclJlcXVpcmVkJyApOwoKICAgICAgICBpZiAoICRBbnN3ZXJSZXF1aXJlZCAmJiAkQW5zd2VyUmVxdWlyZWQgZXEgJ05vJyApIHsKICAgICAgICAgICAgJEFuc3dlclJlcXVpcmVkID0gMDsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRBbnN3ZXJSZXF1aXJlZCA9IDE7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIGlmIHN1cnZleSBleGlzdHMKICAgICAgICBpZiAoICRTdXJ2ZXlFeGlzdHMgbmUgJ1llcycgKSB7CgogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+Tm9QZXJtaXNzaW9uKAogICAgICAgICAgICAgICAgTWVzc2FnZSAgICA9PiBUcmFuc2xhdGFibGUoJ1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IScpLAogICAgICAgICAgICAgICAgV2l0aEhlYWRlciA9PiAneWVzJywKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIG15ICVTZXJ2ZXJFcnJvcjsKICAgICAgICBpZiAoJFF1ZXN0aW9uKSB7CiAgICAgICAgICAgICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uQWRkKAogICAgICAgICAgICAgICAgU3VydmV5SUQgICAgICAgPT4gJEdldFBhcmFte1N1cnZleUlEfSwKICAgICAgICAgICAgICAgIFF1ZXN0aW9uICAgICAgID0+ICRRdWVzdGlvbiwKICAgICAgICAgICAgICAgIFR5cGUgICAgICAgICAgID0+ICRUeXBlLAogICAgICAgICAgICAgICAgQW5zd2VyUmVxdWlyZWQgPT4gJEFuc3dlclJlcXVpcmVkLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgICAgICAkU3VydmV5T2JqZWN0LT5RdWVzdGlvblNvcnQoCiAgICAgICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkR2V0UGFyYW17U3VydmV5SUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFNlcnZlckVycm9ye1F1ZXN0aW9ufSA9IDE7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJFNlbGYtPl9NYXNrUXVlc3Rpb25PdmVydmlldygKICAgICAgICAgICAgU3VydmV5SUQgICAgPT4gJEdldFBhcmFte1N1cnZleUlEfSwKICAgICAgICAgICAgU2VydmVyRXJyb3IgPT4gXCVTZXJ2ZXJFcnJvciwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgcXVlc3Rpb24gZGVsZXRlCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnUXVlc3Rpb25EZWxldGUnICkgewoKICAgICAgICAjIGNoZWNrIGlmIHN1cnZleSBhbmQgcXVlc3Rpb24gZXhpc3RzCiAgICAgICAgaWYgKCAkU3VydmV5RXhpc3RzIG5lICdZZXMnIHx8ICRRdWVzdGlvbkV4aXN0cyBuZSAnWWVzJyApIHsKCiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5Ob1Blcm1pc3Npb24oCiAgICAgICAgICAgICAgICBNZXNzYWdlICAgID0+IFRyYW5zbGF0YWJsZSgnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJyksCiAgICAgICAgICAgICAgICBXaXRoSGVhZGVyID0+ICd5ZXMnLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkRlbGV0ZSgKICAgICAgICAgICAgU3VydmV5SUQgICA9PiAkR2V0UGFyYW17U3VydmV5SUR9LAogICAgICAgICAgICBRdWVzdGlvbklEID0+ICRHZXRQYXJhbXtRdWVzdGlvbklEfSwKICAgICAgICApOwogICAgICAgICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uU29ydCgKICAgICAgICAgICAgU3VydmV5SUQgPT4gJEdldFBhcmFte1N1cnZleUlEfSwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoCiAgICAgICAgICAgIE9QID0+ICJBY3Rpb249JFNlbGYtPntBY3Rpb259O1N1YmFjdGlvbj1TdXJ2ZXlFZGl0O1N1cnZleUlEPSRHZXRQYXJhbXtTdXJ2ZXlJRH0jUXVlc3Rpb24iLAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBxdWVzdGlvbiB1cAogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ1F1ZXN0aW9uVXAnICkgewoKICAgICAgICAjIGNoZWNrIGlmIHN1cnZleSBhbmQgcXVlc3Rpb24gZXhpc3RzCiAgICAgICAgaWYgKCAkU3VydmV5RXhpc3RzIG5lICdZZXMnIHx8ICRRdWVzdGlvbkV4aXN0cyBuZSAnWWVzJyApIHsKCiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5Ob1Blcm1pc3Npb24oCiAgICAgICAgICAgICAgICBNZXNzYWdlICAgID0+IFRyYW5zbGF0YWJsZSgnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJyksCiAgICAgICAgICAgICAgICBXaXRoSGVhZGVyID0+ICd5ZXMnLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICAkU3VydmV5T2JqZWN0LT5RdWVzdGlvblNvcnQoCiAgICAgICAgICAgIFN1cnZleUlEID0+ICRHZXRQYXJhbXtTdXJ2ZXlJRH0sCiAgICAgICAgKTsKICAgICAgICAkU3VydmV5T2JqZWN0LT5RdWVzdGlvblVwKAogICAgICAgICAgICBTdXJ2ZXlJRCAgID0+ICRHZXRQYXJhbXtTdXJ2ZXlJRH0sCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICk7CgogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCgKICAgICAgICAgICAgT1AgPT4gIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn07U3ViYWN0aW9uPVN1cnZleUVkaXQ7U3VydmV5SUQ9JEdldFBhcmFte1N1cnZleUlEfSNRdWVzdGlvbiIsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHF1ZXN0aW9uIGRvd24KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdRdWVzdGlvbkRvd24nICkgewoKICAgICAgICAjIGNoZWNrIGlmIHN1cnZleSBhbmQgcXVlc3Rpb24gZXhpc3RzCiAgICAgICAgaWYgKCAkU3VydmV5RXhpc3RzIG5lICdZZXMnIHx8ICRRdWVzdGlvbkV4aXN0cyBuZSAnWWVzJyApIHsKCiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5Ob1Blcm1pc3Npb24oCiAgICAgICAgICAgICAgICBNZXNzYWdlICAgID0+IFRyYW5zbGF0YWJsZSgnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkgb3IgcXVlc3Rpb24hJyksCiAgICAgICAgICAgICAgICBXaXRoSGVhZGVyID0+ICd5ZXMnLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICAkU3VydmV5T2JqZWN0LT5RdWVzdGlvblNvcnQoCiAgICAgICAgICAgIFN1cnZleUlEID0+ICRHZXRQYXJhbXtTdXJ2ZXlJRH0sCiAgICAgICAgKTsKICAgICAgICAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkRvd24oCiAgICAgICAgICAgIFN1cnZleUlEICAgPT4gJEdldFBhcmFte1N1cnZleUlEfSwKICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkR2V0UGFyYW17UXVlc3Rpb25JRH0sCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPlJlZGlyZWN0KAogICAgICAgICAgICBPUCA9PiAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufTtTdWJhY3Rpb249U3VydmV5RWRpdDtTdXJ2ZXlJRD0kR2V0UGFyYW17U3VydmV5SUR9I1F1ZXN0aW9uIiwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgcXVlc3Rpb24gZWRpdAogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ1F1ZXN0aW9uRWRpdCcgKSB7CgogICAgICAgICMgY2hlY2sgaWYgc3VydmV5IGFuZCBxdWVzdGlvbiBleGlzdHMKICAgICAgICBpZiAoICRTdXJ2ZXlFeGlzdHMgbmUgJ1llcycgfHwgJFF1ZXN0aW9uRXhpc3RzIG5lICdZZXMnICkgewoKICAgICAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPk5vUGVybWlzc2lvbigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgICAgPT4gVHJhbnNsYXRhYmxlKCdZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSBvciBxdWVzdGlvbiEnKSwKICAgICAgICAgICAgICAgIFdpdGhIZWFkZXIgPT4gJ3llcycsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJFNlbGYtPl9NYXNrUXVlc3Rpb25FZGl0KAogICAgICAgICAgICBTdXJ2ZXlJRCAgID0+ICRHZXRQYXJhbXtTdXJ2ZXlJRH0sCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBxdWVzdGlvbiBzYXZlCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnUXVlc3Rpb25TYXZlJyApIHsKCiAgICAgICAgbXkgJFF1ZXN0aW9uICAgICAgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1F1ZXN0aW9uJyApOwogICAgICAgIG15ICRBbnN3ZXJSZXF1aXJlZCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdBbnN3ZXJSZXF1aXJlZCcgKTsKCiAgICAgICAgaWYgKCAkQW5zd2VyUmVxdWlyZWQgJiYgJEFuc3dlclJlcXVpcmVkIGVxICdObycgKSB7CiAgICAgICAgICAgICRBbnN3ZXJSZXF1aXJlZCA9IDA7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkQW5zd2VyUmVxdWlyZWQgPSAxOwogICAgICAgIH0KCiAgICAgICAgIyBjaGVjayBpZiBzdXJ2ZXkgYW5kIHF1ZXN0aW9uIGV4aXN0cwogICAgICAgIGlmICggJFN1cnZleUV4aXN0cyBuZSAnWWVzJyB8fCAkUXVlc3Rpb25FeGlzdHMgbmUgJ1llcycgKSB7CgogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+Tm9QZXJtaXNzaW9uKAogICAgICAgICAgICAgICAgTWVzc2FnZSAgICA9PiBUcmFuc2xhdGFibGUoJ1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uIScpLAogICAgICAgICAgICAgICAgV2l0aEhlYWRlciA9PiAneWVzJywKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIG15ICVTZXJ2ZXJFcnJvcjsKICAgICAgICBpZiAoJFF1ZXN0aW9uKSB7CiAgICAgICAgICAgICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uVXBkYXRlKAogICAgICAgICAgICAgICAgUXVlc3Rpb25JRCAgICAgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICAgICAgICAgU3VydmV5SUQgICAgICAgPT4gJEdldFBhcmFte1N1cnZleUlEfSwKICAgICAgICAgICAgICAgIFF1ZXN0aW9uICAgICAgID0+ICRRdWVzdGlvbiwKICAgICAgICAgICAgICAgIEFuc3dlclJlcXVpcmVkID0+ICRBbnN3ZXJSZXF1aXJlZCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+X01hc2tRdWVzdGlvbkVkaXQoCiAgICAgICAgICAgICAgICBTdXJ2ZXlJRCAgID0+ICRHZXRQYXJhbXtTdXJ2ZXlJRH0sCiAgICAgICAgICAgICAgICBRdWVzdGlvbklEID0+ICRHZXRQYXJhbXtRdWVzdGlvbklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRTZXJ2ZXJFcnJvcntRdWVzdGlvblNlcnZlckVycm9yfSA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJFNlbGYtPl9NYXNrUXVlc3Rpb25FZGl0KAogICAgICAgICAgICBTdXJ2ZXlJRCAgICA9PiAkR2V0UGFyYW17U3VydmV5SUR9LAogICAgICAgICAgICBRdWVzdGlvbklEICA9PiAkR2V0UGFyYW17UXVlc3Rpb25JRH0sCiAgICAgICAgICAgIFNlcnZlckVycm9yID0+IFwlU2VydmVyRXJyb3IsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGFuc3dlciBhZGQKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdBbnN3ZXJBZGQnICkgewoKICAgICAgICBteSAkQW5zd2VyID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gIkFuc3dlciIgKTsKCiAgICAgICAgIyBjaGVjayBpZiBzdXJ2ZXkgYW5kIHF1ZXN0aW9uIGV4aXN0cwogICAgICAgIGlmICggJFN1cnZleUV4aXN0cyBuZSAnWWVzJyB8fCAkUXVlc3Rpb25FeGlzdHMgbmUgJ1llcycgKSB7CgogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+Tm9QZXJtaXNzaW9uKAogICAgICAgICAgICAgICAgTWVzc2FnZSAgICA9PiBUcmFuc2xhdGFibGUoJ1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHF1ZXN0aW9uIScpLAogICAgICAgICAgICAgICAgV2l0aEhlYWRlciA9PiAneWVzJywKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIG15ICVTZXJ2ZXJFcnJvcjsKICAgICAgICBpZiAoICRBbnN3ZXIgfHwgJEFuc3dlciBlcSAnMCcgKSB7CiAgICAgICAgICAgICRTdXJ2ZXlPYmplY3QtPkFuc3dlckFkZCgKICAgICAgICAgICAgICAgIFN1cnZleUlEICAgPT4gJEdldFBhcmFte1N1cnZleUlEfSwKICAgICAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICAgICAgICAgQW5zd2VyICAgICA9PiAkQW5zd2VyLAogICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm4gJFNlbGYtPl9NYXNrUXVlc3Rpb25FZGl0KAogICAgICAgICAgICAgICAgU3VydmV5SUQgICA9PiAkR2V0UGFyYW17U3VydmV5SUR9LAogICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkR2V0UGFyYW17UXVlc3Rpb25JRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkU2VydmVyRXJyb3J7QW5zd2VyU2VydmVyRXJyb3J9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkU2VsZi0+X01hc2tRdWVzdGlvbkVkaXQoCiAgICAgICAgICAgIFN1cnZleUlEICAgID0+ICRHZXRQYXJhbXtTdXJ2ZXlJRH0sCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgID0+ICRHZXRQYXJhbXtRdWVzdGlvbklEfSwKICAgICAgICAgICAgU2VydmVyRXJyb3IgPT4gXCVTZXJ2ZXJFcnJvciwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgYW5zd2VyIGRlbGV0ZQogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0Fuc3dlckRlbGV0ZScgKSB7CgogICAgICAgICMgY2hlY2sgaWYgc3VydmV5LCBxdWVzdGlvbiBhbmQgYW5zd2VyIGV4aXN0cwogICAgICAgIGlmICggJFN1cnZleUV4aXN0cyBuZSAnWWVzJyB8fCAkUXVlc3Rpb25FeGlzdHMgbmUgJ1llcycgfHwgJEFuc3dlckV4aXN0cyBuZSAnWWVzJyApIHsKCiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5Ob1Blcm1pc3Npb24oCiAgICAgICAgICAgICAgICBNZXNzYWdlICAgID0+IFRyYW5zbGF0YWJsZSgnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnKSwKICAgICAgICAgICAgICAgIFdpdGhIZWFkZXIgPT4gJ3llcycsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgICRTdXJ2ZXlPYmplY3QtPkFuc3dlckRlbGV0ZSgKICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkR2V0UGFyYW17UXVlc3Rpb25JRH0sCiAgICAgICAgICAgIEFuc3dlcklEICAgPT4gJEdldFBhcmFte0Fuc3dlcklEfSwKICAgICAgICApOwogICAgICAgICRTdXJ2ZXlPYmplY3QtPkFuc3dlclNvcnQoCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICk7CgogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCgKICAgICAgICAgICAgT1AgPT4KICAgICAgICAgICAgICAgICJBY3Rpb249JFNlbGYtPntBY3Rpb259O1N1YmFjdGlvbj1RdWVzdGlvbkVkaXQ7U3VydmV5SUQ9JEdldFBhcmFte1N1cnZleUlEfTtRdWVzdGlvbklEPSRHZXRQYXJhbXtRdWVzdGlvbklEfSNBbnN3ZXIiLAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBhbnN3ZXIgdXAKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdBbnN3ZXJVcCcgKSB7CgogICAgICAgICMgY2hlY2sgaWYgc3VydmV5LCBxdWVzdGlvbiBhbmQgYW5zd2VyIGV4aXN0cwogICAgICAgIGlmICggJFN1cnZleUV4aXN0cyBuZSAnWWVzJyB8fCAkUXVlc3Rpb25FeGlzdHMgbmUgJ1llcycgfHwgJEFuc3dlckV4aXN0cyBuZSAnWWVzJyApIHsKCiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5Ob1Blcm1pc3Npb24oCiAgICAgICAgICAgICAgICBNZXNzYWdlICAgID0+IFRyYW5zbGF0YWJsZSgnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnKSwKICAgICAgICAgICAgICAgIFdpdGhIZWFkZXIgPT4gJ3llcycsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgICRTdXJ2ZXlPYmplY3QtPkFuc3dlclNvcnQoCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICk7CiAgICAgICAgJFN1cnZleU9iamVjdC0+QW5zd2VyVXAoCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICAgICBBbnN3ZXJJRCAgID0+ICRHZXRQYXJhbXtBbnN3ZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPlJlZGlyZWN0KAogICAgICAgICAgICBPUCA9PgogICAgICAgICAgICAgICAgIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn07U3ViYWN0aW9uPVF1ZXN0aW9uRWRpdDtTdXJ2ZXlJRD0kR2V0UGFyYW17U3VydmV5SUR9O1F1ZXN0aW9uSUQ9JEdldFBhcmFte1F1ZXN0aW9uSUR9I0Fuc3dlciIsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGFuc3dlciBkb3duCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnQW5zd2VyRG93bicgKSB7CgogICAgICAgICMgY2hlY2sgaWYgc3VydmV5LCBxdWVzdGlvbiBhbmQgYW5zd2VyIGV4aXN0cwogICAgICAgIGlmICggJFN1cnZleUV4aXN0cyBuZSAnWWVzJyB8fCAkUXVlc3Rpb25FeGlzdHMgbmUgJ1llcycgfHwgJEFuc3dlckV4aXN0cyBuZSAnWWVzJyApIHsKCiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5Ob1Blcm1pc3Npb24oCiAgICAgICAgICAgICAgICBNZXNzYWdlICAgID0+IFRyYW5zbGF0YWJsZSgnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXksIHF1ZXN0aW9uIG9yIGFuc3dlciEnKSwKICAgICAgICAgICAgICAgIFdpdGhIZWFkZXIgPT4gJ3llcycsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgICRTdXJ2ZXlPYmplY3QtPkFuc3dlclNvcnQoCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICk7CiAgICAgICAgJFN1cnZleU9iamVjdC0+QW5zd2VyRG93bigKICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkR2V0UGFyYW17UXVlc3Rpb25JRH0sCiAgICAgICAgICAgIEFuc3dlcklEICAgPT4gJEdldFBhcmFte0Fuc3dlcklEfSwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoCiAgICAgICAgICAgIE9QID0+CiAgICAgICAgICAgICAgICAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufTtTdWJhY3Rpb249UXVlc3Rpb25FZGl0O1N1cnZleUlEPSRHZXRQYXJhbXtTdXJ2ZXlJRH07UXVlc3Rpb25JRD0kR2V0UGFyYW17UXVlc3Rpb25JRH0jQW5zd2VyIiwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgYW5zd2VyIGVkaXQKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdBbnN3ZXJFZGl0JyApIHsKCiAgICAgICAgIyBjaGVjayBpZiBzdXJ2ZXksIHF1ZXN0aW9uIGFuZCBhbnN3ZXIgZXhpc3RzCiAgICAgICAgaWYgKCAkU3VydmV5RXhpc3RzIG5lICdZZXMnIHx8ICRRdWVzdGlvbkV4aXN0cyBuZSAnWWVzJyB8fCAkQW5zd2VyRXhpc3RzIG5lICdZZXMnICkgewoKICAgICAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPk5vUGVybWlzc2lvbigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgICAgPT4gVHJhbnNsYXRhYmxlKCdZb3UgaGF2ZSBubyBwZXJtaXNzaW9uIGZvciB0aGlzIHN1cnZleSwgcXVlc3Rpb24gb3IgYW5zd2VyIScpLAogICAgICAgICAgICAgICAgV2l0aEhlYWRlciA9PiAneWVzJywKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkU2VsZi0+X01hc2tBbnN3ZXJFZGl0KAogICAgICAgICAgICBTdXJ2ZXlJRCAgID0+ICRHZXRQYXJhbXtTdXJ2ZXlJRH0sCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICAgICBBbnN3ZXJJRCAgID0+ICRHZXRQYXJhbXtBbnN3ZXJJRH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGFuc3dlciBzYXZlCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnQW5zd2VyU2F2ZScgKSB7CgogICAgICAgIG15ICRBbnN3ZXIgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAiQW5zd2VyIiApOwoKICAgICAgICAjIGNoZWNrIGlmIHN1cnZleSwgcXVlc3Rpb24gYW5kIGFuc3dlciBleGlzdHMKICAgICAgICBpZiAoICRTdXJ2ZXlFeGlzdHMgbmUgJ1llcycgfHwgJFF1ZXN0aW9uRXhpc3RzIG5lICdZZXMnIHx8ICRBbnN3ZXJFeGlzdHMgbmUgJ1llcycgKSB7CgogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+Tm9QZXJtaXNzaW9uKAogICAgICAgICAgICAgICAgTWVzc2FnZSAgICA9PiBUcmFuc2xhdGFibGUoJ1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5LCBxdWVzdGlvbiBvciBhbnN3ZXIhJyksCiAgICAgICAgICAgICAgICBXaXRoSGVhZGVyID0+ICd5ZXMnLAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgbXkgJVNlcnZlckVycm9yOwogICAgICAgIGlmICggJEFuc3dlciB8fCAkQW5zd2VyIGVxICcwJyApIHsKICAgICAgICAgICAgJFN1cnZleU9iamVjdC0+QW5zd2VyVXBkYXRlKAogICAgICAgICAgICAgICAgQW5zd2VySUQgICA9PiAkR2V0UGFyYW17QW5zd2VySUR9LAogICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkR2V0UGFyYW17UXVlc3Rpb25JRH0sCiAgICAgICAgICAgICAgICBBbnN3ZXIgICAgID0+ICRBbnN3ZXIsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCgKICAgICAgICAgICAgICAgIE9QID0+CiAgICAgICAgICAgICAgICAgICAgIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn07U3ViYWN0aW9uPVF1ZXN0aW9uRWRpdDtTdXJ2ZXlJRD0kR2V0UGFyYW17U3VydmV5SUR9O1F1ZXN0aW9uSUQ9JEdldFBhcmFte1F1ZXN0aW9uSUR9I0Fuc3dlciIKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRTZXJ2ZXJFcnJvcntBbnN3ZXJTZXJ2ZXJFcnJvcn0gPSAnU2V2ZXJFcnJvcic7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJFNlbGYtPl9NYXNrQW5zd2VyRWRpdCgKICAgICAgICAgICAgU3VydmV5SUQgICAgPT4gJEdldFBhcmFte1N1cnZleUlEfSwKICAgICAgICAgICAgUXVlc3Rpb25JRCAgPT4gJEdldFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICAgICBBbnN3ZXJJRCAgICA9PiAkR2V0UGFyYW17QW5zd2VySUR9LAogICAgICAgICAgICBTZXJ2ZXJFcnJvciA9PiBcJVNlcnZlckVycm9yLAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBxdWVzdGlvbiBvdmVydmlldwogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgaWYgKCAhJEdldFBhcmFte1N1cnZleUlEfSApIHsKCiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTm8gU3VydmV5SUQgaXMgZ2l2ZW4hJyksCiAgICAgICAgICAgIENvbW1lbnQgPT4gVHJhbnNsYXRhYmxlKCdQbGVhc2UgY29udGFjdCB0aGUgYWRtaW5pc3RyYXRvci4nKSwKICAgICAgICApOwogICAgfQoKICAgICMgY2hlY2sgaWYgc3VydmV5IGV4aXN0cwogICAgaWYgKCAkU3VydmV5RXhpc3RzIG5lICdZZXMnICkgewoKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+Tm9QZXJtaXNzaW9uKAogICAgICAgICAgICBNZXNzYWdlICAgID0+IFRyYW5zbGF0YWJsZSgnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJyksCiAgICAgICAgICAgIFdpdGhIZWFkZXIgPT4gJ3llcycsCiAgICAgICAgKTsKICAgIH0KCiAgICByZXR1cm4gJFNlbGYtPl9NYXNrUXVlc3Rpb25PdmVydmlldygKICAgICAgICBTdXJ2ZXlJRCA9PiAkR2V0UGFyYW17U3VydmV5SUR9LAogICAgKTsKfQoKc3ViIF9NYXNrUXVlc3Rpb25PdmVydmlldyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVTZXJ2ZXJFcnJvcjsKICAgIGlmICggJFBhcmFte1NlcnZlckVycm9yfSApIHsKICAgICAgICAlU2VydmVyRXJyb3IgPSAleyAkUGFyYW17U2VydmVyRXJyb3J9IH07CiAgICB9CgogICAgbXkgJE91dHB1dDsKCiAgICAjIGdldCBsYXlvdXQgb2JqZWN0CiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgIGlmICggISRQYXJhbXtTdXJ2ZXlJRH0gKSB7CgogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05vIFN1cnZleUlEIGlzIGdpdmVuIScpLAogICAgICAgICAgICBDb21tZW50ID0+IFRyYW5zbGF0YWJsZSgnUGxlYXNlIGNvbnRhY3QgdGhlIGFkbWluaXN0cmF0b3IuJyksCiAgICAgICAgKTsKICAgIH0KCiAgICAjIG91dHB1dCBoZWFkZXIKICAgICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5IZWFkZXIoCiAgICAgICAgVGl0bGUgICAgID0+IFRyYW5zbGF0YWJsZSgnU3VydmV5IEVkaXQgUXVlc3Rpb25zJyksCiAgICAgICAgVHlwZSAgICAgID0+ICdTbWFsbCcsCiAgICAgICAgQm9keUNsYXNzID0+ICdQb3B1cCcsCiAgICApOwoKICAgICMgZ2V0IHN1cnZleSBvYmplY3QKICAgIG15ICRTdXJ2ZXlPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3VydmV5Jyk7CgogICAgIyBnZXQgYWxsIGF0dHJpYnV0ZXMgb2YgdGhlIHN1cnZleQogICAgbXkgJVN1cnZleSA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUdldCgKICAgICAgICBTdXJ2ZXlJRCA9PiAkUGFyYW17U3VydmV5SUR9LAogICAgKTsKCiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdTdXJ2ZXlFZGl0UXVlc3Rpb25zJywKICAgICAgICBEYXRhID0+IFwlU3VydmV5LAogICAgKTsKCiAgICBteSBATGlzdCA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uTGlzdCgKICAgICAgICBTdXJ2ZXlJRCA9PiAkUGFyYW17U3VydmV5SUR9LAogICAgKTsKCiAgICBpZiAoICRTdXJ2ZXl7U3RhdHVzfSAmJiAkU3VydmV5e1N0YXR1c30gZXEgJ05ldycgKSB7CgogICAgICAgIG15ICRBcnJheUhhc2hSZWYgPSBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEtleSAgICAgID0+ICdZZXNObycsCiAgICAgICAgICAgICAgICBWYWx1ZSAgICA9PiBUcmFuc2xhdGFibGUoJ1llcy9ObycpLAogICAgICAgICAgICAgICAgU2VsZWN0ZWQgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgS2V5ICAgPT4gJ1JhZGlvJywKICAgICAgICAgICAgICAgIFZhbHVlID0+IFRyYW5zbGF0YWJsZSgnUmFkaW8gKExpc3QpJyksCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEtleSAgID0+ICdDaGVja2JveCcsCiAgICAgICAgICAgICAgICBWYWx1ZSA9PiBUcmFuc2xhdGFibGUoJ0NoZWNrYm94IChMaXN0KScpLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBLZXkgICA9PiAnVGV4dGFyZWEnLAogICAgICAgICAgICAgICAgVmFsdWUgPT4gVHJhbnNsYXRhYmxlKCdUZXh0YXJlYScpLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBLZXkgICA9PiAnTlBTJywKICAgICAgICAgICAgICAgIFZhbHVlID0+IFRyYW5zbGF0YWJsZSgnTmV0IFByb21vdGVyIFNjb3JlJyksCiAgICAgICAgICAgIH0sCiAgICAgICAgXTsKCiAgICAgICAgbXkgJFNlbGVjdGlvblR5cGUgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgICA9PiAkQXJyYXlIYXNoUmVmLAogICAgICAgICAgICBOYW1lICAgICAgICAgID0+ICdUeXBlJywKICAgICAgICAgICAgSUQgICAgICAgICAgICA9PiAnVHlwZScsCiAgICAgICAgICAgIFNlbGVjdGVkVmFsdWUgPT4gJ1llcy9ObycsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICAgPT4gMSwKICAgICAgICAgICAgVGl0bGUgICAgICAgICA9PiAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJ1F1ZXN0aW9uIFR5cGUnKSwKICAgICAgICAgICAgQ2xhc3MgICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICAgICApOwoKICAgICAgICAkQXJyYXlIYXNoUmVmID0gWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBLZXkgICAgICA9PiAnWWVzJywKICAgICAgICAgICAgICAgIFZhbHVlICAgID0+IFRyYW5zbGF0YWJsZSgnWWVzJyksCiAgICAgICAgICAgICAgICBTZWxlY3RlZCA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBLZXkgICA9PiAnTm8nLAogICAgICAgICAgICAgICAgVmFsdWUgPT4gVHJhbnNsYXRhYmxlKCdObycpLAogICAgICAgICAgICB9CiAgICAgICAgXTsKCiAgICAgICAgbXkgJEFuc3dlclJlcXVpcmVkU2VsZWN0ID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgICAgPT4gJEFycmF5SGFzaFJlZiwKICAgICAgICAgICAgTmFtZSAgICAgICAgICA9PiAnQW5zd2VyUmVxdWlyZWQnLAogICAgICAgICAgICBJRCAgICAgICAgICAgID0+ICdBbnN3ZXJSZXF1aXJlZCcsCiAgICAgICAgICAgIFNlbGVjdGVkVmFsdWUgPT4gJ1llcycsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICAgPT4gMSwKICAgICAgICAgICAgQ2xhc3MgICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICAgICApOwoKICAgICAgICBteSAkUXVlc3Rpb25FcnJvckNsYXNzID0gJyc7CiAgICAgICAgaWYgKCAkU2VydmVyRXJyb3J7UXVlc3Rpb259ICkgewogICAgICAgICAgICAkUXVlc3Rpb25FcnJvckNsYXNzID0gJ1NlcnZlckVycm9yJzsKICAgICAgICB9CgogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdTdXJ2ZXlBZGRRdWVzdGlvbicsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgU3VydmV5SUQgICAgICAgICAgICAgPT4gJFBhcmFte1N1cnZleUlEfSwKICAgICAgICAgICAgICAgIFNlbGVjdGlvblR5cGUgICAgICAgID0+ICRTZWxlY3Rpb25UeXBlLAogICAgICAgICAgICAgICAgQW5zd2VyUmVxdWlyZWRTZWxlY3QgPT4gJEFuc3dlclJlcXVpcmVkU2VsZWN0LAogICAgICAgICAgICAgICAgUXVlc3Rpb25FcnJvckNsYXNzICAgPT4gJFF1ZXN0aW9uRXJyb3JDbGFzcywKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICBpZiAoIHNjYWxhciBATGlzdCApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdTdXJ2ZXlRdWVzdGlvbnNUYWJsZScsCiAgICAgICAgICAgICAgICBEYXRhID0+IHt9LAogICAgICAgICAgICApOwogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1N1cnZleVN0YXR1c0NvbHVtbicsCiAgICAgICAgICAgICAgICBEYXRhID0+IHt9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdTdXJ2ZXlEZWxldGVDb2x1bW4nLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7fSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG15ICRDb3VudGVyID0gMDsKCiAgICAgICAgICAgIGZvciBteSAkUXVlc3Rpb24gKEBMaXN0KSB7CiAgICAgICAgICAgICAgICBteSAkQW5zd2VyQ291bnQgPSAkU3VydmV5T2JqZWN0LT5BbnN3ZXJDb3VudCgKICAgICAgICAgICAgICAgICAgICBRdWVzdGlvbklEID0+ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBteSAkQ2xhc3M7CiAgICAgICAgICAgICAgICBteSAkQ2xhc3NVcDsKICAgICAgICAgICAgICAgIG15ICRDbGFzc0Rvd247CgogICAgICAgICAgICAgICAgaWYgKCAhJENvdW50ZXIgKSB7CiAgICAgICAgICAgICAgICAgICAgJENsYXNzVXAgPSAnRGlzYWJsZWQnOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggJENvdW50ZXIgPT0gJCNMaXN0ICkgewogICAgICAgICAgICAgICAgICAgICRDbGFzc0Rvd24gPSAnRGlzYWJsZWQnOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIG15ICRTdGF0dXMgPSBUcmFuc2xhdGFibGUoJ0NvbXBsZXRlJyk7CgogICAgICAgICAgICAgICAgaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnUmFkaW8nICkgewogICAgICAgICAgICAgICAgICAgIGlmICggJEFuc3dlckNvdW50IDwgMiApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJENsYXNzICA9ICdXYXJuaW5nJzsKICAgICAgICAgICAgICAgICAgICAgICAgJFN0YXR1cyA9IFRyYW5zbGF0YWJsZSgnSW5jb21wbGV0ZScpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2lmICggJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ0NoZWNrYm94JyApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoICRBbnN3ZXJDb3VudCA8IDEgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRDbGFzcyAgPSAnV2FybmluZyc7CiAgICAgICAgICAgICAgICAgICAgICAgICRTdGF0dXMgPSBUcmFuc2xhdGFibGUoJ0luY29tcGxldGUnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNpZiAoICRRdWVzdGlvbi0+e1R5cGV9IGVxICdOUFMnICkgewogICAgICAgICAgICAgICAgICAgIGlmICggJEFuc3dlckNvdW50IDwgMiApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJENsYXNzICA9ICdXYXJuaW5nJzsKICAgICAgICAgICAgICAgICAgICAgICAgJFN0YXR1cyA9IFRyYW5zbGF0YWJsZSgnSW5jb21wbGV0ZScpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBteSAkQW5zd2VyUmVxdWlyZWQgPSAkUXVlc3Rpb24tPntBbnN3ZXJSZXF1aXJlZH0gPyAnWWVzJyA6ICdObyc7CgogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnU3VydmV5UXVlc3Rpb25zUm93JywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgJXskUXVlc3Rpb259LAogICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXMgICAgICAgICA9PiAkU3RhdHVzLAogICAgICAgICAgICAgICAgICAgICAgICBBbnN3ZXJSZXF1aXJlZCA9PiAkQW5zd2VyUmVxdWlyZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzICAgICAgICAgID0+ICRDbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3NVcCAgICAgICAgPT4gJENsYXNzVXAsCiAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzRG93biAgICAgID0+ICRDbGFzc0Rvd24sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdTdXJ2ZXlRdWVzdGlvbnNEZWxldGVCdXR0b24nLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gJFF1ZXN0aW9uLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICRDb3VudGVyKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnU3VydmV5Tm9RdWVzdGlvbnNTYXZlZCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBDb2x1bW5zID0+IDUsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnU3VydmV5UXVlc3Rpb25zVGFibGUnLAogICAgICAgICAgICBEYXRhID0+IHt9LAogICAgICAgICk7CiAgICAgICAgbXkgJENvdW50ZXI7CiAgICAgICAgZm9yIG15ICRRdWVzdGlvbiAoQExpc3QpIHsKCiAgICAgICAgICAgIG15ICRDbGFzc1VwOwogICAgICAgICAgICBteSAkQ2xhc3NEb3duOwoKICAgICAgICAgICAgaWYgKCAhJENvdW50ZXIgKSB7CiAgICAgICAgICAgICAgICAkQ2xhc3NVcCA9ICdEaXNhYmxlZCc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggJENvdW50ZXIgJiYgJENvdW50ZXIgPT0gJCNMaXN0ICkgewogICAgICAgICAgICAgICAgJENsYXNzRG93biA9ICdEaXNhYmxlZCc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIG15ICRBbnN3ZXJSZXF1aXJlZCA9ICRRdWVzdGlvbi0+e0Fuc3dlclJlcXVpcmVkfSA/ICdZZXMnIDogJ05vJzsKCiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnU3VydmV5UXVlc3Rpb25zU2F2ZWQnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgJXskUXVlc3Rpb259LAogICAgICAgICAgICAgICAgICAgIEFuc3dlclJlcXVpcmVkID0+ICRBbnN3ZXJSZXF1aXJlZCwKICAgICAgICAgICAgICAgICAgICBDbGFzc1VwICAgICAgICA9PiAkQ2xhc3NVcCwKICAgICAgICAgICAgICAgICAgICBDbGFzc0Rvd24gICAgICA9PiAkQ2xhc3NEb3duLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRDb3VudGVyKys7CiAgICAgICAgfQogICAgfQoKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zJywKICAgICAgICBEYXRhICAgICAgICAgPT4gewogICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkUGFyYW17U3VydmV5SUR9LAogICAgICAgIH0sCiAgICApOwoKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Rm9vdGVyKCBUeXBlID0+ICdTbWFsbCcgKTsKCiAgICByZXR1cm4gJE91dHB1dDsKfQoKc3ViIF9NYXNrUXVlc3Rpb25FZGl0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJVNlcnZlckVycm9yOwogICAgaWYgKCAkUGFyYW17U2VydmVyRXJyb3J9ICkgewogICAgICAgICVTZXJ2ZXJFcnJvciA9ICV7ICRQYXJhbXtTZXJ2ZXJFcnJvcn0gfTsKICAgIH0KCiAgICBteSAkT3V0cHV0OwoKICAgICMgZ2V0IGxheW91dCBvYmplY3QKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgIyBvdXRwdXQgaGVhZGVyCiAgICAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKAogICAgICAgIFRpdGxlICAgICA9PiBUcmFuc2xhdGFibGUoJ1F1ZXN0aW9uIEVkaXQnKSwKICAgICAgICBUeXBlICAgICAgPT4gJ1NtYWxsJywKICAgICAgICBCb2R5Q2xhc3MgPT4gJ1BvcHVwJywKICAgICk7CgogICAgIyBnZXQgc3VydmV5IG9iamVjdAogICAgbXkgJFN1cnZleU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKCiAgICBteSAlU3VydmV5ID0gJFN1cnZleU9iamVjdC0+U3VydmV5R2V0KAogICAgICAgIFN1cnZleUlEID0+ICRQYXJhbXtTdXJ2ZXlJRH0sCiAgICApOwogICAgbXkgJVF1ZXN0aW9uID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25HZXQoCiAgICAgICAgUXVlc3Rpb25JRCA9PiAkUGFyYW17UXVlc3Rpb25JRH0sCiAgICApOwoKICAgIG15ICRBcnJheUhhc2hSZWYgPSBbCiAgICAgICAgewogICAgICAgICAgICBLZXkgICA9PiAnWWVzJywKICAgICAgICAgICAgVmFsdWUgPT4gVHJhbnNsYXRhYmxlKCdZZXMnKSwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgS2V5ICAgPT4gJ05vJywKICAgICAgICAgICAgVmFsdWUgPT4gVHJhbnNsYXRhYmxlKCdObycpLAogICAgICAgIH0KICAgIF07CgogICAgaWYgKCAkUXVlc3Rpb257QW5zd2VyUmVxdWlyZWR9ICkgewogICAgICAgICRBcnJheUhhc2hSZWYtPlswXXtTZWxlY3RlZH0gPSAxOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJEFycmF5SGFzaFJlZi0+WzFde1NlbGVjdGVkfSA9IDE7CiAgICB9CgogICAgbXkgJEFuc3dlclJlcXVpcmVkU2VsZWN0ID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSAgICAgICAgICA9PiAkQXJyYXlIYXNoUmVmLAogICAgICAgIE5hbWUgICAgICAgICAgPT4gJ0Fuc3dlclJlcXVpcmVkJywKICAgICAgICBJRCAgICAgICAgICAgID0+ICdBbnN3ZXJSZXF1aXJlZCcsCiAgICAgICAgU2VsZWN0ZWRWYWx1ZSA9PiAnWWVzJywKICAgICAgICBUcmFuc2xhdGlvbiAgID0+IDEsCiAgICAgICAgQ2xhc3MgICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICk7CgogICAgIyBwcmludCB0aGUgbWFpbiBib2R5CiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdRdWVzdGlvbkVkaXQnLAogICAgICAgIERhdGEgPT4gewogICAgICAgICAgICBBbnN3ZXJSZXF1aXJlZFNlbGVjdCA9PiAkQW5zd2VyUmVxdWlyZWRTZWxlY3QsCiAgICAgICAgICAgICVRdWVzdGlvbiwKICAgICAgICAgICAgJVNlcnZlckVycm9yLAogICAgICAgIH0sCiAgICApOwoKICAgIGlmICggJFF1ZXN0aW9ue1R5cGV9IGVxICdZZXNObycgKSB7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1F1ZXN0aW9uRWRpdFRhYmxlJywKICAgICAgICAgICAgRGF0YSA9PiB7fSwKICAgICAgICApOwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdRdWVzdGlvbkVkaXRZZXNubycsCiAgICAgICAgICAgIERhdGEgPT4ge30sCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2lmICggJFF1ZXN0aW9ue1R5cGV9IGVxICdSYWRpbycgfHwgJFF1ZXN0aW9ue1R5cGV9IGVxICdDaGVja2JveCcgfHwgJFF1ZXN0aW9ue1R5cGV9IGVxICdOUFMnICkgewoKICAgICAgICBteSAkVHlwZSA9ICRRdWVzdGlvbntUeXBlfTsKICAgICAgICBteSBATGlzdCA9ICRTdXJ2ZXlPYmplY3QtPkFuc3dlckxpc3QoCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJFBhcmFte1F1ZXN0aW9uSUR9LAogICAgICAgICk7CiAgICAgICAgaWYgKCBzY2FsYXIgQExpc3QgKSB7CgogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1F1ZXN0aW9uRWRpdFRhYmxlJywKICAgICAgICAgICAgICAgIERhdGEgPT4ge30sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGlmICggJFN1cnZleXtTdGF0dXN9IGVxICdOZXcnICkgewoKICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1F1ZXN0aW9uRWRpdFRhYmxlRGVsZXRlJywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHt9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBteSAkQ291bnRlciA9IDA7CiAgICAgICAgICAgICAgICBmb3IgbXkgJEFuc3dlcjIgKEBMaXN0KSB7CiAgICAgICAgICAgICAgICAgICAgJEFuc3dlcjItPntTdXJ2ZXlJRH0gPSAkUGFyYW17U3VydmV5SUR9OwoKICAgICAgICAgICAgICAgICAgICBteSAkQ2xhc3NVcDsKICAgICAgICAgICAgICAgICAgICBteSAkQ2xhc3NEb3duOwoKICAgICAgICAgICAgICAgICAgICAjIGRpc2FibGUgdXAgYWN0aW9uIG9uIGZpcnN0IHJvdwogICAgICAgICAgICAgICAgICAgIGlmICggISRDb3VudGVyICkgewogICAgICAgICAgICAgICAgICAgICAgICAkQ2xhc3NVcCA9ICdEaXNhYmxlZCc7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAjIGRpc2FibGUgZG93biBhY3Rpb24gb24gbGFzdCByb3cKICAgICAgICAgICAgICAgICAgICBpZiAoICRDb3VudGVyID09ICQjTGlzdCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJENsYXNzRG93biA9ICdEaXNhYmxlZCc7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAiUXVlc3Rpb25FZGl0IiAuICRUeXBlLAogICAgICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICV7JEFuc3dlcjJ9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3NVcCAgID0+ICRDbGFzc1VwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3NEb3duID0+ICRDbGFzc0Rvd24sCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnUXVlc3Rpb25FZGl0JyAuICRUeXBlIC4gJ0RlbGV0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgPT4gJEFuc3dlcjIsCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAkQ291bnRlcisrOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1F1ZXN0aW9uRWRpdEFkZEFuc3dlcicsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICVRdWVzdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgJVNlcnZlckVycm9yLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgbXkgJENvdW50ZXI7CiAgICAgICAgICAgICAgICBmb3IgbXkgJEFuc3dlcjIgKEBMaXN0KSB7CiAgICAgICAgICAgICAgICAgICAgJEFuc3dlcjItPntTdXJ2ZXlJRH0gPSAkUGFyYW17U3VydmV5SUR9OwoKICAgICAgICAgICAgICAgICAgICBteSAkQ2xhc3NVcDsKICAgICAgICAgICAgICAgICAgICBteSAkQ2xhc3NEb3duOwoKICAgICAgICAgICAgICAgICAgICBpZiAoICEkQ291bnRlciApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJENsYXNzVXAgPSAnRGlzYWJsZWQnOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKCAkQ291bnRlciAmJiAkQ291bnRlciA9PSAkI0xpc3QgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRDbGFzc0Rvd24gPSAnRGlzYWJsZWQnOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gIlF1ZXN0aW9uRWRpdCIgLiAkVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAleyRBbnN3ZXIyfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzVXAgICA9PiAkQ2xhc3NVcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzRG93biA9PiAkQ2xhc3NEb3duLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgJENvdW50ZXIrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdOb0Fuc3dlcnNTYXZlZCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBDb2x1bW5zID0+IDMsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1F1ZXN0aW9uRWRpdEFkZEFuc3dlcicsCiAgICAgICAgICAgICAgICBEYXRhID0+IHslUXVlc3Rpb259LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KICAgIGVsc2lmICggJFF1ZXN0aW9ue1R5cGV9IGVxICdUZXh0YXJlYScgKSB7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1F1ZXN0aW9uRWRpdFRleHRBcmVhJywKICAgICAgICAgICAgRGF0YSA9PiB7fSwKICAgICAgICApOwogICAgfQogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZ2VudFN1cnZleUVkaXRRdWVzdGlvbnMnLAogICAgICAgIERhdGEgICAgICAgICA9PiB7JVBhcmFtfSwKICAgICk7CiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPkZvb3RlcigKICAgICAgICBUeXBlID0+ICdTbWFsbCcsCiAgICApOwoKICAgIHJldHVybiAkT3V0cHV0Owp9CgpzdWIgX01hc2tBbnN3ZXJFZGl0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJVNlcnZlckVycm9yOwogICAgaWYgKCAkUGFyYW17U2VydmVyRXJyb3J9ICkgewogICAgICAgICVTZXJ2ZXJFcnJvciA9ICV7ICRQYXJhbXtTZXJ2ZXJFcnJvcn0gfTsKICAgIH0KCiAgICAjIGdldCBsYXlvdXQgb2JqZWN0CiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgIG15ICRPdXRwdXQ7CiAgICAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKAogICAgICAgIFRpdGxlICAgICA9PiBUcmFuc2xhdGFibGUoJ0Fuc3dlciBFZGl0JyksCiAgICAgICAgVHlwZSAgICAgID0+ICdTbWFsbCcsCiAgICAgICAgQm9keUNsYXNzID0+ICdQb3B1cCcsCiAgICApOwoKICAgICMgZ2V0IHN1cnZleSBvYmplY3QKICAgIG15ICRTdXJ2ZXlPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3VydmV5Jyk7CgogICAgbXkgJUFuc3dlciA9ICRTdXJ2ZXlPYmplY3QtPkFuc3dlckdldCgKICAgICAgICBBbnN3ZXJJRCA9PiAkUGFyYW17QW5zd2VySUR9LAogICAgKTsKICAgICRBbnN3ZXJ7U3VydmV5SUR9ID0gJFBhcmFte1N1cnZleUlEfTsKCiAgICBteSAlUXVlc3Rpb24gPSAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkdldCgKICAgICAgICBRdWVzdGlvbklEID0+ICRQYXJhbXtRdWVzdGlvbklEfSwKICAgICk7CiAgICAkUGFyYW17UXVlc3Rpb259ID0gJFF1ZXN0aW9ue1F1ZXN0aW9ufTsKCiAgICAjIHByaW50IHRoZSBtYWluIHRhYmxlLgogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnQW5zd2VyRWRpdCcsCiAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICVBbnN3ZXIsCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgJVNlcnZlckVycm9yLAogICAgICAgIH0sCiAgICApOwoKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWdlbnRTdXJ2ZXlFZGl0UXVlc3Rpb25zJywKICAgICAgICBEYXRhICAgICAgICAgPT4gewogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgfSwKICAgICk7CgogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5Gb290ZXIoCiAgICAgICAgVHlwZSA9PiAnU21hbGwnLAogICAgKTsKCiAgICByZXR1cm4gJE91dHB1dDsKfQoKMTsK</File>
        <File Location="Kernel/Modules/AgentSurveyOverview.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWdlbnRTdXJ2ZXlPdmVydmlldzsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBLZXJuZWw6Okxhbmd1YWdlIHF3KFRyYW5zbGF0YWJsZSk7CgpvdXIgJE9iamVjdE1hbmFnZXJEaXNhYmxlZCA9IDE7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgZ2V0IGNvbW1vbiBvYmplY3RzCiAgICAleyRTZWxmfSA9ICVQYXJhbTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHNob3cgb3ZlcnZpZXcKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiAgICAjIGdldCBzZXNzaW9uIG9iamVjdAogICAgbXkgJFNlc3Npb25PYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6QXV0aFNlc3Npb24nKTsKCiAgICAjIHN0b3JlIGxhc3Qgc2NyZWVuLCB1c2VkIGZvciBiYWNrLWxpbmtzCiAgICAkU2Vzc2lvbk9iamVjdC0+VXBkYXRlU2Vzc2lvbklEKAogICAgICAgIFNlc3Npb25JRCA9PiAkU2VsZi0+e1Nlc3Npb25JRH0sCiAgICAgICAgS2V5ICAgICAgID0+ICdMYXN0U2NyZWVuVmlldycsCiAgICAgICAgVmFsdWUgICAgID0+ICRTZWxmLT57UmVxdWVzdGVkVVJMfSwKICAgICk7CgogICAgIyBzdG9yZSBsYXN0IHNjcmVlbiBvdmVydmlldwogICAgJFNlc3Npb25PYmplY3QtPlVwZGF0ZVNlc3Npb25JRCgKICAgICAgICBTZXNzaW9uSUQgPT4gJFNlbGYtPntTZXNzaW9uSUR9LAogICAgICAgIEtleSAgICAgICA9PiAnTGFzdFNjcmVlbk92ZXJ2aWV3JywKICAgICAgICBWYWx1ZSAgICAgPT4gJFNlbGYtPntSZXF1ZXN0ZWRVUkx9LAogICAgKTsKCiAgICAjIGdldCBjb25maWcgb2YgZnJvbnRlbmQgbW9kdWxlCiAgICBteSAkQ29uZmlnID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCJTdXJ2ZXk6OkZyb250ZW5kOjokU2VsZi0+e0FjdGlvbn0iKTsKCiAgICAjIGdldCBwYXJhbSBvYmplY3QKICAgIG15ICRQYXJhbU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKCiAgICAjIGdldCBzb3J0aW5nIHBhcmFtZXRlcnMKICAgIG15ICRTb3J0QnkgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnU29ydEJ5JyApCiAgICAgICAgfHwgJENvbmZpZy0+eydTb3J0Qnk6OkRlZmF1bHQnfQogICAgICAgIHx8ICdOdW1iZXInOwoKICAgICMgZ2V0IG9yZGVyaW5nIHBhcmFtZXRlcnMKICAgIG15ICRPcmRlckJ5ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ09yZGVyQnknICkKICAgICAgICB8fCAkQ29uZmlnLT57J09yZGVyOjpEZWZhdWx0J30KICAgICAgICB8fCAnRG93bic7CgogICAgIyBpbnZlc3RpZ2F0ZSByZWZyZXNoCiAgICBteSAkUmVmcmVzaCA9ICRTZWxmLT57VXNlclJlZnJlc2hUaW1lfSA/IDYwICogJFNlbGYtPntVc2VyUmVmcmVzaFRpbWV9IDogdW5kZWY7CgogICAgIyBnZXQgbGF5b3V0IG9iamVjdAogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICAjIG91dHB1dCBoZWFkZXIKICAgIG15ICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5IZWFkZXIoCiAgICAgICAgVGl0bGUgICA9PiBUcmFuc2xhdGFibGUoJ092ZXJ2aWV3JyksCiAgICAgICAgUmVmcmVzaCA9PiAkUmVmcmVzaCwKICAgICk7CiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5hdmlnYXRpb25CYXIoKTsKCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIENoYW5nZQogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKICAgICMgaW5pdCBzdXJ2ZXkgc2VhcmNoCiAgICBteSAlU3VydmV5U2VhcmNoOwoKICAgICMgZ2V0IHVzZXIgb2JqZWN0CiAgICBteSAkVXNlck9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVc2VyJyk7CgogICAgIyBnZXQgZmlsdGVycyBzdG9yZWQgaW4gdGhlIHVzZXIgcHJlZmVyZW5jZXMKICAgIG15ICVQcmVmZXJlbmNlcyA9ICRVc2VyT2JqZWN0LT5HZXRQcmVmZXJlbmNlcygKICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICAjIGdldCBzdG9yZWQgc3VydmV5IHNlYXJjaAogICAgbXkgJFN0b3JlZFN1cnZleVNlYXJjaCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpKU09OJyktPkRlY29kZSgKICAgICAgICBEYXRhID0+ICRQcmVmZXJlbmNlc3tTdXJ2ZXlTZWFyY2h9LAogICAgKTsKCiAgICAjIG1lcmdlIHN0b3JlZCBzdXJ2ZXkgc2VhcmNoIGlmIHdlIGhhdmUgb25lCiAgICBpZiAoJFN0b3JlZFN1cnZleVNlYXJjaCkgewogICAgICAgICVTdXJ2ZXlTZWFyY2ggPSAleyRTdG9yZWRTdXJ2ZXlTZWFyY2h9OwogICAgfQoKICAgIGlmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdDaGFuZ2UnICkgewoKICAgICAgICAjIGdldCBmdWxsdGV4dCBzZWFyY2gKICAgICAgICAkU3VydmV5U2VhcmNoe1doYXR9ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0Z1bGx0ZXh0JyApIHx8ICcnOwoKICAgICAgICAjIGdldCBzdGF0ZXMKICAgICAgICBteSBAU3RhdGVzID0gJFBhcmFtT2JqZWN0LT5HZXRBcnJheSggUGFyYW0gPT4gJ1N0YXRlcycgKTsKICAgICAgICAkU3VydmV5U2VhcmNoe1N0YXRlc30gPSBcQFN0YXRlczsKCiAgICAgICAgIyBnZXQgY3JlYXRlIHRpbWUKICAgICAgICBpZiAoICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdUaW1lU2VhcmNoVHlwZScgKSBlcSAnVGltZVNsb3QnICkgewoKICAgICAgICAgICAgJFN1cnZleVNlYXJjaHtUaW1lU2xvdENoZWNrZWR9ICAgICAgPSAnY2hlY2tlZD0iY2hlY2tlZCInOwogICAgICAgICAgICAkU3VydmV5U2VhcmNoe05vUmVzdHJpY3Rpb25DaGVja2VkfSA9ICcnOwoKICAgICAgICAgICAgbXkgJFN1cnZleUNyZWF0ZVRpbWVTdGFydFllYXIgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1N1cnZleUNyZWF0ZVRpbWVTdGFydFllYXInICk7CiAgICAgICAgICAgIG15ICRTdXJ2ZXlDcmVhdGVUaW1lU3RhcnRNb250aCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdTdXJ2ZXlDcmVhdGVUaW1lU3RhcnRNb250aCcgKTsKICAgICAgICAgICAgbXkgJFN1cnZleUNyZWF0ZVRpbWVTdGFydERheSAgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1N1cnZleUNyZWF0ZVRpbWVTdGFydERheScgKTsKCiAgICAgICAgICAgIG15ICRTdXJ2ZXlDcmVhdGVUaW1lU3RvcFllYXIgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1N1cnZleUNyZWF0ZVRpbWVTdG9wWWVhcicgKTsKICAgICAgICAgICAgbXkgJFN1cnZleUNyZWF0ZVRpbWVTdG9wTW9udGggPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnU3VydmV5Q3JlYXRlVGltZVN0b3BNb250aCcgKTsKICAgICAgICAgICAgbXkgJFN1cnZleUNyZWF0ZVRpbWVTdG9wRGF5ICAgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnU3VydmV5Q3JlYXRlVGltZVN0b3BEYXknICk7CgogICAgICAgICAgICAkU3VydmV5U2VhcmNoe0NyZWF0ZVRpbWVOZXdlckRhdGV9ID0gIiRTdXJ2ZXlDcmVhdGVUaW1lU3RhcnRZZWFyLSRTdXJ2ZXlDcmVhdGVUaW1lU3RhcnRNb250aC0kU3VydmV5Q3JlYXRlVGltZVN0YXJ0RGF5IDAwOjAwOjAwIjsKCiAgICAgICAgICAgICRTdXJ2ZXlTZWFyY2h7Q3JlYXRlVGltZU9sZGVyRGF0ZX0gPSAiJFN1cnZleUNyZWF0ZVRpbWVTdG9wWWVhci0kU3VydmV5Q3JlYXRlVGltZVN0b3BNb250aC0kU3VydmV5Q3JlYXRlVGltZVN0b3BEYXkgMjM6NTk6NTkiOwoKICAgICAgICAgICAgJFN1cnZleVNlYXJjaHtTdXJ2ZXlDcmVhdGVUaW1lU3RhcnR9ID0gewogICAgICAgICAgICAgICAgU3VydmV5Q3JlYXRlVGltZVN0YXJ0WWVhciAgPT4gJFN1cnZleUNyZWF0ZVRpbWVTdGFydFllYXIsCiAgICAgICAgICAgICAgICBTdXJ2ZXlDcmVhdGVUaW1lU3RhcnRNb250aCA9PiAkU3VydmV5Q3JlYXRlVGltZVN0YXJ0TW9udGgsCiAgICAgICAgICAgICAgICBTdXJ2ZXlDcmVhdGVUaW1lU3RhcnREYXkgICA9PiAkU3VydmV5Q3JlYXRlVGltZVN0YXJ0RGF5LAogICAgICAgICAgICB9OwoKICAgICAgICAgICAgJFN1cnZleVNlYXJjaHtTdXJ2ZXlDcmVhdGVUaW1lU3RvcH0gPSB7CiAgICAgICAgICAgICAgICBTdXJ2ZXlDcmVhdGVUaW1lU3RvcFllYXIgID0+ICRTdXJ2ZXlDcmVhdGVUaW1lU3RvcFllYXIsCiAgICAgICAgICAgICAgICBTdXJ2ZXlDcmVhdGVUaW1lU3RvcE1vbnRoID0+ICRTdXJ2ZXlDcmVhdGVUaW1lU3RvcE1vbnRoLAogICAgICAgICAgICAgICAgU3VydmV5Q3JlYXRlVGltZVN0b3BEYXkgICA9PiAkU3VydmV5Q3JlYXRlVGltZVN0b3BEYXksCiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkU3VydmV5U2VhcmNoe1RpbWVTbG90Q2hlY2tlZH0gICAgICA9ICcnOwogICAgICAgICAgICAkU3VydmV5U2VhcmNoe05vUmVzdHJpY3Rpb25DaGVja2VkfSA9ICdjaGVja2VkPSJjaGVja2VkIic7CiAgICAgICAgfQoKICAgICAgICAjIHN0b3JlIGxhc3Qgb3ZlcnZpZXcgc2NyZWVuCiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkF1dGhTZXNzaW9uJyktPlVwZGF0ZVNlc3Npb25JRCgKICAgICAgICAgICAgU2Vzc2lvbklEID0+ICRTZWxmLT57U2Vzc2lvbklEfSwKICAgICAgICAgICAgS2V5ICAgICAgID0+ICdMYXN0U2NyZWVuT3ZlcnZpZXcnLAogICAgICAgICAgICBWYWx1ZSAgICAgPT4gJ0FjdGlvbj1BZ2VudFN1cnZleU92ZXJ2aWV3JywKICAgICAgICApOwoKICAgICAgICBteSAkVmFsdWUgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SlNPTicpLT5FbmNvZGUoCiAgICAgICAgICAgIERhdGEgPT4gXCVTdXJ2ZXlTZWFyY2gsCiAgICAgICAgKTsKCiAgICAgICAgJFVzZXJPYmplY3QtPlNldFByZWZlcmVuY2VzKAogICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICBLZXkgICAgPT4gJ1N1cnZleVNlYXJjaCcsCiAgICAgICAgICAgIFZhbHVlICA9PiAkVmFsdWUsCiAgICAgICAgKTsKCiAgICB9CgogICAgIyBnZXQgc3VydmV5IGxpc3QKICAgIG15IEBTdXJ2ZXlJRHMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3VydmV5JyktPlN1cnZleVNlYXJjaCgKICAgICAgICBPcmRlckJ5ICAgICAgICAgID0+IFskU29ydEJ5XSwKICAgICAgICBPcmRlckJ5RGlyZWN0aW9uID0+IFskT3JkZXJCeV0sCiAgICAgICAgVXNlcklEICAgICAgICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgJVN1cnZleVNlYXJjaAogICAgKTsKCiAgICAjIGZpbmQgb3V0IHdoaWNoIGNvbHVtbnMgc2hvdWxkIGJlIHNob3duCiAgICBteSBAU2hvd0NvbHVtbnM7CiAgICBpZiAoICRDb25maWctPntTaG93Q29sdW1uc30gKSB7CgogICAgICAgICMgZ2V0IGFsbCBwb3NzaWJsZSBjb2x1bW5zIGZyb20gY29uZmlnCiAgICAgICAgbXkgJVBvc3NpYmxlQ29sdW1uID0gJXsgJENvbmZpZy0+e1Nob3dDb2x1bW5zfSB9OwoKICAgICAgICAjIGdldCB0aGUgY29sdW1uIG5hbWVzIHRoYXQgc2hvdWxkIGJlIHNob3duCiAgICAgICAgQ09MVU1OTkFNRToKICAgICAgICBmb3IgbXkgJE5hbWUgKCBzb3J0IGtleXMgJVBvc3NpYmxlQ29sdW1uICkgewogICAgICAgICAgICBuZXh0IENPTFVNTk5BTUUgaWYgISRQb3NzaWJsZUNvbHVtbnskTmFtZX07CiAgICAgICAgICAgIHB1c2ggQFNob3dDb2x1bW5zLCAkTmFtZTsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgZGVmYXVsdCBwYXJhbWV0ZXJzCiAgICBteSAkRmlsdGVyID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0ZpbHRlcicgKSB8fCAnJzsKICAgIG15ICRWaWV3ICAgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnVmlldycgKSAgIHx8ICcnOwoKICAgICMgc2hvdyB0aGUgbGlzdAogICAgbXkgJExpbmtQYWdlID0KICAgICAgICAnRmlsdGVyPScgLiAkTGF5b3V0T2JqZWN0LT5Bc2NpaTJIdG1sKCBUZXh0ID0+ICRGaWx0ZXIgKQogICAgICAgIC4gJztWaWV3PScgLiAkTGF5b3V0T2JqZWN0LT5Bc2NpaTJIdG1sKCBUZXh0ID0+ICRWaWV3ICkKICAgICAgICAuICc7U29ydEJ5PScgLiAkTGF5b3V0T2JqZWN0LT5Bc2NpaTJIdG1sKCBUZXh0ID0+ICRTb3J0QnkgKQogICAgICAgIC4gJztPcmRlckJ5PScgLiAkTGF5b3V0T2JqZWN0LT5Bc2NpaTJIdG1sKCBUZXh0ID0+ICRPcmRlckJ5ICkKICAgICAgICAuICc7JzsKICAgIG15ICRMaW5rU29ydCA9CiAgICAgICAgJ0ZpbHRlcj0nIC4gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCggVGV4dCA9PiAkRmlsdGVyICkKICAgICAgICAuICc7Vmlldz0nIC4gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCggVGV4dCA9PiAkVmlldyApCiAgICAgICAgLiAnOyc7CiAgICBteSAkTGlua0ZpbHRlciA9CiAgICAgICAgJ1NvcnRCeT0nIC4gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCggVGV4dCA9PiAkU29ydEJ5ICkKICAgICAgICAuICc7T3JkZXJCeT0nIC4gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCggVGV4dCA9PiAkT3JkZXJCeSApCiAgICAgICAgLiAnO1ZpZXc9JyAuICRMYXlvdXRPYmplY3QtPkFzY2lpMkh0bWwoIFRleHQgPT4gJFZpZXcgKQogICAgICAgIC4gJzsnOwoKICAgICMgc2hvdyBzdXJ2ZXkgbGlzdAogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5TdXJ2ZXlMaXN0U2hvdygKICAgICAgICBTdXJ2ZXlJRHMgICAgPT4gXEBTdXJ2ZXlJRHMsCiAgICAgICAgVG90YWwgICAgICAgID0+IHNjYWxhciBAU3VydmV5SURzLAogICAgICAgIFZpZXcgICAgICAgICA9PiAkVmlldywKICAgICAgICBGaWx0ZXJMaW5rICAgPT4gJExpbmtGaWx0ZXIsCiAgICAgICAgVGl0bGVOYW1lICAgID0+ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgnT3ZlcnZpZXcnKSwKICAgICAgICBUaXRsZVZhbHVlICAgPT4gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCdTdXJ2ZXknKSwKICAgICAgICBFbnYgICAgICAgICAgPT4gJFNlbGYsCiAgICAgICAgTGlua1BhZ2UgICAgID0+ICRMaW5rUGFnZSwKICAgICAgICBMaW5rU29ydCAgICAgPT4gJExpbmtTb3J0LAogICAgICAgIFNob3dDb2x1bW5zICA9PiBcQFNob3dDb2x1bW5zLAogICAgICAgIFNvcnRCeSAgICAgICA9PiAkTGF5b3V0T2JqZWN0LT5Bc2NpaTJIdG1sKCBUZXh0ID0+ICRTb3J0QnkgKSwKICAgICAgICBPcmRlckJ5ICAgICAgPT4gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCggVGV4dCA9PiAkT3JkZXJCeSApLAogICAgICAgIE91dHB1dCAgICAgICA9PiAxLAogICAgICAgIFN1cnZleVNlYXJjaCA9PiBcJVN1cnZleVNlYXJjaCwKICAgICk7CgogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5Gb290ZXIoKTsKICAgIHJldHVybiAkT3V0cHV0Owp9CgoxOwo=</File>
        <File Location="Kernel/Modules/AgentSurveyStats.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWdlbnRTdXJ2ZXlTdGF0czsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCiMgY29yZSBtb2R1bGVzCnVzZSBMaXN0OjpVdGlsIHF3KGFueSk7CgojIENQQU4gbW9kdWxlcwoKIyBPVE9CTyBtb2R1bGVzCnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyg6YWxsKTsKdXNlIEtlcm5lbDo6TGFuZ3VhZ2UgICAgICAgICAgICAgIHF3KFRyYW5zbGF0YWJsZSk7CgpvdXIgJE9iamVjdE1hbmFnZXJEaXNhYmxlZCA9IDE7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgZ2V0IGNvbW1vbiBvYmplY3RzCiAgICAleyRTZWxmfSA9ICVQYXJhbTsKCiAgICAjIGdldCBjb25maWcgb2YgZnJvbnRlbmQgbW9kdWxlCiAgICAkU2VsZi0+e0NvbmZpZ30gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoIlN1cnZleTo6RnJvbnRlbmQ6OiRTZWxmLT57QWN0aW9ufSIpOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRPdXRwdXQ7CgogICAgIyBnZXQgbmVlZGVkIG9iamVjdAogICAgbXkgJFN1cnZleU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKICAgIG15ICRQYXJhbU9iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0Jyk7CiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwogICAgbXkgJEdyb3VwT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpHcm91cCcpOwoKICAgIG15ICRTdXJ2ZXlJRCAgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAiU3VydmV5SUQiICkgIHx8ICcnOwogICAgbXkgJFJlcXVlc3RJRCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICJSZXF1ZXN0SUQiICkgfHwgJyc7CgogICAgbXkgJFN1cnZleUV4aXN0cyA9ICdubyc7CiAgICBpZiAoJFN1cnZleUlEKSB7CiAgICAgICAgJFN1cnZleUV4aXN0cyA9ICRTdXJ2ZXlPYmplY3QtPkVsZW1lbnRFeGlzdHMoCiAgICAgICAgICAgIEVsZW1lbnRJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIEVsZW1lbnQgICA9PiAnU3VydmV5JwogICAgICAgICk7CiAgICB9CgogICAgbXkgJFJlcXVlc3RFeGlzdHMgPSAnbm8nOwogICAgaWYgKCRSZXF1ZXN0SUQpIHsKICAgICAgICAkUmVxdWVzdEV4aXN0cyA9ICRTdXJ2ZXlPYmplY3QtPkVsZW1lbnRFeGlzdHMoCiAgICAgICAgICAgIEVsZW1lbnRJRCA9PiAkUmVxdWVzdElELAogICAgICAgICAgICBFbGVtZW50ICAgPT4gJ1JlcXVlc3QnCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHN0YXRzCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBpZiAoICEkU2VsZi0+e1N1YmFjdGlvbn0gKSB7CgogICAgICAgICMgY2hlY2sgaWYgc3VydmV5IGV4aXN0cwogICAgICAgIGlmICggJFN1cnZleUV4aXN0cyBuZSAnWWVzJyApIHsKCiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5Ob1Blcm1pc3Npb24oCiAgICAgICAgICAgICAgICBNZXNzYWdlICAgID0+IFRyYW5zbGF0YWJsZSgnWW91IGhhdmUgbm8gcGVybWlzc2lvbiBmb3IgdGhpcyBzdXJ2ZXkhJyksCiAgICAgICAgICAgICAgICBXaXRoSGVhZGVyID0+ICd5ZXMnLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKAogICAgICAgICAgICBUaXRsZSAgICAgPT4gVHJhbnNsYXRhYmxlKCdTdGF0cyBPdmVydmlldycpLAogICAgICAgICAgICBUeXBlICAgICAgPT4gJ1NtYWxsJywKICAgICAgICAgICAgQm9keUNsYXNzID0+ICdQb3B1cCcsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJVN1cnZleSA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUdldCgKICAgICAgICAgICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAogICAgICAgICk7CgogICAgICAgICMgZ2V0IGNvbmZpZyBvZiBBZ2VudFN1cnZleVN0YXRzCiAgICAgICAgbXkgJFNob3dEZWxldGVBcnJheSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU3VydmV5U3RhdHM6OlNob3dEZWxldGUnKTsKICAgICAgICBteSAkU2hvd0RlbGV0ZSAgICAgID0gMDsKCiAgICAgICAgaWYgKCBJc0FycmF5UmVmV2l0aERhdGEoJFNob3dEZWxldGVBcnJheSkgKSB7CgogICAgICAgICAgICAjIGdldCB1c2VyIGdyb3Vwcywgd2hlcmUgdGhlIHVzZXIgaGFzIHRoZSBydyBwcml2aWxlZ2UKICAgICAgICAgICAgbXkgJUdyb3VwcyA9ICRHcm91cE9iamVjdC0+UGVybWlzc2lvblVzZXJHZXQoCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgVHlwZSAgID0+ICdydycsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHJldmVyc2UgZ3JvdXBzCiAgICAgICAgICAgICVHcm91cHMgPSByZXZlcnNlICVHcm91cHM7CgogICAgICAgICAgICBpZiAoIGFueSB7ICRHcm91cHN7JF99IH0gQHskU2hvd0RlbGV0ZUFycmF5fSApIHsKICAgICAgICAgICAgICAgICRTaG93RGVsZXRlID0gMTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBwcmludCB0aGUgbWFpbiB0YWJsZS4KICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnU3RhdHMnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICVTdXJ2ZXksCiAgICAgICAgICAgICAgICBTaG93RGVsZXRlID0+ICRTaG93RGVsZXRlLAogICAgICAgICAgICB9CiAgICAgICAgKTsKICAgICAgICBteSBATGlzdCA9ICRTdXJ2ZXlPYmplY3QtPlZvdGVMaXN0KAogICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJFRpY2tldE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQnKTsKCiAgICAgICAgbXkgJENvdW50ICAgICA9IDA7CiAgICAgICAgbXkgJExhc3RJbmRleCA9IHNjYWxhciBATGlzdCAtIDE7CgogICAgICAgIGZvciBteSAkVm90ZSAoQExpc3QpIHsKICAgICAgICAgICAgbXkgJENvdW50UGx1cyAgPSAkQ291bnQgKyAxOwogICAgICAgICAgICBteSAkQ291bnRNaW51cyA9ICRDb3VudCAtIDE7CiAgICAgICAgICAgIGlmICggJENvdW50ICE9IDAgKSB7CiAgICAgICAgICAgICAgICAkVm90ZS0+e1ByZXZ9ID0gJExpc3RbJENvdW50TWludXNdLT57UmVxdWVzdElEfTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoICRDb3VudCAhPSAkTGFzdEluZGV4ICkgewogICAgICAgICAgICAgICAgJFZvdGUtPntOZXh0fSA9ICRMaXN0WyRDb3VudFBsdXNdLT57UmVxdWVzdElEfTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkVm90ZS0+e1N1cnZleUlEfSA9ICRTdXJ2ZXlJRDsKICAgICAgICAgICAgbXkgJVRpY2tldCA9ICRUaWNrZXRPYmplY3QtPlRpY2tldEdldCgKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRWb3RlLT57VGlja2V0SUR9LAogICAgICAgICAgICApOwogICAgICAgICAgICAkVm90ZS0+e1RpY2tldE51bWJlcn0gPSAkVGlja2V0e1RpY2tldE51bWJlcn07CiAgICAgICAgICAgICRWb3RlLT57U2hvd0RlbGV0ZX0gICA9ICRTaG93RGVsZXRlOwogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1N0YXRzVm90ZScsCiAgICAgICAgICAgICAgICBEYXRhID0+ICRWb3RlLAogICAgICAgICAgICApOwogICAgICAgICAgICAkQ291bnQrKzsKICAgICAgICB9CgogICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0FnZW50U3VydmV5U3RhdHMnLAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4geyVQYXJhbX0sCiAgICAgICAgKTsKCiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5Gb290ZXIoCiAgICAgICAgICAgIFR5cGUgPT4gJ1NtYWxsJywKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJE91dHB1dDsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHN0YXRzIGRldGFpbHMKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdTdGF0c0RldGFpbCcgKSB7CiAgICAgICAgbXkgJFRpY2tldE51bWJlciA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICJUaWNrZXROdW1iZXIiICk7CgogICAgICAgIG15ICggJFByZXYsICROZXh0LCAlUmVzdWx0cyApOwoKICAgICAgICAjIGNoZWNrIGlmIHN1cnZleSBleGlzdHMKICAgICAgICBpZiAoICRTdXJ2ZXlFeGlzdHMgbmUgJ1llcycgfHwgJFJlcXVlc3RFeGlzdHMgbmUgJ1llcycgKSB7CgogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+Tm9QZXJtaXNzaW9uKAogICAgICAgICAgICAgICAgTWVzc2FnZSAgICA9PiBUcmFuc2xhdGFibGUoJ1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IG9yIHN0YXRzIGRldGFpbCEnKSwKICAgICAgICAgICAgICAgIFdpdGhIZWFkZXIgPT4gJ3llcycsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5IZWFkZXIoCiAgICAgICAgICAgIFRpdGxlICAgICA9PiBUcmFuc2xhdGFibGUoJ1N0YXRzIERldGFpbCcpLAogICAgICAgICAgICBUeXBlICAgICAgPT4gJ1NtYWxsJywKICAgICAgICAgICAgQm9keUNsYXNzID0+ICdQb3B1cCcsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJVN1cnZleSA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUdldCgKICAgICAgICAgICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAogICAgICAgICk7CgogICAgICAgICMgcHJpbnQgdGhlIG1haW4gdGFibGUuCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1N0YXRzRGV0YWlsJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlU3VydmV5LAogICAgICAgICAgICAgICAgVGlja2V0TnVtYmVyID0+ICRUaWNrZXROdW1iZXIsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBHZXQgU3VydmV5IHZvdGUgbGlzdC4KICAgICAgICBteSBATGlzdCA9ICRTdXJ2ZXlPYmplY3QtPlZvdGVMaXN0KAogICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJFRpY2tldE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQnKTsKCiAgICAgICAgIyBHZXQgcGFyYW1ldGVycyBmb3IgdXJsIChwcmV2aW91cyBhbmQgbmV4dCB2b3RlIGFuZCB0aGVpciB0aWNrZXQgbnVtYmVyKS4KICAgICAgICBteSAkQ291bnQgICAgID0gMDsKICAgICAgICBteSAkTGFzdEluZGV4ID0gc2NhbGFyIEBMaXN0IC0gMTsKCiAgICAgICAgZm9yIG15ICRSZXN1bHRWb3RlIChATGlzdCkgewoKICAgICAgICAgICAgI0ZpbmRzIHZvdGUgdGhhdCBpcyB2aWV3ZWQuCiAgICAgICAgICAgIGlmICggJFJlc3VsdFZvdGUtPntSZXF1ZXN0SUR9ID09ICRSZXF1ZXN0SUQgKSB7CiAgICAgICAgICAgICAgICBteSAkQ291bnRQbHVzICA9ICRDb3VudCArIDE7CiAgICAgICAgICAgICAgICBteSAkQ291bnRNaW51cyA9ICRDb3VudCAtIDE7CgogICAgICAgICAgICAgICAgbXkgJVRpY2tldCA9ICRUaWNrZXRPYmplY3QtPlRpY2tldEdldCgKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUmVzdWx0Vm90ZS0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAkUmVzdWx0c3tUaWNrZXROdW1iZXJ9ID0gJFRpY2tldHtUaWNrZXROdW1iZXJ9OwoKICAgICAgICAgICAgICAgIGlmICggJENvdW50ICE9IDAgKSB7CiAgICAgICAgICAgICAgICAgICAgJFByZXYgPyAkUmVzdWx0c3tQcmV2fSA9ICRQcmV2IDogJFJlc3VsdHN7UHJldn0gPSAkTGlzdFskQ291bnRNaW51c10tPntSZXF1ZXN0SUR9OwogICAgICAgICAgICAgICAgICAgICRSZXN1bHRze1ByZXZUaWNrZXROdW1iZXJ9ID0gJFRpY2tldE9iamVjdC0+VGlja2V0TnVtYmVyTG9va3VwKAogICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkTGlzdFskQ291bnRNaW51c10tPntUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICggJENvdW50ICE9ICRMYXN0SW5kZXggKSB7CiAgICAgICAgICAgICAgICAgICAgJE5leHQgPyAkUmVzdWx0c3tOZXh0fSA9ICROZXh0IDogJFJlc3VsdHN7TmV4dH0gPSAkTGlzdFskQ291bnRQbHVzXS0+e1JlcXVlc3RJRH07CiAgICAgICAgICAgICAgICAgICAgJFJlc3VsdHN7TmV4dFRpY2tldE51bWJlcn0gPSAkVGlja2V0T2JqZWN0LT5UaWNrZXROdW1iZXJMb29rdXAoCiAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRMaXN0WyRDb3VudFBsdXNdLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJENvdW50Kys7CiAgICAgICAgfQoKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnTmF2QXJyb3dzJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgICAgICAlUmVzdWx0cywKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICBteSBAUXVlc3Rpb25MaXN0ID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25MaXN0KAogICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgKTsKICAgICAgICBmb3IgbXkgJFF1ZXN0aW9uIChAUXVlc3Rpb25MaXN0KSB7CgogICAgICAgICAgICBteSAkQ2xhc3MgPSAnJzsKICAgICAgICAgICAgaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnVGV4dGFyZWEnICkgewogICAgICAgICAgICAgICAgJENsYXNzID0gJ1RleHRhcmVhJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbXkgJFJlcXVpcmVkVGV4dCA9ICcnOwogICAgICAgICAgICBpZiAoICRRdWVzdGlvbi0+e0Fuc3dlclJlcXVpcmVkfSApIHsKICAgICAgICAgICAgICAgICRDbGFzcyAuPSAnIE1hbmRhdG9yeSc7CiAgICAgICAgICAgICAgICAkUmVxdWlyZWRUZXh0ID0gJyogJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdTdGF0c0RldGFpbFF1ZXN0aW9uJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICV7JFF1ZXN0aW9ufSwKICAgICAgICAgICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJENsYXNzLAogICAgICAgICAgICAgICAgICAgIFJlcXVpcmVkVGV4dCA9PiAkUmVxdWlyZWRUZXh0LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgbXkgQEFuc3dlcnM7CiAgICAgICAgICAgIGlmICggJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ1JhZGlvJyB8fCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnQ2hlY2tib3gnIHx8ICRRdWVzdGlvbi0+e1R5cGV9IGVxICdOUFMnICkgewogICAgICAgICAgICAgICAgbXkgQEFuc3dlckxpc3Q7CiAgICAgICAgICAgICAgICBAQW5zd2VyTGlzdCA9ICRTdXJ2ZXlPYmplY3QtPlZvdGVHZXQoCiAgICAgICAgICAgICAgICAgICAgUmVxdWVzdElEICA9PiAkUmVxdWVzdElELAogICAgICAgICAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgZm9yIG15ICRSb3cgKEBBbnN3ZXJMaXN0KSB7CiAgICAgICAgICAgICAgICAgICAgbXkgJUFuc3dlciA9ICRTdXJ2ZXlPYmplY3QtPkFuc3dlckdldCgKICAgICAgICAgICAgICAgICAgICAgICAgQW5zd2VySUQgPT4gJFJvdy0+e1ZvdGVWYWx1ZX0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICBteSAlRGF0YTsKICAgICAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJ9ID0gJEFuc3dlcntBbnN3ZXJ9OwogICAgICAgICAgICAgICAgICAgIHB1c2goIEBBbnN3ZXJzLCBcJURhdGEgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNpZiAoICRRdWVzdGlvbi0+e1R5cGV9IGVxICdZZXNObycgfHwgJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ1RleHRhcmVhJyApIHsKICAgICAgICAgICAgICAgIG15IEBMaXN0ID0gJFN1cnZleU9iamVjdC0+Vm90ZUdldCgKICAgICAgICAgICAgICAgICAgICBSZXF1ZXN0SUQgID0+ICRSZXF1ZXN0SUQsCiAgICAgICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgbXkgJURhdGE7CiAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJ9ID0gJExpc3RbMF0tPntWb3RlVmFsdWV9OwoKICAgICAgICAgICAgICAgICMgY2xlYW4gSFRNTAogICAgICAgICAgICAgICAgaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnVGV4dGFyZWEnICYmICREYXRhe0Fuc3dlcn0gKSB7CiAgICAgICAgICAgICAgICAgICAgJERhdGF7QW5zd2VyfSA9fiBze1xBXCRodG1sXC90ZXh0XCRccyguKil9eyQxfXhtczsKICAgICAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJ9ID0gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCgKICAgICAgICAgICAgICAgICAgICAgICAgVGV4dCAgICAgICAgICAgPT4gJERhdGF7QW5zd2VyfSwKICAgICAgICAgICAgICAgICAgICAgICAgSFRNTFJlc3VsdE1vZGUgPT4gMSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICREYXRhe0Fuc3dlcn0gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SFRNTFV0aWxzJyktPlRvQXNjaWkoCiAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyA9PiAkRGF0YXtBbnN3ZXJ9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBwdXNoKCBAQW5zd2VycywgXCVEYXRhICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yIG15ICRSb3cgKEBBbnN3ZXJzKSB7CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdTdGF0c0RldGFpbEFuc3dlcicsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICV7JFJvd30sCiAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzID0+ICRDbGFzcywKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZ2VudFN1cnZleVN0YXRzJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IHslUGFyYW19LAogICAgICAgICk7CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5Gb290ZXIoCiAgICAgICAgICAgIFR5cGUgPT4gJ1NtYWxsJywKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJE91dHB1dDsKICAgIH0KICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdTdGF0c1ZpZXcnICkgewoKICAgICAgICBpZiAoICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdTdWJtaXREZWxldGUnICkgKSB7CgogICAgICAgICAgICAjIGdldCBzdXJ2ZXkgaWQKICAgICAgICAgICAgbXkgJFN1cnZleUlEID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1N1cnZleUlEJyApOwoKICAgICAgICAgICAgIyBnZXQgdGhlIHN0YXRzIGRlbGV0ZSBrZXlzIGFuZCB0YXJnZXQgb2JqZWN0CiAgICAgICAgICAgIG15IEBSZXF1ZXN0RGVsZXRlSWRlbnRpZmllciA9ICRQYXJhbU9iamVjdC0+R2V0QXJyYXkoCiAgICAgICAgICAgICAgICBQYXJhbSA9PiAnUmVxdWVzdERlbGV0ZUlkZW50aWZpZXInLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBkZWxldGUgdm90ZSBkYXRhIGFuZCByZXF1ZXN0IGZyb20gZGF0YWJhc2UKICAgICAgICAgICAgZm9yIG15ICRSZXF1ZXN0SUQgKEBSZXF1ZXN0RGVsZXRlSWRlbnRpZmllcikgewoKICAgICAgICAgICAgICAgICMgZGVsZXRlIHZvdGUgZGF0YQogICAgICAgICAgICAgICAgbXkgJFZvdGVEZWxldGUgPSAkU3VydmV5T2JqZWN0LT5Wb3RlRGVsZXRlKAogICAgICAgICAgICAgICAgICAgIFJlcXVlc3RJRCA9PiAkUmVxdWVzdElELAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAjIGRlbGV0ZSByZXF1ZXN0CiAgICAgICAgICAgICAgICBteSAkUmVxdWVzdERlbGV0ZSA9ICRTdXJ2ZXlPYmplY3QtPlJlcXVlc3REZWxldGUoCiAgICAgICAgICAgICAgICAgICAgUmVxdWVzdElEID0+ICRSZXF1ZXN0SUQsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIHJlZGlyZWN0IHRvIHN1cnZleSBzdGF0cwogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoCiAgICAgICAgICAgICAgICBPUCA9PiAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufTtTdXJ2ZXlJRD0kU3VydmV5SUQiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KfQoKMTsK</File>
        <File Location="Kernel/Modules/AgentSurveyZoom.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWdlbnRTdXJ2ZXlab29tOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKIyBjb3JlIG1vZHVsZXMKdXNlIExpc3Q6OlV0aWwgcXcobm9uZSk7CgojIENQQU4gbW9kdWxlcwoKIyBPVE9CTyBtb2R1bGVzCnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyg6YWxsKTsKdXNlIEtlcm5lbDo6TGFuZ3VhZ2UgICAgICAgICAgICAgIHF3KFRyYW5zbGF0YWJsZSk7CgpvdXIgJE9iamVjdE1hbmFnZXJEaXNhYmxlZCA9IDE7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgZ2V0IGNvbW1vbiBvYmplY3RzCiAgICAleyRTZWxmfSA9ICVQYXJhbTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkT3V0cHV0OwoKICAgICMgZ2V0IG5lZWRlZCBvYmplY3RzCiAgICBteSAkU3VydmV5T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpOwogICAgbXkgJFBhcmFtT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgbXkgJFN1cnZleUlEID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gIlN1cnZleUlEIiApIHx8ICcnOwoKICAgIG15ICVKU0RhdGE7CgogICAgbXkgJFN1cnZleUV4aXN0cyA9ICdubyc7CiAgICBpZiAoJFN1cnZleUlEKSB7CiAgICAgICAgJFN1cnZleUV4aXN0cyA9ICRTdXJ2ZXlPYmplY3QtPkVsZW1lbnRFeGlzdHMoCiAgICAgICAgICAgIEVsZW1lbnRJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIEVsZW1lbnQgICA9PiAnU3VydmV5JwogICAgICAgICk7CiAgICB9CgogICAgIyB2aWV3IGF0dGFjaG1lbnQgZm9yIEhUTUwgZW1haWwKICAgIGlmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdIVE1MVmlldycgKSB7CgogICAgICAgICMgZ2V0IHBhcmFtcwogICAgICAgIG15ICRTdXJ2ZXlGaWVsZCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICJTdXJ2ZXlGaWVsZCIgKTsKCiAgICAgICAgIyBuZWVkZWQgcGFyYW1zCiAgICAgICAgZm9yIG15ICROZWVkZWQgKHF3KCBTdXJ2ZXlJRCBTdXJ2ZXlGaWVsZCApKSB7CiAgICAgICAgICAgIGlmICggISROZWVkZWQgKSB7CiAgICAgICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZGVkIFBhcmFtOiAkTmVlZGVkISIsCiAgICAgICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoICRTdXJ2ZXlGaWVsZCBuZSAnSW50cm9kdWN0aW9uJyAmJiAkU3VydmV5RmllbGQgbmUgJ0Rlc2NyaXB0aW9uJyApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiSW52YWxpZCBTdXJ2ZXlGaWVsZCBQYXJhbTogJFN1cnZleUZpZWxkISIsCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBjaGVjayBpZiBzdXJ2ZXkgZXhpc3RzCiAgICAgICAgaWYgKCAkU3VydmV5RXhpc3RzIG5lICdZZXMnICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJJbnZhbGlkIFN1cnZleUlEOiAkU3VydmV5SUQhIiwKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIGdldCBhbGwgYXR0cmlidXRlcyBvZiB0aGUgc3VydmV5CiAgICAgICAgbXkgJVN1cnZleSA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUdldCgKICAgICAgICAgICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAogICAgICAgICk7CgogICAgICAgIGlmICggJFN1cnZleXskU3VydmV5RmllbGR9ICkgewoKICAgICAgICAgICAgIyBjbGVhbiBIVE1MIGFuZCBjb252ZXJ0IHRoZSBGaWVsZCBpbiBIVE1MIChcbiAtLT48YnI+KQogICAgICAgICAgICAkU3VydmV5eyRTdXJ2ZXlGaWVsZH0gPX4gc3tcQVwkaHRtbFwvdGV4dFwkXHMoLiopfXskMX14bXM7CiAgICAgICAgICAgICRTdXJ2ZXl7JFN1cnZleUZpZWxkfSA9ICRMYXlvdXRPYmplY3QtPkFzY2lpMkh0bWwoCiAgICAgICAgICAgICAgICBUZXh0ICAgICAgICAgICA9PiAkU3VydmV5eyRTdXJ2ZXlGaWVsZH0sCiAgICAgICAgICAgICAgICBIVE1MUmVzdWx0TW9kZSA9PiAxLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICMgZ2V0IEhUTUwgdXRpbHMgb2JqZWN0CiAgICAgICAgbXkgJEhUTUxVdGlsc09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpIVE1MVXRpbHMnKTsKCiAgICAgICAgIyBjb252ZXJ0IHRleHQgYXJlYSBmaWVsZHMgdG8gQVNDSUkKICAgICAgICAkU3VydmV5eyRTdXJ2ZXlGaWVsZH0gPSAkSFRNTFV0aWxzT2JqZWN0LT5Ub0FzY2lpKAogICAgICAgICAgICBTdHJpbmcgPT4gJFN1cnZleXskU3VydmV5RmllbGR9LAogICAgICAgICk7CgogICAgICAgICRTdXJ2ZXl7JFN1cnZleUZpZWxkfSA9ICRIVE1MVXRpbHNPYmplY3QtPkRvY3VtZW50Q29tcGxldGUoCiAgICAgICAgICAgIFN0cmluZyAgPT4gJFN1cnZleXskU3VydmV5RmllbGR9LAogICAgICAgICAgICBDaGFyc2V0ID0+ICd1dGYtOCcsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkF0dGFjaG1lbnQoCiAgICAgICAgICAgIFR5cGUgICAgICAgID0+ICdpbmxpbmUnLAogICAgICAgICAgICBDb250ZW50VHlwZSA9PiAndGV4dC9odG1sJywKICAgICAgICAgICAgQ29udGVudCAgICAgPT4gJFN1cnZleXskU3VydmV5RmllbGR9LAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBzdXJ2ZXkgc3RhdHVzCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnU3VydmV5U3RhdHVzJyApIHsKCiAgICAgICAgIyBDaGFsbGVuZ2UgdG9rZW4gY2hlY2sgZm9yIHdyaXRlIGFjdGlvbi4KICAgICAgICAkTGF5b3V0T2JqZWN0LT5DaGFsbGVuZ2VUb2tlbkNoZWNrKCk7CgogICAgICAgIG15ICROZXdTdGF0dXMgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAiTmV3U3RhdHVzIiApOwoKICAgICAgICBteSAkQWNjZXNzICAgICAgICAgICAgICAgID0gMDsKICAgICAgICBteSAkR3JvdXBzRm9yQ2hhbmdlU3RhdHVzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdTdXJ2ZXk6OkZyb250ZW5kOjpDaGFuZ2VTdXJ2ZXlTdGF0dXNHcm91cHMnKTsKICAgICAgICBteSAlVXNlckdyb3VwcyAgICAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Okdyb3VwJyktPlBlcm1pc3Npb25Vc2VyR2V0KAogICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICBUeXBlICAgPT4gJ3J3JywKICAgICAgICApOwogICAgICAgICVVc2VyR3JvdXBzID0gcmV2ZXJzZSAlVXNlckdyb3VwczsKCiAgICAgICAgIyBJZiBjb25maWcgYXJyYXkgaXMgZW1wdHksIGdyb3VwIGNhbiBjaGFuZ2Ugc3VydmV5IHN0YXR1cy4gT3RoZXJ3aXNlLCBjaGVja2luZyBwZXJtaXNzaW9ucy4KICAgICAgICBpZiAoICFJc0FycmF5UmVmV2l0aERhdGEoJEdyb3Vwc0ZvckNoYW5nZVN0YXR1cykgKSB7CiAgICAgICAgICAgICRBY2Nlc3MgPSAxOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgIEdST1VQUzoKICAgICAgICAgICAgZm9yIG15ICRTdXJ2ZXlHcm91cCAoIEB7JEdyb3Vwc0ZvckNoYW5nZVN0YXR1c30gKSB7CiAgICAgICAgICAgICAgICBpZiAoICRVc2VyR3JvdXBzeyRTdXJ2ZXlHcm91cH0gKSB7CiAgICAgICAgICAgICAgICAgICAgJEFjY2VzcyA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBHUk9VUFM7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgY2hlY2sgaWYgc3VydmV5IGV4aXN0cwogICAgICAgIGlmICggJFN1cnZleUV4aXN0cyBuZSAnWWVzJyB8fCAkQWNjZXNzID09IDAgKSB7CgogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+Tm9QZXJtaXNzaW9uKAogICAgICAgICAgICAgICAgTWVzc2FnZSAgICA9PiBUcmFuc2xhdGFibGUoJ1lvdSBoYXZlIG5vIHBlcm1pc3Npb24gZm9yIHRoaXMgc3VydmV5IScpLAogICAgICAgICAgICAgICAgV2l0aEhlYWRlciA9PiAneWVzJywKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2V0IGEgbmV3IHN0YXR1cwogICAgICAgIG15ICRTdGF0dXNTZXQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlTdGF0dXNTZXQoCiAgICAgICAgICAgIFN1cnZleUlEICA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIE5ld1N0YXR1cyA9PiAkTmV3U3RhdHVzLAogICAgICAgICk7CiAgICAgICAgbXkgJE1lc3NhZ2UgPSAnJzsKICAgICAgICBpZiAoIGRlZmluZWQoJFN0YXR1c1NldCkgJiYgJFN0YXR1c1NldCBlcSAnTm9RdWVzdGlvbicgKSB7CiAgICAgICAgICAgICRNZXNzYWdlID0gJztNZXNzYWdlPU5vUXVlc3Rpb24nOwogICAgICAgIH0KICAgICAgICBlbHNpZiAoIGRlZmluZWQoJFN0YXR1c1NldCkgJiYgJFN0YXR1c1NldCBlcSAnSW5jb21wbGV0ZVF1ZXN0aW9uJyApIHsKICAgICAgICAgICAgJE1lc3NhZ2UgPSAnO01lc3NhZ2U9SW5jb21wbGV0ZVF1ZXN0aW9uJzsKICAgICAgICB9CiAgICAgICAgZWxzaWYgKCBkZWZpbmVkKCRTdGF0dXNTZXQpICYmICRTdGF0dXNTZXQgZXEgJ1N0YXR1c1NldCcgKSB7CiAgICAgICAgICAgICRNZXNzYWdlID0gJztNZXNzYWdlPVN0YXR1c1NldCc7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoCiAgICAgICAgICAgIE9QID0+ICJBY3Rpb249QWdlbnRTdXJ2ZXlab29tO1N1cnZleUlEPSRTdXJ2ZXlJRCRNZXNzYWdlIiwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgc3VydmV5IHpvb20KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiAgICAjIGdldCBwYXJhbXMKICAgIG15ICRNZXNzYWdlID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gIk1lc3NhZ2UiICk7CgogICAgIyBjaGVjayBpZiBzdXJ2ZXkgZXhpc3RzCiAgICBpZiAoICEkU3VydmV5SUQgfHwgJFN1cnZleUV4aXN0cyBuZSAnWWVzJyApIHsKICAgICAgICAkTWVzc2FnZSA9ICc7TWVzc2FnZT1Ob1N1cnZleUlEJzsKCiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPlJlZGlyZWN0KAogICAgICAgICAgICBPUCA9PiAiQWN0aW9uPUFnZW50U3VydmV5T3ZlcnZpZXckTWVzc2FnZSIsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIG91dHB1dCBoZWFkZXIKICAgICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5IZWFkZXIoCiAgICAgICAgVGl0bGUgPT4gVHJhbnNsYXRhYmxlKCdTdXJ2ZXknKSwKICAgICk7CiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5hdmlnYXRpb25CYXIoKTsKCiAgICAjIG91dHB1dCBtZXNzYWdlcyBpZiBzdGF0dXMgd2FzIGNoYW5nZWQKICAgIGlmICggZGVmaW5lZCgkTWVzc2FnZSkgJiYgJE1lc3NhZ2UgZXEgJ05vUXVlc3Rpb24nICkgewogICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Tm90aWZ5KAogICAgICAgICAgICBQcmlvcml0eSA9PiAnRXJyb3InLAogICAgICAgICAgICBJbmZvICAgICA9PiBUcmFuc2xhdGFibGUoJ0NhblwndCBzZXQgbmV3IHN0YXR1cyEgTm8gcXVlc3Rpb25zIGRlZmluZWQuJyksCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2lmICggZGVmaW5lZCgkTWVzc2FnZSkgJiYgJE1lc3NhZ2UgZXEgJ0luY29tcGxldGVRdWVzdGlvbicgKSB7CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5Ob3RpZnkoCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdFcnJvcicsCiAgICAgICAgICAgIEluZm8gICAgID0+IFRyYW5zbGF0YWJsZSgnQ2FuXCd0IHNldCBuZXcgc3RhdHVzISBRdWVzdGlvbnMgaW5jb21wbGV0ZS4nKSwKICAgICAgICApOwogICAgfQogICAgZWxzaWYgKCBkZWZpbmVkKCRNZXNzYWdlKSAmJiAkTWVzc2FnZSBlcSAnU3RhdHVzU2V0JyApIHsKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5vdGlmeSgKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ05vdGljZScsCiAgICAgICAgICAgIEluZm8gICAgID0+IFRyYW5zbGF0YWJsZSgnU3RhdHVzIGNoYW5nZWQuJyksCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGdldCBhbGwgYXR0cmlidXRlcyBvZiB0aGUgc3VydmV5CiAgICBteSAlU3VydmV5ID0gJFN1cnZleU9iamVjdC0+U3VydmV5R2V0KCBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQgKTsKICAgIG15ICVIVE1MOwoKICAgICMgY2xlYW4gSFRNTCBhbmQgY29udmVydCB0aGUgdGV4dC1hcmVhcyBpbiBIVE1MIChcbiAtLT48YnI+KQogICAgRklFTEQ6CiAgICBmb3IgbXkgJFN1cnZleUZpZWxkIChxdyggSW50cm9kdWN0aW9uIERlc2NyaXB0aW9uICkpIHsKICAgICAgICBuZXh0IEZJRUxEIGlmICEkU3VydmV5eyRTdXJ2ZXlGaWVsZH07CgogICAgICAgICRTdXJ2ZXl7JFN1cnZleUZpZWxkfSA9fiBze1xBXCRodG1sXC90ZXh0XCRccyguKil9eyQxfXhtczsKCiAgICAgICAgaWYgKCQxKSB7CiAgICAgICAgICAgICRIVE1MeyRTdXJ2ZXlGaWVsZH0gPSAxOwogICAgICAgIH0KCiAgICAgICAgJFN1cnZleXskU3VydmV5RmllbGR9ID0gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCgKICAgICAgICAgICAgVGV4dCAgICAgICAgICAgPT4gJFN1cnZleXskU3VydmV5RmllbGR9LAogICAgICAgICAgICBIVE1MUmVzdWx0TW9kZSA9PiAxLAogICAgICAgICk7CiAgICB9CgogICAgIyBnZXQgbnVtYmVycyBvZiByZXF1ZXN0cyBhbmQgdm90ZXMKICAgIG15ICRTZW5kUmVxdWVzdCA9ICRTdXJ2ZXlPYmplY3QtPlJlcXVlc3RDb3VudCgKICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgVmFsaWRJRCAgPT4gJ2FsbCcsCiAgICApOwogICAgbXkgJFJlcXVlc3RDb21wbGV0ZSA9ICRTdXJ2ZXlPYmplY3QtPlJlcXVlc3RDb3VudCgKICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgVmFsaWRJRCAgPT4gMCwKICAgICk7CiAgICAkU3VydmV5e1NlbmRSZXF1ZXN0fSAgICAgPSAkU2VuZFJlcXVlc3Q7CiAgICAkU3VydmV5e1JlcXVlc3RDb21wbGV0ZX0gPSAkUmVxdWVzdENvbXBsZXRlOwoKICAgICMgZ2V0IHNlbGVjdGVkIHF1ZXVlcwogICAgbXkgJVF1ZXVlcyAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpRdWV1ZScpLT5HZXRBbGxRdWV1ZXMoKTsKICAgIG15IEBRdWV1ZUxpc3QgPSBtYXAgeyAkUXVldWVzeyRffSB9IEB7ICRTdXJ2ZXl7UXVldWVzfSB9OwogICAgQFF1ZXVlTGlzdCA9IHNvcnQgeyBsYyAkYSBjbXAgbGMgJGIgfSBAUXVldWVMaXN0OwogICAgbXkgJFF1ZXVlTGlzdFN0cmluZyA9IGpvaW4gcXssIH0sIEBRdWV1ZUxpc3Q7CgogICAgbXkgJE5vUXVldWVNZXNzYWdlID0gJyc7CiAgICBpZiAoICEkUXVldWVMaXN0U3RyaW5nICkgewogICAgICAgICRRdWV1ZUxpc3RTdHJpbmcgPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJy0gTm8gcXVldWUgc2VsZWN0ZWQgLScpOwogICAgfQoKICAgICMgZ2V0IGNvbmZpZyBvYmplY3QKICAgIG15ICRDb25maWdPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwogICAgJEpTRGF0YXtIVE1MUmljaFRleHRIZWlnaHREZWZhdWx0fSA9ICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpGcm9udGVuZDo6SFRNTFJpY2hUZXh0SGVpZ2h0RGVmYXVsdCcpIHx8IDgwOwogICAgJEpTRGF0YXtIVE1MUmljaFRleHRIZWlnaHRNYXh9ICAgICA9ICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpGcm9udGVuZDo6SFRNTFJpY2hUZXh0SGVpZ2h0TWF4JykgICAgIHx8IDI1MDA7CgogICAgIyBwcmludCB0aGUgbWFpbiB0YWJsZS4KICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ1N1cnZleVpvb20nLAogICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAlU3VydmV5LAogICAgICAgICAgICBOb1F1ZXVlTWVzc2FnZSAgPT4gJE5vUXVldWVNZXNzYWdlLAogICAgICAgICAgICBRdWV1ZUxpc3RTdHJpbmcgPT4gJFF1ZXVlTGlzdFN0cmluZywKICAgICAgICB9LAogICAgKTsKCiAgICAjIGNoZWNrIGlmIHRoZSBzZW5kIGNvbmRpdGlvbiB0aWNrZXQgdHlwZSBjaGVjayBpcyBlbmFibGVkCiAgICBpZiAoICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJykgKSB7CgogICAgICAgICMgZ2V0IHNlbGVjdGVkIHRpY2tldCB0eXBlcwogICAgICAgIG15ICVUaWNrZXRUeXBlcyAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUeXBlJyktPlR5cGVMaXN0KCk7CiAgICAgICAgbXkgQFRpY2tldFR5cGVMaXN0ID0gbWFwIHsgJFRpY2tldFR5cGVzeyRffSA/ICRUaWNrZXRUeXBlc3skX30gOiAoKSB9IEB7ICRTdXJ2ZXl7VGlja2V0VHlwZUlEc30gfTsKICAgICAgICBAVGlja2V0VHlwZUxpc3QgPSBzb3J0IHsgbGMgJGEgY21wIGxjICRiIH0gQFRpY2tldFR5cGVMaXN0OwogICAgICAgIG15ICRUaWNrZXRUeXBlTGlzdFN0cmluZyA9IGpvaW4gcXssIH0sIEBUaWNrZXRUeXBlTGlzdDsKCiAgICAgICAgaWYgKCAhJFRpY2tldFR5cGVMaXN0U3RyaW5nICkgewogICAgICAgICAgICAkVGlja2V0VHlwZUxpc3RTdHJpbmcgPSBUcmFuc2xhdGFibGUoJy0gTm8gdGlja2V0IHR5cGUgc2VsZWN0ZWQgLScpOwogICAgICAgIH0KCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1RpY2tldFR5cGVzJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBUaWNrZXRUeXBlTGlzdFN0cmluZyA9PiAkVGlja2V0VHlwZUxpc3RTdHJpbmcsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGNoZWNrIGlmIHRoZSBzZW5kIGNvbmRpdGlvbiBzZXJ2aWNlIGNoZWNrIGlzIGVuYWJsZWQKICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblNlcnZpY2UnKSApIHsKCiAgICAgICAgIyBnZXQgc2VsZWN0ZWQgdGlja2V0IHR5cGVzCiAgICAgICAgbXkgJVNlcnZpY2VzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlNlcnZpY2UnKS0+U2VydmljZUxpc3QoCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKICAgICAgICBteSBAU2VydmljZUxpc3QgPSBtYXAgeyAkU2VydmljZXN7JF99ID8gJFNlcnZpY2VzeyRffSA6ICgpIH0gQHsgJFN1cnZleXtTZXJ2aWNlSURzfSB9OwogICAgICAgIEBTZXJ2aWNlTGlzdCA9IHNvcnQgeyBsYyAkYSBjbXAgbGMgJGIgfSBAU2VydmljZUxpc3Q7CiAgICAgICAgbXkgJFNlcnZpY2VMaXN0U3RyaW5nID0gam9pbiBxeywgfSwgQFNlcnZpY2VMaXN0OwoKICAgICAgICBpZiAoICEkU2VydmljZUxpc3RTdHJpbmcgKSB7CiAgICAgICAgICAgICRTZXJ2aWNlTGlzdFN0cmluZyA9IFRyYW5zbGF0YWJsZSgnLSBObyB0aWNrZXQgc2VydmljZSBzZWxlY3RlZCAtJyk7CiAgICAgICAgfQoKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0U2VydmljZXMnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIFNlcnZpY2VMaXN0U3RyaW5nID0+ICRTZXJ2aWNlTGlzdFN0cmluZywKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgcnVuIHN1cnZleSBtZW51IG1vZHVsZXMKICAgIG15ICRNZW51TW9kdWxlQ29uZmlnID0gJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OkZyb250ZW5kOjpNZW51TW9kdWxlJyk7CiAgICBpZiAoIElzSGFzaFJlZldpdGhEYXRhKCRNZW51TW9kdWxlQ29uZmlnKSApIHsKICAgICAgICBteSAlTWVudXMgICA9ICV7JE1lbnVNb2R1bGVDb25maWd9OwogICAgICAgIG15ICRDb3VudGVyID0gMDsKICAgICAgICBNRU5VOgogICAgICAgIGZvciBteSAkTWVudSAoIHNvcnQga2V5cyAlTWVudXMgKSB7CgogICAgICAgICAgICAjIG1lbnUgU2F0c0RldGFpbHMgbmVlZHMgdG8gaGF2ZSBhIGNvbXBsZXRlIHJlcXVlc3QKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgZGVmaW5lZCAkTWVudXN7JE1lbnV9LT57QWN0aW9ufQogICAgICAgICAgICAgICAgJiYgJE1lbnVzeyRNZW51fS0+e0FjdGlvbn0gZXEgJ0FnZW50U3VydmV5U3RhdHMnCiAgICAgICAgICAgICAgICAmJiAhJFJlcXVlc3RDb21wbGV0ZQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBuZXh0IE1FTlU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgbG9hZCBtb2R1bGUKICAgICAgICAgICAgaWYgKCAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TWFpbicpLT5SZXF1aXJlKCAkTWVudXN7JE1lbnV9LT57TW9kdWxlfSApICkgewogICAgICAgICAgICAgICAgbXkgJE9iamVjdCA9ICRNZW51c3skTWVudX0tPntNb2R1bGV9LT5uZXcoCiAgICAgICAgICAgICAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyBzZXQgY2xhc3NlcwogICAgICAgICAgICAgICAgaWYgKCAkTWVudXN7JE1lbnV9LT57VGFyZ2V0fSApIHsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCAkTWVudXN7JE1lbnV9LT57VGFyZ2V0fSBlcSAnUG9wVXAnICkgewogICAgICAgICAgICAgICAgICAgICAgICAkTWVudXN7JE1lbnV9LT57Q2xhc3N9ID0gJ0FzUG9wdXAnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNpZiAoICRNZW51c3skTWVudX0tPntUYXJnZXR9IGVxICdCYWNrJyApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJE1lbnVzeyRNZW51fS0+e0NsYXNzfSA9ICdIaXN0b3J5QmFjayc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgcnVuIG1vZHVsZQogICAgICAgICAgICAgICAgJENvdW50ZXIgPSAkT2JqZWN0LT5SdW4oCiAgICAgICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgICAgIFN1cnZleSAgPT4geyVTdXJ2ZXl9LAogICAgICAgICAgICAgICAgICAgIENvdW50ZXIgPT4gJENvdW50ZXIsCiAgICAgICAgICAgICAgICAgICAgQ29uZmlnICA9PiAkTWVudXN7JE1lbnV9LAogICAgICAgICAgICAgICAgICAgIE1lbnVJRCAgPT4gJ01lbnUnIC4gJE1lbnUsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewoKICAgICAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgIyBvdXRwdXQgdGhlIHBvc3NpYmxlIHN0YXR1cyBtZW51CiAgICBteSAlTmV3U3RhdHVzID0gKAogICAgICAgIENoYW5nZVN0YXR1cyA9PiBUcmFuc2xhdGFibGUoJy0gQ2hhbmdlIFN0YXR1cyAtJyksCiAgICAgICAgTWFzdGVyICAgICAgID0+IFRyYW5zbGF0YWJsZSgnTWFzdGVyJyksCiAgICAgICAgVmFsaWQgICAgICAgID0+IFRyYW5zbGF0YWJsZSgnVmFsaWQnKSwKICAgICAgICBJbnZhbGlkICAgICAgPT4gVHJhbnNsYXRhYmxlKCdJbnZhbGlkJyksCgogICAgKTsKCiAgICBpZiAoICRTdXJ2ZXl7U3RhdHVzfSBlcSAnTmV3JyApIHsKICAgICAgICBkZWxldGUgJE5ld1N0YXR1c3tJbnZhbGlkfTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIGRlbGV0ZSAkTmV3U3RhdHVzeyAkU3VydmV5e1N0YXR1c30gfTsKICAgIH0KCiAgICBteSAkTmV3U3RhdHVzU3RyID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgTmFtZSAgICAgICAgPT4gJ05ld1N0YXR1cycsCiAgICAgICAgSUQgICAgICAgICAgPT4gJ05ld1N0YXR1cycsCiAgICAgICAgRGF0YSAgICAgICAgPT4gXCVOZXdTdGF0dXMsCiAgICAgICAgU2VsZWN0ZWRJRCAgPT4gJ0NoYW5nZVN0YXR1cycsCiAgICAgICAgVGl0bGUgICAgICAgPT4gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCdOZXcgU3RhdHVzJyksCiAgICAgICAgQ2xhc3MgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgVHJhbnNsYXRpb24gPT4gMSwKICAgICk7CgogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnU3VydmV5U3RhdHVzJywKICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgTmV3U3RhdHVzU3RyID0+ICROZXdTdGF0dXNTdHIsCiAgICAgICAgICAgIFN1cnZleUlEICAgICA9PiAkU3VydmV5SUQsCiAgICAgICAgfSwKICAgICk7CgogICAgIyBvdXRwdXQgdGhlIHN1cnZleSBjb21tb24gYmxvY2tzCiAgICBteSAlVHJhbnNsYXRlZFRpdGxlcyA9ICgKICAgICAgICBJbnRyb2R1Y3Rpb24gPT4gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCdTdXJ2ZXkgSW50cm9kdWN0aW9uJyksCiAgICAgICAgRGVzY3JpcHRpb24gID0+ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgnU3VydmV5IERlc2NyaXB0aW9uJyksCiAgICApOwogICAgZm9yIG15ICRGaWVsZCAocXcoIEludHJvZHVjdGlvbiBEZXNjcmlwdGlvbikpIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnU3VydmV5QmxvY2snLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIFRpdGxlICAgICAgID0+ICRUcmFuc2xhdGVkVGl0bGVzeyRGaWVsZH0sCiAgICAgICAgICAgICAgICBTdXJ2ZXlGaWVsZCA9PiAkRmllbGQsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgICAgICBpZiAoICRIVE1MeyRGaWVsZH0gKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnQm9keUhUTUwnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgU3VydmV5RmllbGQgPT4gJEZpZWxkLAogICAgICAgICAgICAgICAgICAgIFN1cnZleUlEICAgID0+ICRTdXJ2ZXlJRCwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0JvZHlQbGFpbicsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBMYWJlbCAgID0+ICRGaWVsZCwKICAgICAgICAgICAgICAgICAgICBDb250ZW50ID0+ICRTdXJ2ZXl7JEZpZWxkfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICMgY2hlY2sgc3VydmV5IHpvb20gY29uZmlndXJhdGlvbnMKICAgIG15ICRTdXJ2ZXlSZXN1bHRzR3JhcGhQZXJtaXNzaW9uID0gJENvbmZpZ09iamVjdC0+R2V0KCdGcm9udGVuZDo6TW9kdWxlJyktPntBZ2VudFN1cnZleVN0YXRzfS0+e0dyb3VwfTsKCiAgICBpZiAoIElzQXJyYXlSZWZXaXRoRGF0YSgkU3VydmV5UmVzdWx0c0dyYXBoUGVybWlzc2lvbikgKSB7CgogICAgICAgICMgZ2V0IGdyb3VwIGZyb20gZ2l2ZW4gdXNlciBpZAogICAgICAgIG15IEBHcm91cE5hbWVzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Okdyb3VwJyktPkdyb3VwTWVtYmVyTGlzdCgKICAgICAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgVHlwZSAgID0+ICdydycsCiAgICAgICAgICAgIFJlc3VsdCA9PiAnTmFtZScsCiAgICAgICAgICAgIENhY2hlZCA9PiAxLAogICAgICAgICk7CgogICAgICAgIEdST1VQUzoKICAgICAgICBmb3IgbXkgJEdyb3VwTmFtZXMgKEBHcm91cE5hbWVzKSB7CgogICAgICAgICAgICBuZXh0IEdST1VQUyBpZiBub25lIHsgJF8gZXEgJEdyb3VwTmFtZXMgfSBAeyRTdXJ2ZXlSZXN1bHRzR3JhcGhQZXJtaXNzaW9ufTsKCiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnUGVybWlzc2lvblN0YXRSZXN1bHRzJywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIGxhc3QgR1JPVVBTOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgewoKICAgICAgICAjIGdldCBhY2Nlc3MgaWYgbm8gU3VydmV5UmVzdWx0c0dyYXBoUGVybWlzc2lvbiBpcyBzZXQKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUGVybWlzc2lvblN0YXRSZXN1bHRzJywKICAgICAgICApOwogICAgfQoKICAgICMgZGlzcGxheSBzdGF0cyBpZiBzdGF0dXMgTWFzdGVyLCBWYWxpZCBvciBJbnZhbGlkCiAgICBpZiAoICRTdXJ2ZXl7U3RhdHVzfSBlcSAnTmV3JyApIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnTm9TdGF0UmVzdWx0cycsCiAgICAgICAgICAgIERhdGEgPT4ge30sCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2lmICgKICAgICAgICAkU3VydmV5e1N0YXR1c30gZXEgJ01hc3RlcicKICAgICAgICB8fCAkU3VydmV5e1N0YXR1c30gZXEgJ1ZhbGlkJwogICAgICAgIHx8ICRTdXJ2ZXl7U3RhdHVzfSBlcSAnSW52YWxpZCcKICAgICAgICApCiAgICB7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1N1cnZleUVkaXRTdGF0cycsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICMgZ2V0IGFsbCBxdWVzdGlvbnMgb2YgdGhlIHN1cnZleQogICAgICAgIG15IEBRdWVzdGlvbkxpc3QgPSAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkxpc3QoCiAgICAgICAgICAgIFN1cnZleUlEID0+ICRTdXJ2ZXlJRCwKICAgICAgICApOwogICAgICAgIGZvciBteSAkUXVlc3Rpb24gKEBRdWVzdGlvbkxpc3QpIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdTdXJ2ZXlFZGl0U3RhdHNRdWVzdGlvbicsCiAgICAgICAgICAgICAgICBEYXRhID0+ICRRdWVzdGlvbiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgbXkgQEFuc3dlcnM7CgogICAgICAgICAgICAjIGdlbmVyYXRlIHRoZSBhbnN3ZXJzIG9mIHRoZSBxdWVzdGlvbgogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAkUXVlc3Rpb24tPntUeXBlfSBlcSAnWWVzTm8nCiAgICAgICAgICAgICAgICB8fCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnUmFkaW8nCiAgICAgICAgICAgICAgICB8fCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnQ2hlY2tib3gnCiAgICAgICAgICAgICAgICB8fCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnTlBTJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBteSBAQW5zd2VyTGlzdDsKCiAgICAgICAgICAgICAgICAjIHNldCBhbnN3ZXJzIHRvIFllcyBhbmQgTm8gaWYgdHlwZSB3YXMgWWVzTm8KICAgICAgICAgICAgICAgIGlmICggJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ1llc05vJyApIHsKICAgICAgICAgICAgICAgICAgICBteSAlRGF0YTsKICAgICAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJ9ICAgPSAiWWVzIjsKICAgICAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJJRH0gPSAiWWVzIjsKICAgICAgICAgICAgICAgICAgICBwdXNoKCBAQW5zd2VyTGlzdCwgXCVEYXRhICk7CiAgICAgICAgICAgICAgICAgICAgbXkgJURhdGEyOwogICAgICAgICAgICAgICAgICAgICREYXRhMntBbnN3ZXJ9ICAgPSAiTm8iOwogICAgICAgICAgICAgICAgICAgICREYXRhMntBbnN3ZXJJRH0gPSAiTm8iOwogICAgICAgICAgICAgICAgICAgIHB1c2goIEBBbnN3ZXJMaXN0LCBcJURhdGEyICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgIyBnZXQgYWxsIGFuc3dlcnMgb2YgYSBxdWVzdGlvbgogICAgICAgICAgICAgICAgICAgIEBBbnN3ZXJMaXN0ID0gJFN1cnZleU9iamVjdC0+QW5zd2VyTGlzdCgKICAgICAgICAgICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yIG15ICRSb3cgKEBBbnN3ZXJMaXN0KSB7CiAgICAgICAgICAgICAgICAgICAgbXkgJFZvdGVDb3VudCA9ICRTdXJ2ZXlPYmplY3QtPlZvdGVDb3VudCgKICAgICAgICAgICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICAgICAgICAgVm90ZVZhbHVlICA9PiAkUm93LT57QW5zd2VySUR9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgbXkgJFBlcmNlbnQgPSAwOwoKICAgICAgICAgICAgICAgICAgICAjIGNhbGN1bGF0ZSB0aGUgcGVyY2VudHMKICAgICAgICAgICAgICAgICAgICBpZiAoJFJlcXVlc3RDb21wbGV0ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAkUGVyY2VudCA9IDEwMCAvICRSZXF1ZXN0Q29tcGxldGUgKiAkVm90ZUNvdW50OwogICAgICAgICAgICAgICAgICAgICAgICAkUGVyY2VudCA9IHNwcmludGYoICIlLjJmIiwgJFBlcmNlbnQgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgbXkgJURhdGE7CiAgICAgICAgICAgICAgICAgICAgJERhdGF7QW5zd2VyfSAgICAgICAgPSAkUm93LT57QW5zd2VyfTsKICAgICAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJQZXJjZW50fSA9ICRQZXJjZW50OwogICAgICAgICAgICAgICAgICAgIHB1c2goIEBBbnN3ZXJzLCBcJURhdGEgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNpZiAoICRRdWVzdGlvbi0+e1R5cGV9IGVxICdUZXh0YXJlYScgKSB7CgogICAgICAgICAgICAgICAgbXkgJFZvdGVWYWx1ZSA9ICcnOwogICAgICAgICAgICAgICAgaWYgKCAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+eydEQjo6VHlwZSd9IGVxICdvcmFjbGUnICkgewogICAgICAgICAgICAgICAgICAgICRWb3RlVmFsdWUgPSAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbXkgJEFuc3dlck5vID0gJFN1cnZleU9iamVjdC0+Vm90ZUNvdW50KAogICAgICAgICAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0sCiAgICAgICAgICAgICAgICAgICAgVm90ZVZhbHVlICA9PiAkVm90ZVZhbHVlLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIG15ICRQZXJjZW50ID0gMDsKCiAgICAgICAgICAgICAgICAjIGNhbGN1bGF0ZSB0aGUgcGVyY2VudHMKICAgICAgICAgICAgICAgIGlmICgkUmVxdWVzdENvbXBsZXRlKSB7CiAgICAgICAgICAgICAgICAgICAgJFBlcmNlbnQgPSAxMDAgLyAkUmVxdWVzdENvbXBsZXRlICogJEFuc3dlck5vOwogICAgICAgICAgICAgICAgICAgICRQZXJjZW50ID0gc3ByaW50ZiggIiUuMmYiLCAkUGVyY2VudCApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbXkgJURhdGE7CiAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJ9ID0gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCdhbnN3ZXJlZCcpOwogICAgICAgICAgICAgICAgaWYgKCAhJFJlcXVlc3RDb21wbGV0ZSApIHsKICAgICAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJQZXJjZW50fSA9IDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJQZXJjZW50fSA9IHNwcmludGYoICIlLjJmIiwgMTAwIC0gJFBlcmNlbnQgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHB1c2goIEBBbnN3ZXJzLCBcJURhdGEgKTsKICAgICAgICAgICAgICAgIG15ICVEYXRhMjsKICAgICAgICAgICAgICAgICREYXRhMntBbnN3ZXJ9ICAgICAgICA9ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgnbm90IGFuc3dlcmVkJyk7CiAgICAgICAgICAgICAgICAkRGF0YTJ7QW5zd2VyUGVyY2VudH0gPSAkUGVyY2VudDsKICAgICAgICAgICAgICAgIHB1c2goIEBBbnN3ZXJzLCBcJURhdGEyICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgb3V0cHV0IGFsbCBhbnN3ZXJzIG9mIHRoZSBzdXJ2ZXkKICAgICAgICAgICAgZm9yIG15ICRSb3cgKEBBbnN3ZXJzKSB7CiAgICAgICAgICAgICAgICAkUm93LT57QW5zd2VyUGVyY2VudFRhYmxlfSA9ICRSb3ctPntBbnN3ZXJQZXJjZW50fTsKICAgICAgICAgICAgICAgIGlmICggISRSb3ctPntBbnN3ZXJQZXJjZW50fSApIHsKICAgICAgICAgICAgICAgICAgICAkUm93LT57QW5zd2VyUGVyY2VudFRhYmxlfSA9IDE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdTdXJ2ZXlFZGl0U3RhdHNBbnN3ZXInLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gJFJvdywKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgJExheW91dE9iamVjdC0+QWRkSlNEYXRhKAogICAgICAgIEtleSAgID0+ICdTdXJ2ZXknLAogICAgICAgIFZhbHVlID0+IFwlSlNEYXRhLAogICAgKTsKCiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0FnZW50U3VydmV5Wm9vbScsCiAgICAgICAgRGF0YSAgICAgICAgID0+IHslUGFyYW19LAogICAgKTsKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Rm9vdGVyKCk7CgogICAgcmV0dXJuICRPdXRwdXQ7Cn0KCjE7Cg==</File>
        <File Location="Kernel/Modules/PublicSurvey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6UHVibGljU3VydmV5OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6TGFuZ3VhZ2UgcXcoVHJhbnNsYXRhYmxlKTsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBnZXQgY29tbW9uIG9iamVjdHMKICAgICV7JFNlbGZ9ID0gJVBhcmFtOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRPdXRwdXQ7CgogICAgbXkgJUFuc3dlcnM7CiAgICBteSAlRXJyb3JzOwogICAgbXkgQFF1ZXN0aW9uTGlzdDsKCiAgICAjIGdldCBuZWVkZWQgb2JqZWN0CiAgICBteSAkU3VydmV5T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpOwogICAgbXkgJFBhcmFtT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CiAgICBteSAkQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHB1YmxpYyBzdXJ2ZXkgdm90ZQogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ1B1YmxpY1N1cnZleVZvdGUnICkgewogICAgICAgIG15ICRQdWJsaWNTdXJ2ZXlLZXkgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnUHVibGljU3VydmV5S2V5JyApOwoKICAgICAgICAjIGdldCBzdXJ2ZXkgZnJvbSBwdWJsaWMga2V5CiAgICAgICAgbXkgJVN1cnZleSA9ICRTdXJ2ZXlPYmplY3QtPlB1YmxpY1N1cnZleUdldCgKICAgICAgICAgICAgUHVibGljU3VydmV5S2V5ID0+ICRQdWJsaWNTdXJ2ZXlLZXksCiAgICAgICAgKTsKICAgICAgICBpZiAoICRTdXJ2ZXl7U3VydmV5SUR9ICkgewogICAgICAgICAgICBAUXVlc3Rpb25MaXN0ID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25MaXN0KAogICAgICAgICAgICAgICAgU3VydmV5SUQgPT4gJFN1cnZleXtTdXJ2ZXlJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBmb3IgbXkgJFF1ZXN0aW9uIChAUXVlc3Rpb25MaXN0KSB7CiAgICAgICAgICAgICAgICBpZiAoICRRdWVzdGlvbi0+e1R5cGV9IGVxICdZZXNObycgKSB7CiAgICAgICAgICAgICAgICAgICAgbXkgJFB1YmxpY1N1cnZleVZvdGUxID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSgKICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW0gPT4gIlB1YmxpY1N1cnZleVZvdGUxWyRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9XSIKICAgICAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgICAgICRRdWVzdGlvbi0+e0Fuc3dlclJlcXVpcmVkfQogICAgICAgICAgICAgICAgICAgICAgICAmJiAoICEkUHVibGljU3VydmV5Vm90ZTEgfHwgIWxlbmd0aCAkUHVibGljU3VydmV5Vm90ZTEgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAkRXJyb3JzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9eydBbnN3ZXIgcmVxdWlyZWQnfSA9IDE7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSA9ICRQdWJsaWNTdXJ2ZXlWb3RlMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2lmICggJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ1JhZGlvJyApIHsKICAgICAgICAgICAgICAgICAgICBteSAkUHVibGljU3VydmV5Vm90ZTIgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKAogICAgICAgICAgICAgICAgICAgICAgICBQYXJhbSA9PiAiUHVibGljU3VydmV5Vm90ZTJbJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH1dIgogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICAgICAgICAgJFF1ZXN0aW9uLT57QW5zd2VyUmVxdWlyZWR9CiAgICAgICAgICAgICAgICAgICAgICAgICYmICggISRQdWJsaWNTdXJ2ZXlWb3RlMiB8fCAhbGVuZ3RoICRQdWJsaWNTdXJ2ZXlWb3RlMiApCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRFcnJvcnN7ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9IH17J0Fuc3dlciByZXF1aXJlZCd9ID0gMTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9ID0gJFB1YmxpY1N1cnZleVZvdGUyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnQ2hlY2tib3gnICkgewogICAgICAgICAgICAgICAgICAgIG15IEBBbnN3ZXJMaXN0ID0gJFN1cnZleU9iamVjdC0+QW5zd2VyTGlzdCgKICAgICAgICAgICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfQogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgIGZvciBteSAkQW5zd2VyIChAQW5zd2VyTGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICBteSAkUHVibGljU3VydmV5Vm90ZTMgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW0gPT4gIlB1YmxpY1N1cnZleVZvdGUzWyRBbnN3ZXItPntBbnN3ZXJJRH1dIgogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoICRQdWJsaWNTdXJ2ZXlWb3RlMyAmJiAkUHVibGljU3VydmV5Vm90ZTMgZXEgJ1llcycgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoIEB7ICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9IH0sICRBbnN3ZXItPntBbnN3ZXJJRH07CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgICAgICAkUXVlc3Rpb24tPntBbnN3ZXJSZXF1aXJlZH0KICAgICAgICAgICAgICAgICAgICAgICAgJiYgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmluZWQgJEFuc3dlcnN7ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWYgJEFuc3dlcnN7ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9IH0gbmUgJ0FSUkFZJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICFAeyAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJEVycm9yc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfXsnQW5zd2VyIHJlcXVpcmVkJ30gPSAxOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2lmICggJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ1RleHRhcmVhJyApIHsKICAgICAgICAgICAgICAgICAgICBteSAkUHVibGljU3VydmV5Vm90ZTQgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKAogICAgICAgICAgICAgICAgICAgICAgICBQYXJhbSA9PiAiUHVibGljU3VydmV5Vm90ZTRbJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH1dIgogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgICMgY2hlY2sgaWYgcmljaCB0ZXh0IGlzIGVuYWJsZWQKICAgICAgICAgICAgICAgICAgICBpZiAoICRMYXlvdXRPYmplY3QtPntCcm93c2VyUmljaFRleHR9ICkgewogICAgICAgICAgICAgICAgICAgICAgICAkUHVibGljU3VydmV5Vm90ZTQgPSAoIGxlbmd0aCAkUHVibGljU3VydmV5Vm90ZTQgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiXCRodG1sL3RleHRcJCAkUHVibGljU3VydmV5Vm90ZTQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgICAgICRRdWVzdGlvbi0+e0Fuc3dlclJlcXVpcmVkfQogICAgICAgICAgICAgICAgICAgICAgICAmJgogICAgICAgICAgICAgICAgICAgICAgICAoICEkUHVibGljU3VydmV5Vm90ZTQgfHwgIWxlbmd0aCAkUHVibGljU3VydmV5Vm90ZTQgKQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAkRXJyb3JzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9eydBbnN3ZXIgcmVxdWlyZWQnfSA9IDE7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9ID0gJFB1YmxpY1N1cnZleVZvdGU0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnTlBTJyApIHsKICAgICAgICAgICAgICAgICAgICBteSAkUHVibGljU3VydmV5Vm90ZTUgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKAogICAgICAgICAgICAgICAgICAgICAgICBQYXJhbSA9PiAiUHVibGljU3VydmV5Vm90ZTVbJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH1dIgogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICAgICAgICAgJFF1ZXN0aW9uLT57QW5zd2VyUmVxdWlyZWR9CiAgICAgICAgICAgICAgICAgICAgICAgICYmICggISRQdWJsaWNTdXJ2ZXlWb3RlNSB8fCAhbGVuZ3RoICRQdWJsaWNTdXJ2ZXlWb3RlNSApCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRFcnJvcnN7ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9IH17J0Fuc3dlciByZXF1aXJlZCd9ID0gMTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9ID0gJFB1YmxpY1N1cnZleVZvdGU1OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAjIElmIHdlIGRpZG4ndCBoYXZlIGVycm9ycywganVzdCBzYXZlIHRoZSBhbnN3ZXJzCiAgICAgICAgICAgIGlmICggIXNjYWxhciBrZXlzICVFcnJvcnMgKSB7CiAgICAgICAgICAgICAgICBmb3IgbXkgJFF1ZXN0aW9uIChAUXVlc3Rpb25MaXN0KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnWWVzTm8nICkgewogICAgICAgICAgICAgICAgICAgICAgICAkU3VydmV5T2JqZWN0LT5QdWJsaWNBbnN3ZXJTZXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFB1YmxpY1N1cnZleUtleSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXN0aW9uSUQgICAgICA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZvdGVWYWx1ZSAgICAgICA9PiAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSwKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnUmFkaW8nICkgewogICAgICAgICAgICAgICAgICAgICAgICAkU3VydmV5T2JqZWN0LT5QdWJsaWNBbnN3ZXJTZXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFB1YmxpY1N1cnZleUtleSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXN0aW9uSUQgICAgICA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZvdGVWYWx1ZSAgICAgICA9PiAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSwKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnQ2hlY2tib3gnICkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcmVmICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9IGVxICdBUlJBWScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIEB7ICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG15ICRBbnN3ZXIgKCBAeyAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSB9ICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTdXJ2ZXlPYmplY3QtPlB1YmxpY0Fuc3dlclNldCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljU3VydmV5S2V5ID0+ICRQdWJsaWNTdXJ2ZXlLZXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXN0aW9uSUQgICAgICA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVm90ZVZhbHVlICAgICAgID0+ICRBbnN3ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNpZiAoICRRdWVzdGlvbi0+e1R5cGV9IGVxICdUZXh0YXJlYScgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRTdXJ2ZXlPYmplY3QtPlB1YmxpY0Fuc3dlclNldCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY1N1cnZleUtleSA9PiAkUHVibGljU3VydmV5S2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUXVlc3Rpb25JRCAgICAgID0+ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgVm90ZVZhbHVlICAgICAgID0+ICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9LAogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNpZiAoICRRdWVzdGlvbi0+e1R5cGV9IGVxICdOUFMnICkgewogICAgICAgICAgICAgICAgICAgICAgICAkU3VydmV5T2JqZWN0LT5QdWJsaWNBbnN3ZXJTZXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFB1YmxpY1N1cnZleUtleSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXN0aW9uSUQgICAgICA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZvdGVWYWx1ZSAgICAgICA9PiAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSwKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBzZXQgc3VydmV5IHJlcXVlc3QgYXMgaW52YWxpZAogICAgICAgICAgICAgICAgJFN1cnZleU9iamVjdC0+UHVibGljU3VydmV5SW52YWxpZFNldCgKICAgICAgICAgICAgICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFB1YmxpY1N1cnZleUtleSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+Q3VzdG9tZXJIZWFkZXIoCiAgICAgICAgICAgICAgICAgICAgVGl0bGUgPT4gVHJhbnNsYXRhYmxlKCdTdXJ2ZXknKSwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyBwcmludCB0aGUgbWFpbiB0YWJsZS4KICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1B1YmxpY1N1cnZleU1lc3NhZ2UnLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlVHlwZSAgID0+IFRyYW5zbGF0YWJsZSgnU3VydmV5IEluZm9ybWF0aW9uJyksCiAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VIZWFkZXIgPT4gVHJhbnNsYXRhYmxlKCdUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suJyksCiAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgICAgICAgPT4gVHJhbnNsYXRhYmxlKCdUaGUgc3VydmV5IGlzIGZpbmlzaGVkLicpLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnUHVibGljU3VydmV5JywKICAgICAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4geyVQYXJhbX0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5DdXN0b21lckZvb3RlcigpOwoKICAgICAgICAgICAgICAgIHJldHVybiAkT3V0cHV0OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgc2hvdyBzdXJ2ZXkgdm90ZSBkYXRhCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnU2hvd1ZvdGVEYXRhJyApIHsKICAgICAgICBteSAkUHVibGljU3VydmV5S2V5ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1B1YmxpY1N1cnZleUtleScgKTsKCiAgICAgICAgIyByZXR1cm4gaWYgZmVhdHVyZSBub3QgZW5hYmxlZAogICAgICAgIGlmICggISRDb25maWdPYmplY3QtPkdldCgiU3VydmV5OjpTaG93Vm90ZURhdGEiKSApIHsKICAgICAgICAgICAgJE91dHB1dCA9ICRMYXlvdXRPYmplY3QtPkN1c3RvbWVySGVhZGVyKCk7CgogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1B1YmxpY1N1cnZleU1lc3NhZ2UnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVR5cGUgICA9PiBUcmFuc2xhdGFibGUoJ1N1cnZleSBNZXNzYWdlIScpLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VIZWFkZXIgPT4gVHJhbnNsYXRhYmxlKCdNb2R1bGUgbm90IGVuYWJsZWQuJyksCiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSAgICAgICA9PiBUcmFuc2xhdGFibGUoCiAgICAgICAgICAgICAgICAgICAgICAgICdUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvci4nCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnUHVibGljU3VydmV5JywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Q3VzdG9tZXJGb290ZXIoKTsKCiAgICAgICAgICAgIHJldHVybiAkT3V0cHV0OwogICAgICAgIH0KCiAgICAgICAgIyBHZXQgdGhlIHJlcXVlc3QgZGF0YSBhbmQgc3RhcnQgc2hvd2luZyB0aGUgZGF0YQogICAgICAgIG15ICVSZXF1ZXN0RGF0YSA9ICRTdXJ2ZXlPYmplY3QtPlJlcXVlc3RHZXQoCiAgICAgICAgICAgIFB1YmxpY1N1cnZleUtleSA9PiAkUHVibGljU3VydmV5S2V5LAogICAgICAgICk7CgogICAgICAgIG15ICRTdXJ2ZXlJRCAgPSAkUmVxdWVzdERhdGF7U3VydmV5SUR9OwogICAgICAgIG15ICRSZXF1ZXN0SUQgPSAkUmVxdWVzdERhdGF7UmVxdWVzdElEfTsKCiAgICAgICAgIyBjaGVjayBpZiBzdXJ2ZXkgZXhpc3RzCiAgICAgICAgbXkgJFN1cnZleUV4aXN0cyA9ICRTdXJ2ZXlPYmplY3QtPkVsZW1lbnRFeGlzdHMoCiAgICAgICAgICAgIEVsZW1lbnRJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIEVsZW1lbnQgICA9PiAnU3VydmV5JwogICAgICAgICk7CiAgICAgICAgbXkgJFJlcXVlc3RFeGlzdHMgPSAkU3VydmV5T2JqZWN0LT5FbGVtZW50RXhpc3RzKAogICAgICAgICAgICBFbGVtZW50SUQgPT4gJFJlcXVlc3RJRCwKICAgICAgICAgICAgRWxlbWVudCAgID0+ICdSZXF1ZXN0JwogICAgICAgICk7CiAgICAgICAgaWYgKCAkU3VydmV5RXhpc3RzIG5lICdZZXMnIHx8ICRSZXF1ZXN0RXhpc3RzIG5lICdZZXMnICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJXcm9uZyBwdWJsaWMgc3VydmV5IGtleTogJFB1YmxpY1N1cnZleUtleSEiLAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2luZm8nLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgJE91dHB1dCA9ICRMYXlvdXRPYmplY3QtPkN1c3RvbWVySGVhZGVyKAogICAgICAgICAgICAgICAgVGl0bGUgPT4gJ1N1cnZleScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1B1YmxpY1N1cnZleU1lc3NhZ2UnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVR5cGUgICA9PiBUcmFuc2xhdGFibGUoJ1N1cnZleSBFcnJvciEnKSwKICAgICAgICAgICAgICAgICAgICBNZXNzYWdlSGVhZGVyID0+IFRyYW5zbGF0YWJsZSgnSW52YWxpZCBzdXJ2ZXkga2V5LicpLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgICAgICAgPT4gVHJhbnNsYXRhYmxlKAogICAgICAgICAgICAgICAgICAgICAgICAnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nCiAgICAgICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnUHVibGljU3VydmV5JywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Q3VzdG9tZXJGb290ZXIoKTsKICAgICAgICAgICAgcmV0dXJuICRPdXRwdXQ7CiAgICAgICAgfQoKICAgICAgICAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+Q3VzdG9tZXJIZWFkZXIoCiAgICAgICAgICAgIFRpdGxlID0+IFRyYW5zbGF0YWJsZSgnU3VydmV5IFZvdGUnKSwKICAgICAgICApOwoKICAgICAgICBteSAlU3VydmV5ID0gJFN1cnZleU9iamVjdC0+U3VydmV5R2V0KAogICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIFB1YmxpYyAgID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgIyBjbGVhbiBIVE1MCiAgICAgICAgaWYgKCAkU3VydmV5e0ludHJvZHVjdGlvbn0gKSB7CiAgICAgICAgICAgIGlmICggJFN1cnZleXtJbnRyb2R1Y3Rpb259ID1+IHN7XEFcJGh0bWxcL3RleHRcJFxzKC4qKX17JDF9eG1zICkgewogICAgICAgICAgICAgICAgbXkgJEhUTUxDb250ZW50ID0gJDE7CiAgICAgICAgICAgICAgICBpZiAoICEkSFRNTENvbnRlbnQgKSB7CiAgICAgICAgICAgICAgICAgICAgJFN1cnZleXtJbnRyb2R1Y3Rpb259ID0gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCgKICAgICAgICAgICAgICAgICAgICAgICAgVGV4dCAgICAgICAgICAgPT4gJFN1cnZleXtJbnRyb2R1Y3Rpb259LAogICAgICAgICAgICAgICAgICAgICAgICBIVE1MUmVzdWx0TW9kZSA9PiAxLAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgcHJpbnQgdGhlIG1haW4gdGFibGUuCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1B1YmxpY1N1cnZleVZvdGVEYXRhJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlU3VydmV5LAogICAgICAgICAgICAgICAgTWVzc2FnZVR5cGUgPT4gVHJhbnNsYXRhYmxlKCdTdXJ2ZXkgVm90ZSBEYXRhJyksCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgICAgICBteSBAUXVlc3Rpb25MaXN0ID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25MaXN0KAogICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgKTsKICAgICAgICBmb3IgbXkgJFF1ZXN0aW9uIChAUXVlc3Rpb25MaXN0KSB7CgogICAgICAgICAgICBteSAkQ2xhc3MgPSAnJzsKICAgICAgICAgICAgaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnVGV4dGFyZWEnICkgewogICAgICAgICAgICAgICAgJENsYXNzID0gJ1RleHRhcmVhJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbXkgJFJlcXVpcmVkVGV4dCA9ICcnOwogICAgICAgICAgICBpZiAoICRRdWVzdGlvbi0+e0Fuc3dlclJlcXVpcmVkfSApIHsKICAgICAgICAgICAgICAgICRDbGFzcyAuPSAnIE1hbmRhdG9yeSc7CiAgICAgICAgICAgICAgICAkUmVxdWlyZWRUZXh0ID0gJyogJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdQdWJsaWNTdXJ2ZXlWb3RlUXVlc3Rpb24nLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgJXskUXVlc3Rpb259LAogICAgICAgICAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAkQ2xhc3MsCiAgICAgICAgICAgICAgICAgICAgUmVxdWlyZWRUZXh0ID0+ICRSZXF1aXJlZFRleHQsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgICAgICBteSBAQW5zd2VyczsKICAgICAgICAgICAgaWYgKCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnUmFkaW8nIHx8ICRRdWVzdGlvbi0+e1R5cGV9IGVxICdDaGVja2JveCcgfHwgJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ05QUycgKSB7CiAgICAgICAgICAgICAgICBteSBAQW5zd2VyTGlzdDsKICAgICAgICAgICAgICAgIEBBbnN3ZXJMaXN0ID0gJFN1cnZleU9iamVjdC0+Vm90ZUdldCgKICAgICAgICAgICAgICAgICAgICBSZXF1ZXN0SUQgID0+ICRSZXF1ZXN0SUQsCiAgICAgICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBmb3IgbXkgJFJvdyAoQEFuc3dlckxpc3QpIHsKICAgICAgICAgICAgICAgICAgICBteSAlQW5zd2VyID0gJFN1cnZleU9iamVjdC0+QW5zd2VyR2V0KAogICAgICAgICAgICAgICAgICAgICAgICBBbnN3ZXJJRCA9PiAkUm93LT57Vm90ZVZhbHVlfSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIG15ICVEYXRhOwogICAgICAgICAgICAgICAgICAgICREYXRhe0Fuc3dlcn0gPSAkQW5zd2Vye0Fuc3dlcn07CiAgICAgICAgICAgICAgICAgICAgcHVzaCggQEFuc3dlcnMsIFwlRGF0YSApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2lmICggJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ1llc05vJyB8fCAkUXVlc3Rpb24tPntUeXBlfSBlcSAnVGV4dGFyZWEnICkgewogICAgICAgICAgICAgICAgbXkgQExpc3QgPSAkU3VydmV5T2JqZWN0LT5Wb3RlR2V0KAogICAgICAgICAgICAgICAgICAgIFJlcXVlc3RJRCAgPT4gJFJlcXVlc3RJRCwKICAgICAgICAgICAgICAgICAgICBRdWVzdGlvbklEID0+ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBteSAlRGF0YTsKICAgICAgICAgICAgICAgICREYXRhe0Fuc3dlcn0gPSAkTGlzdFswXS0+e1ZvdGVWYWx1ZX07CgogICAgICAgICAgICAgICAgIyBjbGVhbiBIVE1MCiAgICAgICAgICAgICAgICBpZiAoICRRdWVzdGlvbi0+e1R5cGV9IGVxICdUZXh0YXJlYScgJiYgJERhdGF7QW5zd2VyfSApIHsKICAgICAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJ9ID1+IHN7XEFcJGh0bWxcL3RleHRcJFxzKC4qKX17JDF9eG1zOwogICAgICAgICAgICAgICAgICAgICREYXRhe0Fuc3dlcn0gPSAkTGF5b3V0T2JqZWN0LT5Bc2NpaTJIdG1sKAogICAgICAgICAgICAgICAgICAgICAgICBUZXh0ICAgICAgICAgICA9PiAkRGF0YXtBbnN3ZXJ9LAogICAgICAgICAgICAgICAgICAgICAgICBIVE1MUmVzdWx0TW9kZSA9PiAxLAogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgIGlmICgkMSkgewogICAgICAgICAgICAgICAgICAgICAgICAkRGF0YXtBbnN3ZXJ9ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkhUTUxVdGlscycpLT5Ub0FzY2lpKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nID0+ICREYXRhe0Fuc3dlcn0sCiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcHVzaCggQEFuc3dlcnMsIFwlRGF0YSApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvciBteSAkUm93IChAQW5zd2VycykgewogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnUHVibGljU3VydmV5Vm90ZUFuc3dlcicsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICV7JFJvd30sCiAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzID0+ICRDbGFzcywKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdQdWJsaWNTdXJ2ZXknLAogICAgICAgICk7CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5DdXN0b21lckZvb3RlcigpOwoKICAgICAgICByZXR1cm4gJE91dHB1dDsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHNob3cgc3VydmV5CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBteSAkUHVibGljU3VydmV5S2V5ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1B1YmxpY1N1cnZleUtleScgKTsKICAgICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5DdXN0b21lckhlYWRlcigKICAgICAgICBUaXRsZSA9PiBUcmFuc2xhdGFibGUoJ1N1cnZleScpLAogICAgKTsKCiAgICBteSAkVXNlZFN1cnZleUtleSA9ICRTdXJ2ZXlPYmplY3QtPlB1YmxpY1N1cnZleUdldCgKICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFB1YmxpY1N1cnZleUtleSwKICAgICAgICBJbnZhbGlkICAgICAgICAgPT4gMSwKICAgICk7CgogICAgbXkgJVN1cnZleSA9ICRTdXJ2ZXlPYmplY3QtPlB1YmxpY1N1cnZleUdldCgKICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFB1YmxpY1N1cnZleUtleSwKICAgICk7CgogICAgJFN1cnZleXtQdWJsaWNTdXJ2ZXlLZXl9ID0gJFB1YmxpY1N1cnZleUtleTsKCiAgICBpZiAoJFVzZWRTdXJ2ZXlLZXkpIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUHVibGljU3VydmV5TWVzc2FnZScsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgTWVzc2FnZVR5cGUgICA9PiBUcmFuc2xhdGFibGUoJ1N1cnZleSBJbmZvcm1hdGlvbicpLAogICAgICAgICAgICAgICAgTWVzc2FnZUhlYWRlciA9PiBUcmFuc2xhdGFibGUoJ1RoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4nKSwKICAgICAgICAgICAgICAgIE1lc3NhZ2UgICAgICAgPT4gVHJhbnNsYXRhYmxlKCdZb3UgaGF2ZSBhbHJlYWR5IGFuc3dlcmVkIHRoZSBzdXJ2ZXkuJyksCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoIlN1cnZleTo6U2hvd1ZvdGVEYXRhIikgKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnU2hvd0Fuc3dlcnNCdXR0b24nLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgUHVibGljU3VydmV5S2V5ID0+ICRQdWJsaWNTdXJ2ZXlLZXksCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KICAgIGVsc2lmICggJFN1cnZleXtTdXJ2ZXlJRH0gKSB7CgogICAgICAgICMgY2xlYW4gSFRNTCBhbmQgcHJvY2VzcyBpbnRyb2R1Y3Rpb24gdGV4dAogICAgICAgIGlmICggJFN1cnZleXtJbnRyb2R1Y3Rpb259ID1+IHN7XEFcJGh0bWxcL3RleHRcJFxzKC4qKX17JDF9eG1zICkgewogICAgICAgICAgICBteSAkSFRNTENvbnRlbnQgPSAkMTsKICAgICAgICAgICAgaWYgKCAhJEhUTUxDb250ZW50ICkgewogICAgICAgICAgICAgICAgJFN1cnZleXtJbnRyb2R1Y3Rpb259ID0gJExheW91dE9iamVjdC0+QXNjaWkySHRtbCgKICAgICAgICAgICAgICAgICAgICBUZXh0ICAgICAgICAgICA9PiAkU3VydmV5e0ludHJvZHVjdGlvbn0sCiAgICAgICAgICAgICAgICAgICAgSFRNTFJlc3VsdE1vZGUgPT4gMSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1B1YmxpY1N1cnZleScsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgJVN1cnZleSwKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIGdldCB0aWNrZXQKICAgICAgICBteSAlUmVxdWVzdERhdGEgPSAkU3VydmV5T2JqZWN0LT5SZXF1ZXN0R2V0KAogICAgICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFB1YmxpY1N1cnZleUtleSwKICAgICAgICApOwogICAgICAgIG15ICVUaWNrZXQgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0JyktPlRpY2tldEdldCgKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFJlcXVlc3REYXRhe1RpY2tldElEfSwKICAgICAgICApOwoKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUHVibGljVGlja2V0JywKICAgICAgICAgICAgRGF0YSA9PiB7JVRpY2tldH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBJZiB3ZSBoYWQgZXJyb3JzLCBAUXVlc3Rpb25MaXN0IGlzIGFscmVhZHkgZmlsbGVkLCBzbyBsZXQncyBzYXZlIGEgU1FMIHF1ZXJ5CiAgICAgICAgaWYgKCAhQFF1ZXN0aW9uTGlzdCApIHsKICAgICAgICAgICAgQFF1ZXN0aW9uTGlzdCA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uTGlzdCgKICAgICAgICAgICAgICAgIFN1cnZleUlEID0+ICRTdXJ2ZXl7U3VydmV5SUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgZm9yIG15ICRRdWVzdGlvbiAoQFF1ZXN0aW9uTGlzdCkgewoKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdQdWJsaWNRdWVzdGlvbnMnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7fSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG15ICRDbGFzcyAgICAgICAgPSAnJzsKICAgICAgICAgICAgbXkgJFJlcXVpcmVkVGV4dCA9ICcnOwogICAgICAgICAgICBteSAkRXJyb3JUZXh0OwogICAgICAgICAgICBpZiAoICRRdWVzdGlvbi0+e0Fuc3dlclJlcXVpcmVkfSApIHsKICAgICAgICAgICAgICAgICRDbGFzcyAuPSAnTWFuZGF0b3J5JzsKICAgICAgICAgICAgICAgICRSZXF1aXJlZFRleHQgPSAnKiAnOwoKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAkRXJyb3JzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9CiAgICAgICAgICAgICAgICAmJiByZWYgJEVycm9yc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSBlcSAnSEFTSCcKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICMgJUVycm9ycyBob2xkcyBhIGtleSBmb3IgZWFjaCBRdWVzdGlvbklEIHRoYXQgaGFkIGVycm9ycy4KICAgICAgICAgICAgICAgICMgVGhlIHZhbHVlIGlzIGEgaGFzaCByZWZlcmVuY2Ugd2hvJ3Mga2V5cyBhcmUgdGhlIEVycm9yVHlwZQogICAgICAgICAgICAgICAgIyBUaGUgdmFsdWUgaXMgc2V0IHRvIDEKICAgICAgICAgICAgICAgICMgUmVhc29uIGZvciB0aGlzIGlzLCB0aGF0IHRoZSB2YWx1ZSBtYXkgYmUgdXNlZCB0byBkaXNwbGF5CiAgICAgICAgICAgICAgICAjIGEgbW9yZSBzcGVjaWZpYyBFcnJvciBNZXNzYWdlIGNvbnRhaW5pbmcgdGV4dCBxdWVzdGlvbiBzcGVjaWZpYyBlcnJvciBtZXNzYWdlcwogICAgICAgICAgICAgICAgIyBvciBzaW1pbGFyLiBTbyBhIHR5cGUgc3BlY2lmaWMgZXJyb3IgbWVzc2FnZSB0cmVhdG1lbnQgd291bGQgYmUgcG9zc2libGUgaGVyZS4KCiAgICAgICAgICAgICAgICAjIEF0IHRoZSB0aW1lIG9mIGNyZWF0aW9uIHRoZSBvbmx5IGVycm9yIHR5cGUgd2FzICdBbnN3ZXIgcmVxdWlyZWQnLgogICAgICAgICAgICAgICAgIyBTbyBhIGRhdGEgc3RydWN0dXJlIGxvb2tzIGxpa2UgdGhpczoKICAgICAgICAgICAgICAgICMgJUVycm9ycyA9ICgKICAgICAgICAgICAgICAgICMgICAxID0+IHsKICAgICAgICAgICAgICAgICMgICAgICAgICdBbnN3ZXIgcmVxdWlyZWQnID0+IDEsCiAgICAgICAgICAgICAgICAjICAgfSwKICAgICAgICAgICAgICAgICMgICAyID0+IHsKICAgICAgICAgICAgICAgICMgICAgICAgICdBbnN3ZXIgcmVxdWlyZWQnID0+IDEsCiAgICAgICAgICAgICAgICAjICAgIH0sCiAgICAgICAgICAgICAgICAjICk7CgogICAgICAgICAgICAgICAgIyBMYXRlciBvbiBhIERhdGEgc3RydWN0dXJlIGxpa2UgdGhlIGZvbGxvd2luZyB3b3VsZCBiZSBwb3NzaWJsZToKICAgICAgICAgICAgICAgICMgJUVycm9ycyA9ICgKICAgICAgICAgICAgICAgICMgICAxID0+IHsKICAgICAgICAgICAgICAgICMgICAgICAgICdJbnZhbGlkIHRleHQnID0+ICdZb3VyIFRleHQgZGlkIG5vdCBjb250YWluIHRoZSBPcmRlciBudW1iZXInLAogICAgICAgICAgICAgICAgIyAgIH0sCiAgICAgICAgICAgICAgICAjICAgMiA9PiB7CiAgICAgICAgICAgICAgICAjICAgICAgICAnQW5zd2VyIHJlcXVpcmVkJyA9PiAxLAogICAgICAgICAgICAgICAgIyAgICB9LAogICAgICAgICAgICAgICAgIyApOwogICAgICAgICAgICAgICAgIyBBcyBzb29uIGFzIHRoaXMgaXMgbmVlZGVkLCB0aGUgZm9sbG93aW5nICRFcnJvclRleHQgc3RyaW5nIGJ1aWxkaW5nIGhhcyB0byBiZQogICAgICAgICAgICAgICAgIyBjaGFuZ2VkLgoKICAgICAgICAgICAgICAgICMgVGhlIHN0cmluZyBidWlsZGluZyB3b3JrcyBhdCB0aGUgbW9tZW50IHRoaXMgd2F5OgogICAgICAgICAgICAgICAgIyAxLiBHbyB0aHJvdWdoIGFsbCBrZXlzIG9mIHRoZSAleyAkRXJyb3JzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9IH0gaGFzaAogICAgICAgICAgICAgICAgIyAyLiBEbyBhIHRyYW5zbGF0aW9uIGZvciBlYWNoIGtleSAoaW5zaWRlIHRoZSAibWFwIHt9Ii1jbGF1c2UpCiAgICAgICAgICAgICAgICAjIDMuIGpvaW4gdGhlIHJlc3VsdGluZyBBcnJheSBieSBwdXR0aW5nICI8L3A+XG48L3A+IiBpbiBiZXR3ZWVuIHRoZSBBcnJheSBrZXlzCiAgICAgICAgICAgICAgICAjIDQuIGFkZCAnPHA+JyBhdCB0aGUgYmVnaW5uaW5nIGFuZCAnPC9wPicgYXQgdGhlIGVuZC4KCiAgICAgICAgICAgICAgICAkRXJyb3JUZXh0ID0gJzxwPicKICAgICAgICAgICAgICAgICAgICAuICgKICAgICAgICAgICAgICAgICAgICAgICAgam9pbiAiPC9wPlxuPHA+IiwKICAgICAgICAgICAgICAgICAgICAgICAgbWFwIHsgJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCRfKSB9CiAgICAgICAgICAgICAgICAgICAgICAgIGtleXMgJXsgJEVycm9yc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSB9CiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgIC4gJzwvcD4nOwoKICAgICAgICAgICAgICAgICRFcnJvclRleHQgPSA8PCJFTkQiOwogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVG9vbHRpcEVycm9yIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlRvb2x0aXAgVG9uZ3VlTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVG9uZ3VlIiA+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCIgcm9sZT0idG9vbHRpcCIgc3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJEVycm9yVGV4dAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KRU5ECiAgICAgICAgICAgICAgICAkQ2xhc3MgLj0gJyBFcnJvcic7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ1llc05vJyApIHsKCiAgICAgICAgICAgICAgICBteSAlU2VsZWN0ZWQgPSAoCiAgICAgICAgICAgICAgICAgICAgWWVzU2VsZWN0ZWQgPT4gKAogICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSBlcSAnWWVzJwogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgPyAnY2hlY2tlZD0iY2hlY2tlZCInCiAgICAgICAgICAgICAgICAgICAgOiAnJywKICAgICAgICAgICAgICAgICAgICBOb1NlbGVjdGVkID0+ICgKICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgJEFuc3dlcnN7ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9IH0gZXEgJ05vJwogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgPyAnY2hlY2tlZD0iY2hlY2tlZCInCiAgICAgICAgICAgICAgICAgICAgOiAnJywKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnUHVibGljQW5zd2VyWWVzTm8nLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAleyRRdWVzdGlvbn0sCiAgICAgICAgICAgICAgICAgICAgICAgICVTZWxlY3RlZCwKICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3JUZXh0ICAgID0+ICRFcnJvclRleHQgfHwgJycsCiAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAkQ2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVkVGV4dCA9PiAkUmVxdWlyZWRUZXh0LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2lmICggJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ1JhZGlvJyApIHsKICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1B1YmxpY0Fuc3dlclJhZGlvJywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgJXskUXVlc3Rpb259LAogICAgICAgICAgICAgICAgICAgICAgICBFcnJvclRleHQgICAgPT4gJEVycm9yVGV4dCB8fCAnJywKICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICRDbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZWRUZXh0ID0+ICRSZXF1aXJlZFRleHQsCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBteSBAQW5zd2VyTGlzdCA9ICRTdXJ2ZXlPYmplY3QtPkFuc3dlckxpc3QoCiAgICAgICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBmb3IgbXkgJEFuc3dlciAoQEFuc3dlckxpc3QpIHsKCiAgICAgICAgICAgICAgICAgICAgbXkgJFNlbGVjdGVkID0gJyc7CiAgICAgICAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9CiAgICAgICAgICAgICAgICAgICAgICAgICYmICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9IGVxICRBbnN3ZXItPntBbnN3ZXJJRH0KICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJFNlbGVjdGVkID0gJ2NoZWNrZWQ9ImNoZWNrZWQiJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1B1YmxpY0Fuc3dlclJhZGlvYicsCiAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJXskQW5zd2VyfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuc3dlclNlbGVjdGVkID0+ICRTZWxlY3RlZCwKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2lmICggJFF1ZXN0aW9uLT57VHlwZX0gZXEgJ0NoZWNrYm94JyApIHsKICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1B1YmxpY0Fuc3dlckNoZWNrYm94JywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgJXskUXVlc3Rpb259LAogICAgICAgICAgICAgICAgICAgICAgICBFcnJvclRleHQgICAgPT4gJEVycm9yVGV4dCB8fCAnJywKICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICRDbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZWRUZXh0ID0+ICRSZXF1aXJlZFRleHQsCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBteSBAQW5zd2VyTGlzdCA9ICRTdXJ2ZXlPYmplY3QtPkFuc3dlckxpc3QoCiAgICAgICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBmb3IgbXkgJEFuc3dlciAoQEFuc3dlckxpc3QpIHsKICAgICAgICAgICAgICAgICAgICBteSAkU2VsZWN0ZWQgPSAnJzsKICAgICAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgJEFuc3dlcnN7ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9IH0KICAgICAgICAgICAgICAgICAgICAgICAgJiYgcmVmICRBbnN3ZXJzeyAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSB9IGVxICdBUlJBWScKICAgICAgICAgICAgICAgICAgICAgICAgJiYgQHsgJEFuc3dlcnN7ICRRdWVzdGlvbi0+e1F1ZXN0aW9uSUR9IH0gfQogICAgICAgICAgICAgICAgICAgICAgICAmJiBzY2FsYXIgZ3JlcCB7ICRfIGVxICRBbnN3ZXItPntBbnN3ZXJJRH0gfQogICAgICAgICAgICAgICAgICAgICAgICBAeyAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSB9CiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRTZWxlY3RlZCA9ICdjaGVja2VkPSJjaGVja2VkIic7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdQdWJsaWNBbnN3ZXJDaGVja2JveGInLAogICAgICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICV7JEFuc3dlcn0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbnN3ZXJTZWxlY3RlZCA9PiAkU2VsZWN0ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNpZiAoICRRdWVzdGlvbi0+e1R5cGV9IGVxICdUZXh0YXJlYScgKSB7CiAgICAgICAgICAgICAgICBteSAkVmFsdWUgPSAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSB8fCAnJzsKICAgICAgICAgICAgICAgICRWYWx1ZSA9fiBzL15cJGh0bWxcL3RleHRcJFxzLy87CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdQdWJsaWNBbnN3ZXJUZXh0YXJlYScsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICV7JFF1ZXN0aW9ufSwKICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3JUZXh0ICAgID0+ICRFcnJvclRleHQgfHwgJycsCiAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAkQ2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVkVGV4dCA9PiAkUmVxdWlyZWRUZXh0LAogICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSAgICAgICAgPT4gJFZhbHVlLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICMgY2hlY2sgaWYgcmljaCB0ZXh0IGlzIGVuYWJsZWQKICAgICAgICAgICAgICAgIGlmICggJExheW91dE9iamVjdC0+e0Jyb3dzZXJSaWNoVGV4dH0gKSB7CiAgICAgICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+Q3VzdG9tZXJTZXRSaWNoVGV4dFBhcmFtZXRlcnMoCiAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgPT4ge30sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNpZiAoICRRdWVzdGlvbi0+e1R5cGV9IGVxICdOUFMnICkgewoKICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1B1YmxpY0Fuc3dlck5QUycsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICV7JFF1ZXN0aW9ufSwKICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3JUZXh0ICAgID0+ICRFcnJvclRleHQgfHwgJycsCiAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAkQ2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVkVGV4dCA9PiAkUmVxdWlyZWRUZXh0LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgbXkgQEFuc3dlckxpc3QgPSAkU3VydmV5T2JqZWN0LT5BbnN3ZXJMaXN0KAogICAgICAgICAgICAgICAgICAgIFF1ZXN0aW9uSUQgPT4gJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgZm9yIG15ICRBbnN3ZXIgKEBBbnN3ZXJMaXN0KSB7CgogICAgICAgICAgICAgICAgICAgIG15ICRTZWxlY3RlZCA9ICcnOwogICAgICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfQogICAgICAgICAgICAgICAgICAgICAgICAmJiAkQW5zd2Vyc3sgJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0gfSBlcSAkQW5zd2VyLT57QW5zd2VySUR9CiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRTZWxlY3RlZCA9ICdjaGVja2VkPSJjaGVja2VkIic7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdQdWJsaWNBbnN3ZXJOUFNiJywKICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAleyRBbnN3ZXJ9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5zd2VyU2VsZWN0ZWQgPT4gJFNlbGVjdGVkLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUHVibGljU3VydmV5TWVzc2FnZScsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgTWVzc2FnZVR5cGUgICA9PiBUcmFuc2xhdGFibGUoJ1N1cnZleSBFcnJvciEnKSwKICAgICAgICAgICAgICAgIE1lc3NhZ2VIZWFkZXIgPT4gVHJhbnNsYXRhYmxlKCdJbnZhbGlkIHN1cnZleSBrZXkuJyksCiAgICAgICAgICAgICAgICBNZXNzYWdlICAgICAgID0+IFRyYW5zbGF0YWJsZSgKICAgICAgICAgICAgICAgICAgICAnVGhlIGluc2VydGVkIHN1cnZleSBrZXkgaXMgaW52YWxpZCwgaWYgeW91IGZvbGxvd2VkIGEgbGluayBtYXliZSB0aGlzIGlzIG9ic29sZXRlIG9yIGJyb2tlbi4nCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ1B1YmxpY1N1cnZleScsCiAgICAgICAgRGF0YSAgICAgICAgID0+IHsKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgIH0sCiAgICApOwogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5DdXN0b21lckZvb3RlcigpOwoKICAgIHJldHVybiAkT3V0cHV0Owp9CgoxOwo=</File>
        <File Location="Kernel/Output/HTML/Layout/Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQ6OlN1cnZleTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKCj1oZWFkMSBQVUJMSUMgSU5URVJGQUNFCgo9aGVhZDIgU3VydmV5TGlzdFNob3coKQoKUmV0dXJucyBhIGxpc3Qgb2Ygc3VydmV5cyBsaXN0IHdpdGggcGFnaW5hdGlvbi4KClRoaXMgZnVuY3Rpb24gaXMgc2ltaWxhciB0byBMPEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQ6OlRpY2tldDo6VGlja2V0TGlzdFNob3coKT4KaW4gRjxLZXJuZWwvT3V0cHV0L0hUTUwvTGF5b3V0L1RpY2tldC5wbT4uCgogICAgbXkgJE91dHB1dCA9ICRMYXlvdXRPYmplY3QtPlN1cnZleUxpc3RTaG93KAogICAgICAgIFN1cnZleUlEcyAgPT4gJFN1cnZleUlEc1JlZiwgICAgICAgICAgICAgICAgICAgICAgIyB0b3RhbCBsaXN0IG9mIHN1cnZleXMgaWRzLCB0aGF0IGNhbiBiZSBsaXN0ZWQKICAgICAgICBUb3RhbCAgICAgID0+IHNjYWxhciBAeyAkU3VydmV5SURzUmVmIH0sICAgICAgICAgICMgdG90YWwgbnVtYmVyIG9mIGxpc3QgaXRlbXMsIGNoYW5nZXMgaW4gdGhpcyBjYXNlCiAgICAgICAgVmlldyAgICAgICA9PiAkU2VsZi0+e1ZpZXd9LCAgICAgICAgICAgICAgICAgICAgICAjIG9wdGlvbmFsLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyAnU21hbGwnCiAgICAgICAgRmlsdGVyICAgICA9PiAnQWxsJywKICAgICAgICBGaWx0ZXJzICAgID0+IFwlTmF2QmFyRmlsdGVyLAogICAgICAgIEZpbHRlckxpbmsgPT4gJExpbmtGaWx0ZXIsCiAgICAgICAgVGl0bGVOYW1lICA9PiAnT3ZlcnZpZXc6IFN1cnZleScsCiAgICAgICAgVGl0bGVWYWx1ZSA9PiAkU2VsZi0+e0ZpbHRlcn0sCiAgICAgICAgRW52ICAgICAgICA9PiAkU2VsZiwKICAgICAgICBMaW5rUGFnZSAgID0+ICRMaW5rUGFnZSwKICAgICk7Cgo9Y3V0CgpzdWIgU3VydmV5TGlzdFNob3cgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHRha2Ugb2JqZWN0IHJlZiB0byBsb2NhbCwgcmVtb3ZlIGl0IGZyb20gJVBhcmFtIChwcmV2ZW50IG1lbW9yeSBsZWFrKQogICAgbXkgJEVudiA9ICRQYXJhbXtFbnZ9OwogICAgZGVsZXRlICRQYXJhbXtFbnZ9OwoKICAgIG15ICVKU0RhdGE7CgogICAgIyBsb29rdXAgbGF0ZXN0IHVzZWQgdmlldyBtb2RlCiAgICBpZiAoICEkUGFyYW17Vmlld30gJiYgJFNlbGYtPnsgJ1VzZXJTdXJ2ZXlPdmVydmlldycgLiAkRW52LT57QWN0aW9ufSB9ICkgewogICAgICAgICRQYXJhbXtWaWV3fSA9ICRTZWxmLT57ICdVc2VyU3VydmV5T3ZlcnZpZXcnIC4gJEVudi0+e0FjdGlvbn0gfTsKICAgIH0KCiAgICAjIHNldCBmcm9udGVuZAogICAgbXkgJEZyb250ZW5kID0gJFBhcmFte0Zyb250ZW5kfSB8fCAnQWdlbnQnOwoKICAgICMgc2V0IGRlZmF1bHQgdmlldyBtb2RlIHRvICdzbWFsbCcKICAgIG15ICRWaWV3ID0gJFBhcmFte1ZpZXd9IHx8ICdTbWFsbCc7CgogICAgIyBzdG9yZSBsYXRlc3QgdmlldyBtb2RlCiAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6QXV0aFNlc3Npb24nKS0+VXBkYXRlU2Vzc2lvbklEKAogICAgICAgIFNlc3Npb25JRCA9PiAkU2VsZi0+e1Nlc3Npb25JRH0sCiAgICAgICAgS2V5ICAgICAgID0+ICdVc2VyU3VydmV5T3ZlcnZpZXcnIC4gJEVudi0+e0FjdGlvbn0sCiAgICAgICAgVmFsdWUgICAgID0+ICRWaWV3LAogICAgKTsKCiAgICAjIGdldCBuZWVkZWQgb2JqZWN0cwogICAgbXkgJENvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CgogICAgIyBnZXQgYmFja2VuZCBmcm9tIGNvbmZpZwogICAgbXkgJEJhY2tlbmRzID0gJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OkZyb250ZW5kOjpPdmVydmlldycpOwogICAgaWYgKCAhJEJhY2tlbmRzICkgewogICAgICAgIHJldHVybiAkU2VsZi0+RmF0YWxFcnJvcigKICAgICAgICAgICAgTWVzc2FnZSA9PiAnTmVlZCBjb25maWcgb3B0aW9uIFN1cnZleTo6RnJvbnRlbmQ6Ok92ZXJ2aWV3JywKICAgICAgICApOwogICAgfQoKICAgICMgY2hlY2sgZm9yIGhhc2gtcmVmCiAgICBpZiAoIHJlZiAkQmFja2VuZHMgbmUgJ0hBU0gnICkgewogICAgICAgIHJldHVybiAkU2VsZi0+RmF0YWxFcnJvcigKICAgICAgICAgICAgTWVzc2FnZSA9PiAnQ29uZmlnIG9wdGlvbiBTdXJ2ZXk6OkZyb250ZW5kOjpPdmVydmlldyBuZWVkcyB0byBiZSBhIEhBU0ggcmVmIScsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGNoZWNrIGZvciBjb25maWcga2V5CiAgICBpZiAoICEkQmFja2VuZHMtPnskVmlld30gKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5GYXRhbEVycm9yKAogICAgICAgICAgICBNZXNzYWdlID0+ICJObyBjb25maWcgb3B0aW9uIGZvdW5kIGZvciB0aGUgdmlldyAnJFZpZXcnISIsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIG5hdmlnYXRpb24gYmFyCiAgICBteSAkU3RhcnRIaXQgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0JyktPkdldFBhcmFtKAogICAgICAgIFBhcmFtID0+ICdTdGFydEhpdCcsCiAgICApIHx8IDE7CgogICAgIyBnZXQgcGVyc29uYWwgcGFnZSBzaG93biBjb3VudAogICAgbXkgJFBhZ2VTaG93blByZWZlcmVuY2VzS2V5ID0gJ1VzZXJTdXJ2ZXlPdmVydmlldycgLiAkVmlldyAuICdQYWdlU2hvd24nOwogICAgbXkgJFBhZ2VTaG93biAgICAgICAgICAgICAgID0gJFNlbGYtPnskUGFnZVNob3duUHJlZmVyZW5jZXNLZXl9IHx8IDEwOwogICAgbXkgJEdyb3VwICAgICAgICAgICAgICAgICAgID0gJ1N1cnZleU92ZXJ2aWV3JyAuICRWaWV3IC4gJ1BhZ2VTaG93bic7CgogICAgIyBjaGVjayBzdGFydCBvcHRpb24sIGlmIGhpZ2hlciB0aGVuIGVsZW1lbnRzIGF2YWlsYWJsZSwgc2V0CiAgICAjIGl0IHRvIHRoZSBsYXN0IG92ZXJ2aWV3IHBhZ2UgKFRoYW5rcyB0byBTdGVmYW4gU2NobWlkdCEpCiAgICBpZiAoICRTdGFydEhpdCA+ICRQYXJhbXtUb3RhbH0gKSB7CiAgICAgICAgbXkgJFBhZ2VzID0gaW50KCAoICRQYXJhbXtUb3RhbH0gLyAkUGFnZVNob3duICkgKyAwLjk5OTk5ICk7CiAgICAgICAgJFN0YXJ0SGl0ID0gKCAoICRQYWdlcyAtIDEgKSAqICRQYWdlU2hvd24gKSArIDE7CiAgICB9CgogICAgIyBnZXQgZGF0YSBzZWxlY3Rpb24KICAgIG15ICVEYXRhOwogICAgbXkgJENvbmZpZyA9ICRDb25maWdPYmplY3QtPkdldCgnUHJlZmVyZW5jZXNHcm91cHMnKTsKICAgIGlmICggJENvbmZpZyAmJiAkQ29uZmlnLT57JEdyb3VwfSAmJiAkQ29uZmlnLT57JEdyb3VwfS0+e0RhdGF9ICkgewogICAgICAgICVEYXRhID0gJXsgJENvbmZpZy0+eyRHcm91cH0tPntEYXRhfSB9OwogICAgfQoKICAgICMgc2V0IHBhZ2UgbGltaXQgYW5kIGJ1aWxkIHBhZ2UgbmF2aWdhdGlvbgogICAgbXkgJExpbWl0ICAgPSAkUGFyYW17TGltaXR9IHx8IDIwXzAwMDsKICAgIG15ICVQYWdlTmF2ID0gJFNlbGYtPlBhZ2VOYXZCYXIoCiAgICAgICAgTGltaXQgICAgID0+ICRMaW1pdCwKICAgICAgICBTdGFydEhpdCAgPT4gJFN0YXJ0SGl0LAogICAgICAgIFBhZ2VTaG93biA9PiAkUGFnZVNob3duLAogICAgICAgIEFsbEhpdHMgICA9PiAkUGFyYW17VG90YWx9IHx8IDAsCiAgICAgICAgQWN0aW9uICAgID0+ICdBY3Rpb249JyAuICRTZWxmLT57QWN0aW9ufSwKICAgICAgICBMaW5rICAgICAgPT4gJFBhcmFte0xpbmtQYWdlfSwKICAgICk7CgogICAgIyBidWlsZCBzaG93biBzdXJ2ZXlzIHBlciBwYWdlCiAgICAkUGFyYW17UmVxdWVzdGVkVVJMfSAgICA9ICJBY3Rpb249JFNlbGYtPntBY3Rpb259IjsKICAgICRQYXJhbXtHcm91cH0gICAgICAgICAgID0gJEdyb3VwOwogICAgJFBhcmFte1ByZWZlcmVuY2VzS2V5fSAgPSAkUGFnZVNob3duUHJlZmVyZW5jZXNLZXk7CiAgICAkUGFyYW17UGFnZVNob3duU3RyaW5nfSA9ICRTZWxmLT5CdWlsZFNlbGVjdGlvbigKICAgICAgICBOYW1lICAgICAgICA9PiAkUGFnZVNob3duUHJlZmVyZW5jZXNLZXksCiAgICAgICAgU2VsZWN0ZWRJRCAgPT4gJFBhZ2VTaG93biwKICAgICAgICBUcmFuc2xhdGlvbiA9PiAwLAogICAgICAgIERhdGEgICAgICAgID0+IFwlRGF0YSwKICAgICk7CgogICAgIyBidWlsZCBzdGF0dXMgc2VsZWN0aW9uCiAgICAkUGFyYW17U3RhdGVTdHJ9ID0gJFNlbGYtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgIE5hbWUgPT4gJ1N0YXRlcycsCiAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgIE1hc3RlciAgPT4gJ01hc3RlcicsCiAgICAgICAgICAgIFZhbGlkICAgPT4gJ1ZhbGlkJywKICAgICAgICAgICAgSW52YWxpZCA9PiAnSW52YWxpZCcsCiAgICAgICAgICAgIE5ldyAgICAgPT4gJ05ldycsCiAgICAgICAgfSwKICAgICAgICBDbGFzcyAgICAgID0+ICdNb2Rlcm5pemUnLAogICAgICAgIE11bHRpcGxlICAgPT4gMSwKICAgICAgICBTZWxlY3RlZElEID0+ICRQYXJhbXtTdXJ2ZXlTZWFyY2h9LT57U3RhdGVzfSwKICAgICk7CgogICAgJFBhcmFte0Z1bGx0ZXh0fSA9ICRQYXJhbXtTdXJ2ZXlTZWFyY2h9LT57V2hhdH0gfHwgJyc7CgogICAgIyBidWlsZCBjcmVhdGUgdGltZSBzbG90cwogICAgJFBhcmFte1N1cnZleUNyZWF0ZVRpbWVTdGFydH0gPSAkU2VsZi0+QnVpbGREYXRlU2VsZWN0aW9uKAogICAgICAgIFByZWZpeCAgID0+ICdTdXJ2ZXlDcmVhdGVUaW1lU3RhcnQnLAogICAgICAgIEZvcm1hdCAgID0+ICdEYXRlSW5wdXRGb3JtYXQnLAogICAgICAgIERpZmZUaW1lID0+IC0oICggNjAgKiA2MCAqIDI0ICkgKiAzMCApLAogICAgICAgICV7ICRQYXJhbXtTdXJ2ZXlTZWFyY2h9e1N1cnZleUNyZWF0ZVRpbWVTdGFydH0gfSwKICAgICk7CiAgICAkUGFyYW17U3VydmV5Q3JlYXRlVGltZVN0b3B9ID0gJFNlbGYtPkJ1aWxkRGF0ZVNlbGVjdGlvbigKICAgICAgICBQcmVmaXggPT4gJ1N1cnZleUNyZWF0ZVRpbWVTdG9wJywKICAgICAgICBGb3JtYXQgPT4gJ0RhdGVJbnB1dEZvcm1hdCcsCiAgICAgICAgJXsgJFBhcmFte1N1cnZleVNlYXJjaH17U3VydmV5Q3JlYXRlVGltZVN0b3B9IH0KICAgICk7CgogICAgIyBuYXZpZ2F0aW9uIGJhciBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgb3ZlcnZpZXcKICAgICRQYXJhbXtWaWV3fSA9ICRWaWV3OwogICAgJFNlbGYtPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ092ZXJ2aWV3TmF2QmFyJywKICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICApOwoKICAgICMgYmFjayBsaW5rCiAgICBpZiAoICRQYXJhbXtMaW5rQmFja30gKSB7CiAgICAgICAgJEpTRGF0YXtQcm9maWxlfSA9ICRQYXJhbXtQcm9maWxlfTsKCiAgICAgICAgJFNlbGYtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdPdmVydmlld05hdkJhclBhZ2VCYWNrJywKICAgICAgICAgICAgRGF0YSA9PiBcJVBhcmFtLAogICAgICAgICk7CiAgICB9CgogICAgIyBnZXQgZmlsdGVycwogICAgaWYgKCAkUGFyYW17RmlsdGVyc30gKSB7CgogICAgICAgICMgZ2V0IGdpdmVuIGZpbHRlcnMKICAgICAgICBteSBATmF2QmFyRmlsdGVyczsKICAgICAgICBmb3IgbXkgJFByaW8gKCBzb3J0IGtleXMgJXsgJFBhcmFte0ZpbHRlcnN9IH0gKSB7CiAgICAgICAgICAgIHB1c2ggQE5hdkJhckZpbHRlcnMsICRQYXJhbXtGaWx0ZXJzfS0+eyRQcmlvfTsKICAgICAgICB9CgogICAgICAgICMgYnVpbGQgZmlsdGVyIGNvbnRlbnQKICAgICAgICAkU2VsZi0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ092ZXJ2aWV3TmF2QmFyRmlsdGVyJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBsb29wIG92ZXIgZmlsdGVycwogICAgICAgIG15ICRDb3VudCA9IDA7CiAgICAgICAgZm9yIG15ICRGaWx0ZXIgKEBOYXZCYXJGaWx0ZXJzKSB7CgogICAgICAgICAgICAjIGluY3JlbWVudCBmaWx0ZXIgY291bnQgYW5kIGJ1aWxkIGZpbHRlciBpdGVtCiAgICAgICAgICAgICRDb3VudCsrOwogICAgICAgICAgICAkU2VsZi0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdPdmVydmlld05hdkJhckZpbHRlckl0ZW0nLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgICAgICV7JEZpbHRlcn0sCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBmaWx0ZXIgaXMgc2VsZWN0ZWQKICAgICAgICAgICAgaWYgKCAkRmlsdGVyLT57RmlsdGVyfSBlcSAkUGFyYW17RmlsdGVyfSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT5CbG9jaygKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdPdmVydmlld05hdkJhckZpbHRlckl0ZW1TZWxlY3RlZCcsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgICAgICAgICAgICAgJXskRmlsdGVyfSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXdOYXZCYXJGaWx0ZXJJdGVtU2VsZWN0ZWROb3QnLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICV7JEZpbHRlcn0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgIyBsb29wIG92ZXIgY29uZmlndXJlZCBiYWNrLWVuZHMKICAgIGZvciBteSAkQmFja2VuZCAoIHNvcnQga2V5cyAleyRCYWNrZW5kc30gKSB7CgogICAgICAgICMgYnVpbGQgbmF2aWdhdGlvbiBiYXIgdmlldyBtb2RlCiAgICAgICAgJFNlbGYtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdPdmVydmlld05hdkJhclZpZXdNb2RlJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICAleyAkQmFja2VuZHMtPnskQmFja2VuZH0gfSwKICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkUGFyYW17RmlsdGVyfSwKICAgICAgICAgICAgICAgIFZpZXcgICA9PiAkQmFja2VuZCwKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIGN1cnJlbnQgdmlldyBpcyBjb25maWd1cmVkIGluIGJhY2tlbmQKICAgICAgICBpZiAoICRWaWV3IGVxICRCYWNrZW5kICkgewogICAgICAgICAgICAkU2VsZi0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdPdmVydmlld05hdkJhclZpZXdNb2RlU2VsZWN0ZWQnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgICAgICV7ICRCYWNrZW5kcy0+eyRCYWNrZW5kfSB9LAogICAgICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkUGFyYW17RmlsdGVyfSwKICAgICAgICAgICAgICAgICAgICBWaWV3ICAgPT4gJEJhY2tlbmQsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFNlbGYtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXdOYXZCYXJWaWV3TW9kZU5vdFNlbGVjdGVkJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgICAgICAgICAleyAkQmFja2VuZHMtPnskQmFja2VuZH0gfSwKICAgICAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJFBhcmFte0ZpbHRlcn0sCiAgICAgICAgICAgICAgICAgICAgVmlldyAgID0+ICRCYWNrZW5kLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBpZiBwYWdlIG5hdmlnYXRpb24gaXMgYXZhaWxhYmxlCiAgICBpZiAoJVBhZ2VOYXYpIHsKICAgICAgICAkU2VsZi0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ092ZXJ2aWV3TmF2QmFyUGFnZU5hdkJhcicsCiAgICAgICAgICAgIERhdGEgPT4gXCVQYWdlTmF2LAogICAgICAgICk7CgogICAgICAgICMgZG9uJ3Qgc2hvdyBjb250ZXh0IHNldHRpbmdzIGluIEFKQVggY2FzZSAoZS4gZy4gaW4gY3VzdG9tZXIgdGlja2V0IGhpc3RvcnkpLAogICAgICAgICMgICBiZWNhdXNlIHRoZSBzdWJtaXQgd2l0aCBwYWdlIHJlbG9hZCB3aWxsIG5vdCB3b3JrIHRoZXJlCiAgICAgICAgaWYgKCAhJFBhcmFte0FKQVh9ICkgewogICAgICAgICAgICAkU2VsZi0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdDb250ZXh0U2V0dGluZ3MnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgJVBhZ2VOYXYsCiAgICAgICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgJFNlbGYtPkFkZEpTRGF0YSgKICAgICAgICBLZXkgICA9PiAnSlNEYXRhJywKICAgICAgICBWYWx1ZSA9PiBcJUpTRGF0YSwKCiAgICApOwoKICAgICMgYnVpbGQgSFRNTCBjb250ZW50CiAgICBteSAkT3V0cHV0TmF2QmFyID0gJFNlbGYtPk91dHB1dCgKICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0FnZW50U3VydmV5T3ZlcnZpZXdOYXZCYXInLAogICAgICAgIERhdGEgICAgICAgICA9PiB7JVBhcmFtfSwKICAgICk7CgogICAgIyBjcmVhdGUgb3V0cHV0CiAgICBteSAkT3V0cHV0UmF3ID0gJE91dHB1dE5hdkJhcjsKCiAgICAjIGxvYWQgbW9kdWxlCiAgICBpZiAoICEkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TWFpbicpLT5SZXF1aXJlKCAkQmFja2VuZHMtPnskVmlld30tPntNb2R1bGV9ICkgKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5GYXRhbEVycm9yKCk7CiAgICB9CgogICAgIyBjaGVjayBmb3IgYmFja2VuZCBvYmplY3QKICAgIG15ICRPYmplY3QgPSAkQmFja2VuZHMtPnskVmlld30tPntNb2R1bGV9LT5uZXcoCiAgICAgICAgJXskRW52fSwKICAgICAgICBMYXlvdXRPYmplY3QgPT4gJFNlbGYsCiAgICApOwogICAgcmV0dXJuIGlmICEkT2JqZWN0OwoKICAgICMgcnVuIG1vZHVsZQogICAgbXkgJE91dHB1dCA9ICRPYmplY3QtPlJ1bigKICAgICAgICAlUGFyYW0sCiAgICAgICAgTGltaXQgICAgID0+ICRMaW1pdCwKICAgICAgICBTdGFydEhpdCAgPT4gJFN0YXJ0SGl0LAogICAgICAgIFBhZ2VTaG93biA9PiAkUGFnZVNob3duLAogICAgICAgIEFsbEhpdHMgICA9PiAkUGFyYW17VG90YWx9IHx8IDAsCiAgICAgICAgRnJvbnRlbmQgID0+ICRGcm9udGVuZCwKICAgICk7CgogICAgIyBjcmVhdGUgb3V0cHV0CiAgICAkT3V0cHV0UmF3IC49ICRPdXRwdXQ7CgogICAgIyBjcmVhdGUgb3ZlcnZpZXcgbmF2aWdhdGlvbiBiYXIKICAgICRTZWxmLT5CbG9jaygKICAgICAgICBOYW1lID0+ICdPdmVydmlld05hdkJhcicsCiAgICAgICAgRGF0YSA9PiB7JVBhcmFtfSwKICAgICk7CgogICAgIyByZXR1cm4gY29udGVudCBpZiBhdmFpbGFibGUKICAgIHJldHVybiAkT3V0cHV0UmF3Owp9CgoxOwoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UT0JPIHByb2plY3QgKEw8aHR0cHM6Ly9vdG9iby5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dD4uCgo9Y3V0Cg==</File>
        <File Location="Kernel/Output/HTML/SurveyMenu/Generic.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpTdXJ2ZXlNZW51OjpHZW5lcmljOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKb3VyIEBPYmplY3REZXBlbmRlbmNpZXMgPSAoCiAgICAnS2VybmVsOjpDb25maWcnLAogICAgJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpHcm91cCcsCiAgICAnS2VybmVsOjpTeXN0ZW06OkxvZycsCik7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgZ2V0IFVzZXJJRCBwYXJhbQogICAgJFNlbGYtPntVc2VySUR9ID0gJFBhcmFte1VzZXJJRH0gfHwgZGllICJHb3Qgbm8gVXNlcklEISI7CgogICAgcmV0dXJuICRTZWxmOwp9CgpzdWIgUnVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtTdXJ2ZXl9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBTdXJ2ZXkhJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGdyYW50IGFjY2VzcyBieSBkZWZhdWx0CiAgICBteSAkQWNjZXNzID0gMTsKCiAgICAjIGdldCBjb25maWcgb2JqZWN0CiAgICBteSAkQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKCiAgICAjIGdldCBncm91cHMKICAgIG15ICRBY3Rpb24gICA9ICRQYXJhbXtDb25maWd9LT57QWN0aW9ufTsKICAgIG15ICRHcm91cHNSbyA9ICRDb25maWdPYmplY3QtPkdldCgnRnJvbnRlbmQ6Ok1vZHVsZScpLT57JEFjdGlvbn0tPntHcm91cFJvfSB8fCBbXTsKICAgIG15ICRHcm91cHNSdyA9ICRDb25maWdPYmplY3QtPkdldCgnRnJvbnRlbmQ6Ok1vZHVsZScpLT57JEFjdGlvbn0tPntHcm91cH0gICB8fCBbXTsKCiAgICAjIGdldCBsYXlvdXQgb2JqZWN0CiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgICMgY2hlY2sgcGVybWlzc2lvbgogICAgaWYgKCAkQWN0aW9uICYmICggQHskR3JvdXBzUm99IHx8IEB7JEdyb3Vwc1J3fSApICkgewoKICAgICAgICAjIGRlbnkgYWNjZXNzIGJ5IGRlZmF1bHQsIHdoZW4gdGhlcmUgYXJlIGdyb3VwcyB0byBjaGVjawogICAgICAgICRBY2Nlc3MgPSAwOwoKICAgICAgICAjIGNoZWNrIHJlYWQgb25seSBncm91cHMKICAgICAgICBST0dST1VQOgogICAgICAgIGZvciBteSAkR3JvdXBSbyAoIEB7JEdyb3Vwc1JvfSApIHsKICAgICAgICAgICAgbXkgJEhhc1Blcm1pc3Npb24gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R3JvdXAnKS0+UGVybWlzc2lvbkNoZWNrKAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgIEdyb3VwTmFtZSA9PiAkR3JvdXBSbywKICAgICAgICAgICAgICAgIFR5cGUgICAgICA9PiAncm8nLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbmV4dCBST0dST1VQIGlmICEkSGFzUGVybWlzc2lvbjsKCiAgICAgICAgICAgICMgc2V0IGFjY2VzcwogICAgICAgICAgICAkQWNjZXNzID0gMTsKICAgICAgICAgICAgbGFzdCBST0dST1VQOwogICAgICAgIH0KCiAgICAgICAgIyBjaGVjayByZWFkIHdyaXRlIGdyb3VwcwogICAgICAgIFJXR1JPVVA6CiAgICAgICAgZm9yIG15ICRSd0dyb3VwICggQHskR3JvdXBzUnd9ICkgewoKICAgICAgICAgICAgbXkgJEhhc1Blcm1pc3Npb24gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R3JvdXAnKS0+UGVybWlzc2lvbkNoZWNrKAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgIEdyb3VwTmFtZSA9PiAkUndHcm91cCwKICAgICAgICAgICAgICAgIFR5cGUgICAgICA9PiAncncnLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbmV4dCBSV0dST1VQIGlmICEkSGFzUGVybWlzc2lvbjsKCiAgICAgICAgICAgICMgc2V0IGFjY2VzcwogICAgICAgICAgICAkQWNjZXNzID0gMTsKICAgICAgICAgICAgbGFzdCBSV0dST1VQOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gJFBhcmFte0NvdW50ZXJ9IGlmICEkQWNjZXNzOwoKICAgICMgb3V0cHV0IG1lbnUgaXRlbQogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnTWVudUl0ZW0nLAogICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICV7ICRQYXJhbXtTdXJ2ZXl9IH0sCiAgICAgICAgICAgICV7ICRQYXJhbXtDb25maWd9IH0sCiAgICAgICAgfSwKICAgICk7CgogICAgJFBhcmFte0NvdW50ZXJ9Kys7CgogICAgcmV0dXJuICRQYXJhbXtDb3VudGVyfTsKfQoKMTsK</File>
        <File Location="Kernel/Output/HTML/SurveyOverview/Small.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpTdXJ2ZXlPdmVydmlldzo6U21hbGw7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpvdXIgQE9iamVjdERlcGVuZGVuY2llcyA9ICgKICAgICdLZXJuZWw6OlN5c3RlbTo6TG9nJywKICAgICdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0JywKICAgICdLZXJuZWw6OlN5c3RlbTo6U3VydmV5JywKKTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0geyVQYXJhbX07CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBnZXQgVXNlcklEIHBhcmFtCiAgICAkU2VsZi0+e1VzZXJJRH0gPSAkUGFyYW17VXNlcklEfSB8fCBkaWUgIkdvdCBubyBVc2VySUQhIjsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICROZWVkZWQgKHF3KFBhZ2VTaG93biBTdGFydEhpdCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JE5lZWRlZH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICROZWVkZWQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIG5lZWQgU3VydmV5SURzCiAgICBpZiAoICEkUGFyYW17U3VydmV5SURzfSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ05lZWQgdGhlIFN1cnZleUlEcyEnLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgc3RvcmUgdGhlIFN1cnZleUlEcyBsb2NhbGx5CiAgICBteSBASURzID0gQHsgJFBhcmFte1N1cnZleUlEc30gfTsKCiAgICAjIGNoZWNrIFNob3dDb2x1bW5zIHBhcmFtZXRlcgogICAgbXkgQFNob3dDb2x1bW5zOwogICAgaWYgKCAkUGFyYW17U2hvd0NvbHVtbnN9ICYmIHJlZiAkUGFyYW17U2hvd0NvbHVtbnN9IGVxICdBUlJBWScgKSB7CiAgICAgICAgQFNob3dDb2x1bW5zID0gQHsgJFBhcmFte1Nob3dDb2x1bW5zfSB9OwogICAgfQoKICAgIG15ICRPdXRwdXQgPSAnJzsKCiAgICAjIGdldCBsYXlvdXQgb2JqZWN0CiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgICMgc2hvdyBzdXJ2ZXlzIGlmIHRoZXJlIGFyZSBzb21lCiAgICBpZiAoQElEcykgewoKICAgICAgICAjIGJ1aWxkIGNvbHVtbiBoZWFkZXIgYmxvY2tzCiAgICAgICAgIyBjdXJyZW50bHkgc29ydGluZyBpcyBub3QgaW1wbGVtZW50ZWQgb24gc3VydmV5LCBsZWF2ZSB0aGUgY29kZSBmb3IgZnV0dXJlIGltcGxlbWVudGF0aW9uCiAgICAgICAgaWYgKEBTaG93Q29sdW1ucykgewogICAgICAgICAgICBmb3IgbXkgJENvbHVtbiAoQFNob3dDb2x1bW5zKSB7CgogICAgICAgICAgICAgICAgIyBjcmVhdGUgbmVlZGVkIHZhcmlhYmxlcwogICAgICAgICAgICAgICAgbXkgJENTUyA9ICdPdmVydmlld0hlYWRlcic7CiAgICAgICAgICAgICAgICBteSAkT3JkZXJCeTsKCiAgICAgICAgICAgICAgICAjIHNldCB0aGUgY29ycmVjdCBTZXQgQ1NTIGNsYXNzIGFuZCBvcmRlciBieSBsaW5rCiAgICAgICAgICAgICAgICBpZiAoICRQYXJhbXtTb3J0Qnl9ICYmICggJFBhcmFte1NvcnRCeX0gZXEgJENvbHVtbiApICkgewogICAgICAgICAgICAgICAgICAgIGlmICggJFBhcmFte09yZGVyQnl9ICYmICggJFBhcmFte09yZGVyQnl9IGVxICdVcCcgKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJE9yZGVyQnkgPSAnRG93bic7CiAgICAgICAgICAgICAgICAgICAgICAgICRDU1MgLj0gJyBTb3J0RGVzY2VuZGluZ0xhcmdlJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRPcmRlckJ5ID0gJ1VwJzsKICAgICAgICAgICAgICAgICAgICAgICAgJENTUyAuPSAnIFNvcnRBc2NlbmRpbmdMYXJnZSc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJE9yZGVyQnkgPSAnVXAnOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgb3V0cHV0IGVhY2ggaGVhZGVyCiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdSZWNvcmQnIC4gJENvbHVtbiAuICdIZWFkZXInLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICAgICAgICAgIENTUyAgICAgPT4gJENTUywKICAgICAgICAgICAgICAgICAgICAgICAgT3JkZXJCeSA9PiAkT3JkZXJCeSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgbXkgJENvdW50ZXIgPSAwOwoKICAgICAgICAjIGdldCBzdXJ2ZXkgb2JqZWN0CiAgICAgICAgbXkgJFN1cnZleU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKCiAgICAgICAgSUQ6CiAgICAgICAgZm9yIG15ICRJRCAoQElEcykgewogICAgICAgICAgICAkQ291bnRlcisrOwogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAkQ291bnRlciA+PSAkUGFyYW17U3RhcnRIaXR9CiAgICAgICAgICAgICAgICAmJiAkQ291bnRlciA8ICggJFBhcmFte1BhZ2VTaG93bn0gKyAkUGFyYW17U3RhcnRIaXR9ICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICMgZ2V0IHN1cnZleSBkYXRhCiAgICAgICAgICAgICAgICBteSAlRGF0YSA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUdldCgKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgU3VydmV5SUQgPT4gJElELAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBuZXh0IElEIGlmICElRGF0YTsKCiAgICAgICAgICAgICAgICAjIGJ1aWxkIHJlY29yZCBibG9jawogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnUmVjb3JkJywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgICAgICAgICAlRGF0YSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAjIGJ1aWxkIGNvbHVtbiByZWNvcmQgYmxvY2tzCiAgICAgICAgICAgICAgICBpZiAoQFNob3dDb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgICAgQ09MVU1OOgogICAgICAgICAgICAgICAgICAgIGZvciBteSAkQ29sdW1uIChAU2hvd0NvbHVtbnMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdSZWNvcmQnIC4gJENvbHVtbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlRGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgICAgICAjIHNob3cgbGlua3MgaWYgYXZhaWxhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnUmVjb3JkJyAuICRDb2x1bW4gLiAnTGlua1N0YXJ0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlRGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnUmVjb3JkJyAuICRDb2x1bW4gLiAnTGlua0VuZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJURhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAjIGlmIHRoZXJlIGFyZSBubyBzdXJ2ZXlzIHRvIHNob3csIGEgbm8gZGF0YSBmb3VuZCBtZXNzYWdlIGlzIGRpc3BsYXllZCBpbiB0aGUgdGFibGUKICAgIGVsc2UgewogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdOb0RhdGFGb3VuZE1zZycsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgVG90YWxDb2x1bW5zID0+IHNjYWxhciBAU2hvd0NvbHVtbnMsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHVzZSB0ZW1wbGF0ZQogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZ2VudFN1cnZleU92ZXJ2aWV3U21hbGwnLAogICAgICAgIERhdGEgICAgICAgICA9PiB7CiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgVHlwZSAgICAgICAgPT4gJFNlbGYtPntWaWV3VHlwZX0sCiAgICAgICAgICAgIENvbHVtbkNvdW50ID0+IHNjYWxhciBAU2hvd0NvbHVtbnMsCiAgICAgICAgfSwKICAgICk7CgogICAgcmV0dXJuICRPdXRwdXQ7Cn0KCjE7Cg==</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AgentSurveyAdd.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgo8ZGl2IGNsYXNzPSJNYWluQm94IEFSSUFSb2xlTWFpbiBGb3JtU2NyZWVuIE5vU2lkZWJhciI+CgogICAgPGgxPlslIFRyYW5zbGF0ZSgiQ3JlYXRlIE5ldyBTdXJ2ZXkiKSB8IGh0bWwgJV08L2gxPgogICAgPHAgY2xhc3M9IkFzdGVyaXNrRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZSgiQWxsIGZpZWxkcyBtYXJrZWQgd2l0aCBhbiBhc3RlcmlzayAoKikgYXJlIG1hbmRhdG9yeS4iKSB8IGh0bWwgJV08L3A+CgogICAgPGRpdiBjbGFzcz0iQ29udGVudENvbHVtbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CiAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBuYW1lPSJTdXJ2ZXkiIGlkPSJTdXJ2ZXkiIGNsYXNzPSJWYWxpZGF0ZSBQcmV2ZW50TXVsdGlwbGVTdWJtaXRzIj4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IlslIEVudigiQWN0aW9uIikgJV0iIC8+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJTdXJ2ZXlOZXciIC8+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJDdXN0b21lclVzZXJDb25kaXRpb25zRmllbGRzIiBpZD0iQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkcyIgdmFsdWU9IlslIERhdGEuQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkcyAlXSIgLz4KCiAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSI+CgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IlRpdGxlIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiBbJSBUcmFuc2xhdGUoIlRpdGxlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IlRpdGxlIiBuYW1lPSJUaXRsZSIgdHlwZT0idGV4dCIgY2xhc3M9Ilc1MHBjIFZhbGlkYXRlX1JlcXVpcmVkIFslIERhdGEuVGl0bGVTZXJ2ZXJFcnJvciB8IGh0bWwgJV0iIHZhbHVlPSJbJSBEYXRhLlRpdGxlIHwgaHRtbCAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJJbnRyb2R1Y3Rpb24iKSAlXQogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkludHJvZHVjdGlvbiI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJJbnRyb2R1Y3Rpb24iKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJSaWNoVGV4dEZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPSJJbnRyb2R1Y3Rpb24iIG5hbWU9IkludHJvZHVjdGlvbiIgbmFtZT0iSW50cm9kdWN0aW9uIiBjbGFzcz0iUmljaFRleHQgVmFsaWRhdGVfUmVxdWlyZWQgWyUgRGF0YS5JbnRyb2R1Y3Rpb25TZXJ2ZXJFcnJvciB8IGh0bWwgJV0iIHRpdGxlPSJbJSBUcmFuc2xhdGUoIlN1cnZleSBJbnRyb2R1Y3Rpb24iKSB8IGh0bWwgJV0iIHJvd3M9IjE1IiBjb2xzPSJbJSBDb25maWcoIlRpY2tldDo6RnJvbnRlbmQ6OlRleHRBcmVhTm90ZSIpICVdIj5bJSBEYXRhLkludHJvZHVjdGlvbiAlXTwvdGV4dGFyZWE+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiSW50cm9kdWN0aW9uIikgJV0KCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iTm90aWZpY2F0aW9uU2VuZGVyIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiBbJSBUcmFuc2xhdGUoIlNlbmRlciIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJOb3RpZmljYXRpb25TZW5kZXIiIG5hbWU9Ik5vdGlmaWNhdGlvblNlbmRlciIgdHlwZT0idGV4dCIgY2xhc3M9Ilc1MHBjIFZhbGlkYXRlX1JlcXVpcmVkIFslIERhdGEuTm90aWZpY2F0aW9uU2VuZGVyU2VydmVyRXJyb3IgfCBodG1sICVdIiB2YWx1ZT0iWyUgRGF0YS5Ob3RpZmljYXRpb25TZW5kZXIgfCBodG1sICVdIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iTm90aWZpY2F0aW9uU3ViamVjdCI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJTdWJqZWN0IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Ik5vdGlmaWNhdGlvblN1YmplY3QiIG5hbWU9Ik5vdGlmaWNhdGlvblN1YmplY3QiIHR5cGU9InRleHQiIGNsYXNzPSJXNTBwYyBWYWxpZGF0ZV9SZXF1aXJlZCBbJSBEYXRhLk5vdGlmaWNhdGlvblN1YmplY3RTZXJ2ZXJFcnJvciB8IGh0bWwgJV0iIHZhbHVlPSJbJSBEYXRhLk5vdGlmaWNhdGlvblN1YmplY3QgfCBodG1sICVdIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KClslIFJlbmRlckJsb2NrU3RhcnQoIk5vdGlmaWNhdGlvbkJvZHkiKSAlXQogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9Ik5vdGlmaWNhdGlvbkJvZHkiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIFRyYW5zbGF0ZSgiQm9keSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlJpY2hUZXh0RmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgaWQ9Ik5vdGlmaWNhdGlvbkJvZHkiIG5hbWU9Ik5vdGlmaWNhdGlvbkJvZHkiIGNsYXNzPSJSaWNoVGV4dCBWYWxpZGF0ZV9SZXF1aXJlZCBbJSBEYXRhLk5vdGlmaWNhdGlvbkJvZHlTZXJ2ZXJFcnJvciB8IGh0bWwgJV0iIHRpdGxlPSJbJSBUcmFuc2xhdGUoIk5vdGlmaWNhdGlvbiBCb2R5IikgfCBodG1sICVdIiByb3dzPSIxNSIgY29scz0iWyUgQ29uZmlnKCJUaWNrZXQ6OkZyb250ZW5kOjpUZXh0QXJlYU5vdGUiKSAlXSI+WyUgRGF0YS5Ob3RpZmljYXRpb25Cb2R5IHwgaHRtbCAlXTwvdGV4dGFyZWE+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiTm90aWZpY2F0aW9uQm9keSIpICVdCgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlF1ZXVlcyI+WyUgVHJhbnNsYXRlKCJRdWV1ZXMiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuUXVldWVTdHJpbmcgJV0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJUaWNrZXRUeXBlcyIpICVdCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iVGlja2V0VHlwZUlEcyI+WyUgVHJhbnNsYXRlKCJUaWNrZXQgVHlwZXMiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuVGlja2V0VHlwZVN0cmcgJV0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJUaWNrZXRUeXBlcyIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJUaWNrZXRTZXJ2aWNlcyIpICVdCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iU2VydmljZUlEcyI+WyUgVHJhbnNsYXRlKCJTZXJ2aWNlcyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TZXJ2aWNlU3RyZyAlXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlRpY2tldFNlcnZpY2VzIikgJV0KCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJJbnRlcm5hbERlc2NyaXB0aW9uIikgJV0KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJEZXNjcmlwdGlvbiI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJJbnRlcm5hbCBEZXNjcmlwdGlvbiIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlJpY2hUZXh0RmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgaWQ9IkRlc2NyaXB0aW9uIiBuYW1lPSJEZXNjcmlwdGlvbiIgY2xhc3M9IlJpY2hUZXh0IFZhbGlkYXRlX1JlcXVpcmVkIFslIERhdGEuRGVzY3JpcHRpb25TZXJ2ZXJFcnJvciB8IGh0bWwgJV0iIHRpdGxlPSJbJSBUcmFuc2xhdGUoIkludGVybmFsIERlc2NyaXB0aW9uIikgfCBodG1sICVdIiByb3dzPSIxNSIgY29scz0iWyUgQ29uZmlnKCJUaWNrZXQ6OkZyb250ZW5kOjpUZXh0QXJlYU5vdGUiKSAlXSI+WyUgRGF0YS5EZXNjcmlwdGlvbiB8IGh0bWwgJV08L3RleHRhcmVhPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkludGVybmFsRGVzY3JpcHRpb24iKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiR2VuZXJpY0Vycm9yIikgJV0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJbJSBEYXRhLkl0ZW1OYW1lIHwgaHRtbCAlXSIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiR2VuZXJpY0Vycm9yIikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIkdlbmVyaWNTZXJ2ZXJFcnJvciIpICVdCiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iWyUgRGF0YS5JdGVtTmFtZSB8IGh0bWwgJV0iIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkdlbmVyaWNTZXJ2ZXJFcnJvciIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTZW5kQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyIpICVdCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyI+WyUgVHJhbnNsYXRlKCJDdXN0b21lciBjb25kaXRpb25zIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLkN1c3RvbWVyVXNlckNvbmRpdGlvbnNGaWVsZHNTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCBIaWRkZW4iIGlkPSJUZW1wbGF0ZUxldmVsMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJEYXRhSXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Ikljb24gUmVtb3ZlQnV0dG9uQ3VzdG9tZXJGaWVsZCI+PGkgY2xhc3M9ImZhIGZhLW1pbnVzLXNxdWFyZS1vIj48L2k+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IkV2ZW4gTGFzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+TmVnYXRlOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iMCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0NoZWNrYm94IiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IjAiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9Ilc1MHBjIiB2YWx1ZT0iIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJUaGUgZmllbGQgbmVlZHMgdG8gYmUgYSB2YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gb3IgYSBsaXRlcmFsIHdvcmQuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iSWNvbiBSZW1vdmVCdXR0b25DdXN0b21lckNvbmRpdGlvbiBIaWRkZW4iPjxpIGNsYXNzPSJmYSBmYS1taW51cy1zcXVhcmUtbyI+PC9pPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJY29uIEFkZEJ1dHRvbkN1c3RvbWVyQ29uZGl0aW9uIj48aSBjbGFzcz0iZmEgZmEtcGx1cy1zcXVhcmUtbyI+PC9pPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJTZW5kQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyIpICVdCgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iUHJpbWFyeSBDYWxsRm9yQWN0aW9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJbJSBUcmFuc2xhdGUoIkNyZWF0ZSIpIHwgaHRtbCAlXSI+PHNwYW4+PGkgY2xhc3M9ImZhIGZhLWNoZWNrLXNxdWFyZS1vIj48L2k+IFslIFRyYW5zbGF0ZSgiQ3JlYXRlIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9maWVsZHNldD4KICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCBXaWRnZXRTaW1wbGUgQ29sbGFwc2VkIFNwYWNpbmdUb3AiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRBY3Rpb24gVG9nZ2xlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiU2hvdyBvciBoaWRlIHRoZSBjb250ZW50IikgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jYXJldC1yaWdodCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LWRvd24iPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIlRhZyBSZWZlcmVuY2UiKSB8IGh0bWwgJV08L2gyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KCiAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJZb3UgY2FuIHVzZSB0aGUgZm9sbG93aW5nIHRhZ3MiKSB8IGh0bWwgJV06PC9wPgogICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGR0Pjxjb2RlPiZsdDtPVE9CT19USUNLRVRfKiZndDs8L2NvZGU+PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJPcHRpb25zIG9mIHRoZSB0aWNrZXQgZGF0YSIpIHwgaHRtbCAlXSAoWyUgVHJhbnNsYXRlKCJlLiBnLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGU+Jmx0O09UT0JPX1RJQ0tFVF9UaWNrZXROdW1iZXImZ3Q7LCAmbHQ7T1RPQk9fVElDS0VUX1RpY2tldElEJmd0OywgJmx0O09UT0JPX1RJQ0tFVF9RdWV1ZSZndDssICZsdDtPVE9CT19USUNLRVRfU3RhdGUmZ3Q7PC9jb2RlPikuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+PGNvZGU+Jmx0O09UT0JPX0NVU1RPTUVSX0RBVEFfKiZndDs8L2NvZGU+PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJPcHRpb25zIG9mIHRoZSBjdXJyZW50IGN1c3RvbWVyIHVzZXIgZGF0YSIpIHwgaHRtbCAlXSAoWyUgVHJhbnNsYXRlKCJlLiBnLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGU+Jmx0O09UT0JPX0NVU1RPTUVSX0RBVEFfVXNlckZpcnN0bmFtZSZndDs8L2NvZGU+KS4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkdD48Y29kZT4mbHQ7T1RPQk9fQ09ORklHXyomZ3Q7PC9jb2RlPjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiQ29uZmlnIG9wdGlvbnMiKSB8IGh0bWwgJV0gKFslIFRyYW5zbGF0ZSgiZS4gZy4iKSB8IGh0bWwgJV0gPGNvZGU+Jmx0O09UT0JPX0NPTkZJR19IdHRwVHlwZSZndDs8L2NvZGU+KS4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkdD48Y29kZT4mbHQ7T1RPQk9fUHVibGljU3VydmV5S2V5Jmd0OzwvY29kZT48L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIlB1YmxpYyBzdXJ2ZXkga2V5IikgfCBodG1sICVdIChbJSBUcmFuc2xhdGUoImUuIGcuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZT4mbHQ7T1RPQk9fUHVibGljU3VydmV5S2V5Jmd0OzwvY29kZT4pLgogICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgIDwvZGw+CgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJTcGFjaW5nVG9wIj4KICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJFeGFtcGxlIHN1cnZleSIpIHwgaHRtbCAlXToKICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIHJvd3M9IjUiIGNvbHM9IjYwIiBuYW1lPSJUbXBTdXJ2ZXkiIGRpc2FibGVkPSJkaXNhYmxlZCI+ClslIFRyYW5zbGF0ZSgiVGhlIGN1cnJlbnQgdGlja2V0IHN0YXRlIGlzIikgfCBodG1sICVdOiAiJmx0O09UT0JPX1RJQ0tFVF9TdGF0ZSZndDsiCgpbJSBUcmFuc2xhdGUoIllvdXIgZW1haWwgYWRkcmVzcyBpcyIpIHwgaHRtbCAlXTogIiZsdDtPVE9CT19DVVNUT01FUl9Vc2VyRW1haWwmZ3Q7IgogICAgICAgICAgICAgICAgICAgIDwvdGV4dGFyZWE+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+Cg==</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AgentSurveyEdit.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgo8Zm9ybSBhY3Rpb249IlslIEVudigiQ0dJSGFuZGxlIikgJV0iIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0iU3VydmV5IiBpZD0iU3VydmV5IiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSJbJSBFbnYoIkFjdGlvbiIpICVdIiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iU3VydmV5U2F2ZSIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1cnZleUlEIiB2YWx1ZT0iWyUgRGF0YS5TdXJ2ZXlJRCB8IGh0bWwgJV0iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJDdXN0b21lclVzZXJDb25kaXRpb25zRmllbGRzIiBpZD0iQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkcyIgdmFsdWU9IlslIERhdGEuQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkcyAlXSIgLz4KCiAgICA8ZGl2IGNsYXNzPSJMYXlvdXRQb3B1cCBBUklBUm9sZU1haW4iPgogICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgIDxoMT5bJSBUcmFuc2xhdGUoIkVkaXQgR2VuZXJhbCBJbmZvIikgfCBodG1sICVdOiBbJSBUcmFuc2xhdGUoQ29uZmlnKCJTdXJ2ZXk6Okhvb2siKSkgfCBodG1sICVdWyUgRGF0YS5TdXJ2ZXlOdW1iZXIgfCBodG1sICVdIC0gWyUgRGF0YS5UaXRsZSB8IGh0bWwgJV08L2gxPgogICAgICAgICAgICA8cCBjbGFzcz0iQXN0ZXJpc2tFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKCJBbGwgZmllbGRzIG1hcmtlZCB3aXRoIGFuIGFzdGVyaXNrICgqKSBhcmUgbWFuZGF0b3J5LiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQ2FuY2VsQ2xvc2VQb3B1cCIgaHJlZj0iIyI+WyUgVHJhbnNsYXRlKCJDYW5jZWwgJiBjbG9zZSIpIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgoKICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2UgRml4ZWRMYWJlbCI+CgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iVGl0bGUiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIFRyYW5zbGF0ZSgiVGl0bGUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IlRpdGxlIiBuYW1lPSJUaXRsZSIgdHlwZT0idGV4dCIgY2xhc3M9Ilc3NXBjIFZhbGlkYXRlX1JlcXVpcmVkIFslIERhdGEuVGl0bGVTZXJ2ZXJFcnJvciB8IGh0bWwgJV0iIHZhbHVlPSJbJSBEYXRhLlRpdGxlIHwgaHRtbCAlXSIgLz4KICAgICAgICAgICAgICAgIDwvZGl2PgoKWyUgUmVuZGVyQmxvY2tTdGFydCgiSW50cm9kdWN0aW9uIikgJV0KICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkludHJvZHVjdGlvbiI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJJbnRyb2R1Y3Rpb24iKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlJpY2hUZXh0RmllbGQiPgogICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD0iSW50cm9kdWN0aW9uIiBuYW1lPSJJbnRyb2R1Y3Rpb24iIG5hbWU9IkludHJvZHVjdGlvbiIgY2xhc3M9IlJpY2hUZXh0IFZhbGlkYXRlX1JlcXVpcmVkIFslIERhdGEuSW50cm9kdWN0aW9uU2VydmVyRXJyb3IgfCBodG1sICVdIiB0aXRsZT0iWyUgVHJhbnNsYXRlKCJTdXJ2ZXkgSW50cm9kdWN0aW9uIikgfCBodG1sICVdIiByb3dzPSIxNSIgY29scz0iWyUgQ29uZmlnKCJUaWNrZXQ6OkZyb250ZW5kOjpUZXh0QXJlYU5vdGUiKSAlXSI+WyUgRGF0YS5JbnRyb2R1Y3Rpb24gJV08L3RleHRhcmVhPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJJbnRyb2R1Y3Rpb24iKSAlXQoKICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9Ik5vdGlmaWNhdGlvblNlbmRlciI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJTZW5kZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Ik5vdGlmaWNhdGlvblNlbmRlciIgbmFtZT0iTm90aWZpY2F0aW9uU2VuZGVyIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iVzc1cGMgVmFsaWRhdGVfUmVxdWlyZWQgWyUgRGF0YS5Ob3RpZmljYXRpb25TZW5kZXJTZXJ2ZXJFcnJvciB8IGh0bWwgJV0iIHZhbHVlPSJbJSBEYXRhLk5vdGlmaWNhdGlvblNlbmRlciB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJOb3RpZmljYXRpb25TdWJqZWN0Ij48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiBbJSBUcmFuc2xhdGUoIlN1YmplY3QiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Ik5vdGlmaWNhdGlvblN1YmplY3QiIG5hbWU9Ik5vdGlmaWNhdGlvblN1YmplY3QiIHR5cGU9InRleHQiIGNsYXNzPSJXNzVwYyBWYWxpZGF0ZV9SZXF1aXJlZCBbJSBEYXRhLk5vdGlmaWNhdGlvblN1YmplY3RTZXJ2ZXJFcnJvciB8IGh0bWwgJV0iIHZhbHVlPSJbJSBEYXRhLk5vdGlmaWNhdGlvblN1YmplY3QgfCBodG1sICVdIiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJOb3RpZmljYXRpb25Cb2R5IikgJV0KICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9Ik5vdGlmaWNhdGlvbkJvZHkiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIFRyYW5zbGF0ZSgiQm9keSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUmljaFRleHRGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPSJOb3RpZmljYXRpb25Cb2R5IiBuYW1lPSJOb3RpZmljYXRpb25Cb2R5IiBjbGFzcz0iUmljaFRleHQgVmFsaWRhdGVfUmVxdWlyZWQgWyUgRGF0YS5Ob3RpZmljYXRpb25Cb2R5U2VydmVyRXJyb3IgfCBodG1sICVdIiB0aXRsZT0iWyUgVHJhbnNsYXRlKCJOb3RpZmljYXRpb24gQm9keSIpIHwgaHRtbCAlXSIgcm93cz0iMTUiIGNvbHM9IlslIENvbmZpZygiVGlja2V0OjpGcm9udGVuZDo6VGV4dEFyZWFOb3RlIikgJV0iPlslIERhdGEuTm90aWZpY2F0aW9uQm9keSB8IGh0bWwgJV08L3RleHRhcmVhPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJOb3RpZmljYXRpb25Cb2R5IikgJV0KCiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJRdWV1ZXMiPlslIFRyYW5zbGF0ZSgiUXVldWVzIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5RdWV1ZVN0cmluZyAlXQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJUaWNrZXRUeXBlcyIpICVdCiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJUaWNrZXRUeXBlSURzIj5bJSBUcmFuc2xhdGUoIlRpY2tldCBUeXBlcyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgIFslIERhdGEuVGlja2V0VHlwZVN0cmcgJV0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiVGlja2V0VHlwZXMiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiVGlja2V0U2VydmljZXMiKSAlXQogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iU2VydmljZUlEcyI+WyUgVHJhbnNsYXRlKCJTZXJ2aWNlcyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgIFslIERhdGEuU2VydmljZVN0cmcgJV0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiVGlja2V0U2VydmljZXMiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiSW50ZXJuYWxEZXNjcmlwdGlvbiIpICVdCiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJEZXNjcmlwdGlvbiI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJJbnRlcm5hbCBEZXNjcmlwdGlvbiIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUmljaFRleHRGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPSJEZXNjcmlwdGlvbiIgbmFtZT0iRGVzY3JpcHRpb24iIGNsYXNzPSJSaWNoVGV4dCBWYWxpZGF0ZV9SZXF1aXJlZCBbJSBEYXRhLkRlc2NyaXB0aW9uU2VydmVyRXJyb3IgfCBodG1sICVdIiB0aXRsZT0iWyUgVHJhbnNsYXRlKCJJbnRlcm5hbCBEZXNjcmlwdGlvbiIpIHwgaHRtbCAlXSIgcm93cz0iMTUiIGNvbHM9IlslIENvbmZpZygiVGlja2V0OjpGcm9udGVuZDo6VGV4dEFyZWFOb3RlIikgJV0iPlslIERhdGEuRGVzY3JpcHRpb24gfCBodG1sICVdPC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiSW50ZXJuYWxEZXNjcmlwdGlvbiIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTZW5kQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyIpICVdCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyI+WyUgVHJhbnNsYXRlKCJDdXN0b21lciBjb25kaXRpb25zIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLkN1c3RvbWVyVXNlckNvbmRpdGlvbnNGaWVsZHNTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiUGxlYXNlIGNob29zZSBhIEN1c3RvbWVyIHByb3BlcnR5IHRvIGFkZCBhIGNvbmRpdGlvbi4iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCBIaWRkZW4iIGlkPSJUZW1wbGF0ZUxldmVsMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJEYXRhSXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Ikljb24gUmVtb3ZlQnV0dG9uQ3VzdG9tZXJGaWVsZCI+PGkgY2xhc3M9ImZhIGZhLW1pbnVzLXNxdWFyZS1vIj48L2k+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IkV2ZW4gTGFzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+TmVnYXRlOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iMCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0NoZWNrYm94IiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IjAiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9Ilc1MHBjIiB2YWx1ZT0iIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJUaGUgZmllbGQgbmVlZHMgdG8gYmUgYSB2YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gb3IgYSBsaXRlcmFsIHdvcmQuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iSWNvbiBSZW1vdmVCdXR0b25DdXN0b21lckNvbmRpdGlvbiBIaWRkZW4iPjxpIGNsYXNzPSJmYSBmYS1taW51cy1zcXVhcmUtbyI+PC9pPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJY29uIEFkZEJ1dHRvbkN1c3RvbWVyQ29uZGl0aW9uIj48aSBjbGFzcz0iZmEgZmEtcGx1cy1zcXVhcmUtbyI+PC9pPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJTZW5kQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJHZW5lcmljRXJyb3IiKSAlXQogICAgICAgICAgICAgICAgPGRpdiBpZD0iWyUgRGF0YS5JdGVtTmFtZSB8IGh0bWwgJV0iIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICA8cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJHZW5lcmljRXJyb3IiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiU2VydmVyRXJyb3IiKSAlXQogICAgICAgICAgICAgICAgPGRpdiBpZD0iWyUgRGF0YS5JdGVtTmFtZSB8IGh0bWwgJV0iIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICA8cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJTZXJ2ZXJFcnJvciIpICVdCgogICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IkZvb3RlciI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IlByaW1hcnkgQ2FsbEZvckFjdGlvbiIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iWyUgVHJhbnNsYXRlKCJVcGRhdGUiKSB8IGh0bWwgJV0iPjxzcGFuPjxpIGNsYXNzPSJmYSBmYS1jaGVjay1zcXVhcmUtbyI+PC9pPiBbJSBUcmFuc2xhdGUoIlVwZGF0ZSIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Zvcm0+CjxkaXYgY2xhc3M9IkZpZWxkIFdpZGdldFNpbXBsZSBDb2xsYXBzZWQgU3BhY2luZyBXaWRnZXRTcGFjaW5nUmlnaHQiPgogICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRBY3Rpb24gVG9nZ2xlIj4KICAgICAgICAgICAgPGEgaHJlZj0iIyIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiU2hvdyBvciBoaWRlIHRoZSBjb250ZW50IikgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jYXJldC1yaWdodCI+PC9pPgogICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LWRvd24iPjwvaT4KICAgICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIlRhZyBSZWZlcmVuY2UiKSB8IGh0bWwgJV08L2gyPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KCiAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJZb3UgY2FuIHVzZSB0aGUgZm9sbG93aW5nIHRhZ3MiKSB8IGh0bWwgJV06PC9wPgogICAgICAgIDxkbD4KICAgICAgICAgICAgPGR0Pjxjb2RlPiZsdDtPVE9CT19USUNLRVRfKiZndDs8L2NvZGU+PC9kdD4KICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJPcHRpb25zIG9mIHRoZSB0aWNrZXQgZGF0YSIpIHwgaHRtbCAlXSAoWyUgVHJhbnNsYXRlKCJlLiBnLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgPGNvZGU+Jmx0O09UT0JPX1RJQ0tFVF9UaWNrZXROdW1iZXImZ3Q7LCAmbHQ7T1RPQk9fVElDS0VUX1RpY2tldElEJmd0OywgJmx0O09UT0JPX1RJQ0tFVF9RdWV1ZSZndDssICZsdDtPVE9CT19USUNLRVRfU3RhdGUmZ3Q7PC9jb2RlPikuCiAgICAgICAgICAgIDwvZGQ+CgogICAgICAgICAgICA8ZHQ+PGNvZGU+Jmx0O09UT0JPX0NVU1RPTUVSX0RBVEFfKiZndDs8L2NvZGU+PC9kdD4KICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJPcHRpb25zIG9mIHRoZSBjdXJyZW50IGN1c3RvbWVyIHVzZXIgZGF0YSIpIHwgaHRtbCAlXSAoWyUgVHJhbnNsYXRlKCJlLiBnLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgPGNvZGU+Jmx0O09UT0JPX0NVU1RPTUVSX0RBVEFfVXNlckZpcnN0bmFtZSZndDs8L2NvZGU+KS4KICAgICAgICAgICAgPC9kZD4KCiAgICAgICAgICAgIDxkdD48Y29kZT4mbHQ7T1RPQk9fQ09ORklHXyomZ3Q7PC9jb2RlPjwvZHQ+CiAgICAgICAgICAgIDxkZD4KICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiQ29uZmlnIG9wdGlvbnMiKSB8IGh0bWwgJV0gKFslIFRyYW5zbGF0ZSgiZS4gZy4iKSB8IGh0bWwgJV0gPGNvZGU+Jmx0O09UT0JPX0NPTkZJR19IdHRwVHlwZSZndDs8L2NvZGU+KS4KICAgICAgICAgICAgPC9kZD4KCiAgICAgICAgICAgIDxkdD48Y29kZT4mbHQ7T1RPQk9fUHVibGljU3VydmV5S2V5Jmd0OzwvY29kZT48L2R0PgogICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIlB1YmxpYyBzdXJ2ZXkga2V5IikgfCBodG1sICVdIChbJSBUcmFuc2xhdGUoImUuIGcuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICA8Y29kZT4mbHQ7T1RPQk9fUHVibGljU3VydmV5S2V5Jmd0OzwvY29kZT4pLgogICAgICAgICAgICA8L2RkPgogICAgICAgIDwvZGw+CgogICAgICAgIDxwIGNsYXNzPSJTcGFjaW5nVG9wIj4KICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJFeGFtcGxlIHN1cnZleSIpIHwgaHRtbCAlXToKICAgICAgICA8L3A+CiAgICAgICAgPHRleHRhcmVhIHJvd3M9IjUiIGNvbHM9IjYwIiBuYW1lPSJUbXBTdXJ2ZXkiIGRpc2FibGVkPSJkaXNhYmxlZCI+ClslIFRyYW5zbGF0ZSgiVGhlIGN1cnJlbnQgdGlja2V0IHN0YXRlIGlzIikgfCBodG1sICVdOiAiJmx0O09UT0JPX1RJQ0tFVF9TdGF0ZSZndDsiCgpbJSBUcmFuc2xhdGUoIllvdXIgZW1haWwgYWRkcmVzcyBpcyIpIHwgaHRtbCAlXTogIiZsdDtPVE9CT19DVVNUT01FUl9Vc2VyRW1haWwmZ3Q7IgogICAgICAgIDwvdGV4dGFyZWE+CiAgICA8L2Rpdj4KPC9kaXY+Cg==</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AgentSurveyEditQuestions.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tClslIFJlbmRlckJsb2NrU3RhcnQoIlN1cnZleUVkaXRRdWVzdGlvbnMiKSAlXQo8ZGl2IGNsYXNzPSJMYXlvdXRQb3B1cCBBUklBUm9sZU1haW4iPgogICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICA8aDE+WyUgVHJhbnNsYXRlKCJFZGl0IFF1ZXN0aW9ucyIpIHwgaHRtbCAlXTogWyUgVHJhbnNsYXRlKENvbmZpZygiU3VydmV5OjpIb29rIikpIHwgaHRtbCAlXVslIERhdGEuU3VydmV5TnVtYmVyIHwgaHRtbCAlXSAtIFslIERhdGEuVGl0bGUgfCBodG1sICVdPC9oMT4KICAgICAgICA8cCBjbGFzcz0iQXN0ZXJpc2tFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKCJBbGwgZmllbGRzIG1hcmtlZCB3aXRoIGFuIGFzdGVyaXNrICgqKSBhcmUgbWFuZGF0b3J5LiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICA8cD4KICAgICAgICAgICAgPGEgY2xhc3M9IkNhbmNlbENsb3NlUG9wdXAiIGhyZWY9IiMiPlslIFRyYW5zbGF0ZSgiQ2FuY2VsICYgY2xvc2UiKSB8IGh0bWwgJV08L2E+CiAgICAgICAgPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KCiAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJCcmVhZENydW1iIj4KICAgICAgICAgICAgPGxpPlslIFRyYW5zbGF0ZSgiWW91IGFyZSBoZXJlIikgfCBodG1sICVdOjwvbGk+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiU3VydmV5IFF1ZXN0aW9ucyIpIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICA8L3VsPgoKWyUgUmVuZGVyQmxvY2tTdGFydCgiU3VydmV5QWRkUXVlc3Rpb24iKSAlXQoKICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRTaW1wbGUgU3BhY2luZ1RvcCBTcGFjaW5nQm90dG9tTWVkaXVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIkFkZCBRdWVzdGlvbiIpIHwgaHRtbCAlXTwvaDI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KCiAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249IlslIEVudigiQ0dJSGFuZGxlIikgJV0iIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0iU3VydmV5UXVlc3Rpb25zIiBpZD0iU3VydmV5UXVlc3Rpb25zIiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iWyUgRW52KCJBY3Rpb24iKSAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJRdWVzdGlvbkFkZCIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdXJ2ZXlJRCIgdmFsdWU9IlslIERhdGEuU3VydmV5SUQgfCBodG1sICVdIiAvPgoKICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSBGaXhlZExhYmVsIFNwYWNpbmdUb3AiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJRdWVzdGlvbiI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJUeXBlIHRoZSBxdWVzdGlvbiIpIHwgaHRtbCAlXTombmJzcDs8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IlF1ZXN0aW9uIiBuYW1lPSJRdWVzdGlvbiIgY2xhc3M9IlZhbGlkYXRlX1JlcXVpcmVkIFslIERhdGEuUXVlc3Rpb25FcnJvckNsYXNzIHwgaHRtbCAlXSAiIHNpemU9IjYwIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TZWxlY3Rpb25UeXBlICVdCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iUXVlc3Rpb25FcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJRdWVzdGlvblNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkFuc3dlclJlcXVpcmVkIj4gWyUgVHJhbnNsYXRlKCJBbnN3ZXIgcmVxdWlyZWQiKSB8IGh0bWwgJV06Jm5ic3A7PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5BbnN3ZXJSZXF1aXJlZFNlbGVjdCAlXQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iQ2FsbEZvckFjdGlvbiBQbHVzIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJbJSBUcmFuc2xhdGUoIkFkZCIpIHwgaHRtbCAlXSI+PHNwYW4+PGkgY2xhc3M9ImZhIGZhLXBsdXMtc3F1YXJlIj48L2k+IFslIFRyYW5zbGF0ZSgiQWRkIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlN1cnZleUFkZFF1ZXN0aW9uIikgJV0KCiAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIFNwYWNpbmdUb3AgU3BhY2luZ0JvdHRvbU1lZGl1bSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKCJTdXJ2ZXkgUXVlc3Rpb25zIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTdXJ2ZXlOb1F1ZXN0aW9uc1NhdmVkIikgJV0KICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlN1cnZleUVtcHR5TWVzc2FnZVNtYWxsIj4KICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIk5vIHF1ZXN0aW9ucyBzYXZlZCBmb3IgdGhpcyBzdXJ2ZXkuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlN1cnZleU5vUXVlc3Rpb25zU2F2ZWQiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiU3VydmV5UXVlc3Rpb25zVGFibGUiKSAlXQogICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJEYXRhVGFibGUiPgogICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiUXVlc3Rpb24iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJUeXBlIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTdXJ2ZXlTdGF0dXNDb2x1bW4iKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiU3RhdHVzIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgpbJSBSZW5kZXJCbG9ja0VuZCgiU3VydmV5U3RhdHVzQ29sdW1uIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIkFuc3dlciBSZXF1aXJlZCIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIlVwIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiRG93biIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KWyUgUmVuZGVyQmxvY2tTdGFydCgiU3VydmV5RGVsZXRlQ29sdW1uIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIkRlbGV0ZSIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KWyUgUmVuZGVyQmxvY2tFbmQoIlN1cnZleURlbGV0ZUNvbHVtbiIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICA8dGJvZHk+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTdXJ2ZXlRdWVzdGlvbnNTYXZlZCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPVF1ZXN0aW9uRWRpdDtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1F1ZXN0aW9uSUQ9WyUgRGF0YS5RdWVzdGlvbklEIHwgdXJpICVdIiA+WyUgRGF0YS5RdWVzdGlvbiB8IHRydW5jYXRlKDkwKSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZShEYXRhLlR5cGUpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoRGF0YS5BbnN3ZXJSZXF1aXJlZCkgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJBc0Jsb2NrIEFycm93VXBbJSBEYXRhLkNsYXNzVXAgfCBodG1sICVdIiBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTdWJhY3Rpb249UXVlc3Rpb25VcDtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1F1ZXN0aW9uSUQ9WyUgRGF0YS5RdWVzdGlvbklEIHwgdXJpICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tdXAiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+WyUgVHJhbnNsYXRlKCJVcCIpIHwgaHRtbCAlXTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJBc0Jsb2NrIEFycm93RG93blslIERhdGEuQ2xhc3NEb3duIHwgaHRtbCAlXSIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPVF1ZXN0aW9uRG93bjtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1F1ZXN0aW9uSUQ9WyUgRGF0YS5RdWVzdGlvbklEIHwgdXJpICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tZG93biI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5bJSBUcmFuc2xhdGUoIkRvd24iKSB8IGh0bWwgJV08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KWyUgUmVuZGVyQmxvY2tFbmQoIlN1cnZleVF1ZXN0aW9uc1NhdmVkIikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlN1cnZleVF1ZXN0aW9uc1JvdyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayBbJSBEYXRhLkNsYXNzIHwgaHRtbCAlXSIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPVF1ZXN0aW9uRWRpdDtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1F1ZXN0aW9uSUQ9WyUgRGF0YS5RdWVzdGlvbklEIHwgdXJpICVdIj5bJSBEYXRhLlF1ZXN0aW9uIHwgdHJ1bmNhdGUoNzApIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKERhdGEuVHlwZSkgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJbJSBEYXRhLkNsYXNzIHwgaHRtbCAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKERhdGEuU3RhdHVzKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKERhdGEuQW5zd2VyUmVxdWlyZWQpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iQ2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayBBcnJvd1VwWyUgRGF0YS5DbGFzc1VwIHwgaHRtbCAlXSIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPVF1ZXN0aW9uVXA7U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IHVyaSAlXTtRdWVzdGlvbklEPVslIERhdGEuUXVlc3Rpb25JRCB8IHVyaSAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXVwIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJbnZpc2libGVUZXh0Ij5bJSBUcmFuc2xhdGUoIlVwIikgfCBodG1sICVdPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9IkFzQmxvY2sgQXJyb3dEb3duWyUgRGF0YS5DbGFzc0Rvd24gfCBodG1sICVdIiBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTdWJhY3Rpb249UXVlc3Rpb25Eb3duO1N1cnZleUlEPVslIERhdGEuU3VydmV5SUQgfCB1cmkgJV07UXVlc3Rpb25JRD1bJSBEYXRhLlF1ZXN0aW9uSUQgfCB1cmkgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1kb3duIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJbnZpc2libGVUZXh0Ij5bJSBUcmFuc2xhdGUoIkRvd24iKSB8IGh0bWwgJV08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KWyUgUmVuZGVyQmxvY2tTdGFydCgiU3VydmV5UXVlc3Rpb25zRGVsZXRlQnV0dG9uIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iQ2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayBRdWVzdGlvbkRlbGV0ZSIgaHJlZj0iIyIgZGF0YS1xdWVyeS1zdHJpbmc9IkFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1N1YmFjdGlvbj1RdWVzdGlvbkRlbGV0ZTtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1F1ZXN0aW9uSUQ9WyUgRGF0YS5RdWVzdGlvbklEIHwgdXJpICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXRyYXNoLW8iPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IkludmlzaWJsZVRleHQiPlslIFRyYW5zbGF0ZSgiRGVsZXRlIikgfCBodG1sICVdPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+ClslIFJlbmRlckJsb2NrRW5kKCJTdXJ2ZXlRdWVzdGlvbnNEZWxldGVCdXR0b24iKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgpbJSBSZW5kZXJCbG9ja0VuZCgiU3VydmV5UXVlc3Rpb25zUm93IikgJV0KICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgPC90YWJsZT4KWyUgUmVuZGVyQmxvY2tFbmQoIlN1cnZleVF1ZXN0aW9uc1RhYmxlIikgJV0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNwYWNpbmdUb3AiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj5bJSBUcmFuc2xhdGUoIldoZW4geW91IGZpbmlzaCB0byBlZGl0IHRoZSBzdXJ2ZXkgcXVlc3Rpb25zIGp1c3QgY2xvc2UgdGhpcyBzY3JlZW4uIikgfCBodG1sICVdPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iRm9vdGVyIj4KICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9IkNhbmNlbENsb3NlUG9wdXAgUHJpbWFyeSBDYWxsRm9yQWN0aW9uIiB2YWx1ZT0iWyUgVHJhbnNsYXRlKCJDbG9zZSB0aGlzIHdpbmRvdyIpIHwgaHRtbCAlXSI+PHNwYW4+PGkgY2xhc3M9ImZhIGZhLXRpbWVzIj48L2k+IFslIFRyYW5zbGF0ZSgiQ2xvc2UgdGhpcyB3aW5kb3ciKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICA8L2Rpdj4KPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJTdXJ2ZXlFZGl0UXVlc3Rpb25zIikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlF1ZXN0aW9uRWRpdCIpICVdCjxkaXYgY2xhc3M9IkxheW91dFBvcHVwIEFSSUFSb2xlTWFpbiI+CiAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgIDxoMT5bJSBUcmFuc2xhdGUoIkVkaXQgUXVlc3Rpb24iKSB8IGh0bWwgJV06IFslIFRyYW5zbGF0ZShEYXRhLlF1ZXN0aW9uKSB8IGh0bWwgJV08L2gxPgogICAgICAgIDxwIGNsYXNzPSJBc3Rlcmlza0V4cGxhbmF0aW9uIj5bJSBUcmFuc2xhdGUoIkFsbCBmaWVsZHMgbWFya2VkIHdpdGggYW4gYXN0ZXJpc2sgKCopIGFyZSBtYW5kYXRvcnkuIikgfCBodG1sICVdPC9wPgogICAgICAgIDxwPgogICAgICAgICAgICA8YSBjbGFzcz0iQ2FuY2VsQ2xvc2VQb3B1cCIgaHJlZj0iIyI+WyUgVHJhbnNsYXRlKCJDYW5jZWwgJiBjbG9zZSIpIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJvciIpIHwgaHRtbCAlXQogICAgICAgICAgICA8YSBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdIiA+WyUgVHJhbnNsYXRlKCJnbyBiYWNrIHRvIHF1ZXN0aW9ucyIpIHwgaHRtbCAlXTwvYT4KICAgICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgoKICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8dWwgY2xhc3M9IkJyZWFkQ3J1bWIiPgogICAgICAgICAgICA8bGk+WyUgVHJhbnNsYXRlKCJZb3UgYXJlIGhlcmUiKSB8IGh0bWwgJV06PC9saT4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPUFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucztTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoIlN1cnZleSBRdWVzdGlvbnMiKSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiUXVlc3Rpb246IikgfCBodG1sICVdIFslIERhdGEuUXVlc3Rpb24gfCBodG1sICVdCiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KCiAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIFNwYWNpbmdUb3AgU3BhY2luZ0JvdHRvbU1lZGl1bSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKCJFZGl0IFF1ZXN0aW9uIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgoKICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBuYW1lPSJTdXJ2ZXlRdWVzdGlvbiIgaWQ9IlN1cnZleVF1ZXN0aW9uIiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iWyUgRW52KCJBY3Rpb24iKSAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJRdWVzdGlvblNhdmUiIC8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iUXVlc3Rpb25JRCIgdmFsdWU9IlslIERhdGEuUXVlc3Rpb25JRCB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3VydmV5SUQiIHZhbHVlPSJbJSBEYXRhLlN1cnZleUlEIHwgaHRtbCAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSBGaXhlZExhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iUXVlc3Rpb24iIGNsYXNzPSJNYW5kYXRvcnkiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIFRyYW5zbGF0ZSgiUXVlc3Rpb24iKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjYwIiBuYW1lPSJRdWVzdGlvbiIgaWQ9IlF1ZXN0aW9uIiB2YWx1ZT0iWyUgRGF0YS5RdWVzdGlvbiB8IGh0bWwgJV0iIGNsYXNzPSJWYWxpZGF0ZV9SZXF1aXJlZCBbJSBEYXRhLlF1ZXN0aW9uU2VydmVyRXJyb3IgfCBodG1sICVdIiAvPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlF1ZXN0aW9uRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iUXVlc3Rpb25TZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkFuc3dlclJlcXVpcmVkIj4gWyUgVHJhbnNsYXRlKCJBbnN3ZXIgcmVxdWlyZWQiKSB8IGh0bWwgJV06Jm5ic3A7PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5BbnN3ZXJSZXF1aXJlZFNlbGVjdCAlXQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcyA9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkNhbGxGb3JBY3Rpb24iIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlslIFRyYW5zbGF0ZSgiU2F2ZSIpIHwgaHRtbCAlXSI+IDxzcGFuPjxpIGNsYXNzPSJmYSBmYS1jaGVjay1zcXVhcmUtbyI+PC9pPiBbJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICA8L2Zvcm0+CgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRTaW1wbGUgU3BhY2luZ1RvcCBTcGFjaW5nQm90dG9tTWVkaXVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIlBvc3NpYmxlIEFuc3dlcnMgRm9yIikgfCBodG1sICVdOiBbJSBUcmFuc2xhdGUoRGF0YS5UeXBlKSB8IGh0bWwgJV08L2gyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+ClslIFJlbmRlckJsb2NrU3RhcnQoIlF1ZXN0aW9uRWRpdEFkZEFuc3dlciIpICVdCiAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249IlslIEVudigiQ0dJSGFuZGxlIikgJV0iIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0iQW5zd2VyQWRkIiBpZD0iQW5zd2VyQWRkIiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iWyUgRW52KCJBY3Rpb24iKSAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJBbnN3ZXJBZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iUXVlc3Rpb25JRCIgdmFsdWU9IlslIERhdGEuUXVlc3Rpb25JRCB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3VydmV5SUQiIHZhbHVlPSJbJSBEYXRhLlN1cnZleUlEIHwgaHRtbCAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSBGaXhlZExhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iQW5zd2VyIiBjbGFzcz0iTWFuZGF0b3J5Ij48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiBbJSBUcmFuc2xhdGUoIkFkZCBBbnN3ZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJBbnN3ZXIiIG5hbWU9IkFuc3dlciIgc2l6ZT0iNjAiIGNsYXNzPSJWYWxpZGF0ZV9SZXF1aXJlZCBbJSBEYXRhLkFuc3dlclNlcnZlckVycm9yIHwgaHRtbCAlXSAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkNhbGxGb3JBY3Rpb24gUGx1cyIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iWyUgVHJhbnNsYXRlKCJBZGQiKSB8IGh0bWwgJV0iPiA8c3Bhbj48aSBjbGFzcz0iZmEgZmEtcGx1cy1zcXVhcmUiPjwvaT4gWyUgVHJhbnNsYXRlKCJBZGQiKSB8IGh0bWwgJV08L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJBbnN3ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJBbnN3ZXJTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICA8L2Zvcm0+ClslIFJlbmRlckJsb2NrRW5kKCJRdWVzdGlvbkVkaXRBZGRBbnN3ZXIiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiTm9BbnN3ZXJzU2F2ZWQiKSAlXQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcCIgaWQ9IlN1cnZleUVtcHR5TWVzc2FnZVNtYWxsIj4KICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIk5vIGFuc3dlcnMgc2F2ZWQgZm9yIHRoaXMgcXVlc3Rpb24uIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIk5vQW5zd2Vyc1NhdmVkIikgJV0KCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJRdWVzdGlvbkVkaXRUYWJsZSIpICVdCiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9IkRhdGFUYWJsZSBTcGFjaW5nVG9wIj4KICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4gWyUgVHJhbnNsYXRlKCJEZXNjcmlwdGlvbiIpIHwgaHRtbCAlXSA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPiBbJSBUcmFuc2xhdGUoIlVwIikgfCBodG1sICVdIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+IFslIFRyYW5zbGF0ZSgiRG93biIpIHwgaHRtbCAlXSA8L3RoPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJRdWVzdGlvbkVkaXRUYWJsZURlbGV0ZSIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+IFslIFRyYW5zbGF0ZSgiRGVsZXRlIikgfCBodG1sICVdIDwvdGg+ClslIFJlbmRlckJsb2NrRW5kKCJRdWVzdGlvbkVkaXRUYWJsZURlbGV0ZSIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICA8dGJvZHk+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJRdWVzdGlvbkVkaXRSYWRpbyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPUFuc3dlckVkaXQ7U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IHVyaSAlXTtRdWVzdGlvbklEPVslIERhdGEuUXVlc3Rpb25JRCB8IHVyaSAlXTtBbnN3ZXJJRD1bJSBEYXRhLkFuc3dlcklEIHwgdXJpICVdIj4gWyUgRGF0YS5BbnN3ZXIgfCB0cnVuY2F0ZSg5MCkgfCBodG1sICVdIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9IkFzQmxvY2sgQXJyb3dVcFslIERhdGEuQ2xhc3NVcCB8IGh0bWwgJV0iIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1N1YmFjdGlvbj1BbnN3ZXJVcDtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1F1ZXN0aW9uSUQ9WyUgRGF0YS5RdWVzdGlvbklEIHwgdXJpICVdO0Fuc3dlcklEPVslIERhdGEuQW5zd2VySUQgfCB1cmkgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi11cCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iSW52aXNpYmxlVGV4dCI+WyUgVHJhbnNsYXRlKCJVcCIpIHwgaHRtbCAlXTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJBc0Jsb2NrIEFycm93RG93blslIERhdGEuQ2xhc3NEb3duIHwgaHRtbCAlXSIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPUFuc3dlckRvd247U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IHVyaSAlXTtRdWVzdGlvbklEPVslIERhdGEuUXVlc3Rpb25JRCB8IHVyaSAlXTtBbnN3ZXJJRD1bJSBEYXRhLkFuc3dlcklEIHwgdXJpICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tZG93biI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iSW52aXNpYmxlVGV4dCI+WyUgVHJhbnNsYXRlKCJEb3duIikgfCBodG1sICVdPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+ClslIFJlbmRlckJsb2NrU3RhcnQoIlF1ZXN0aW9uRWRpdFJhZGlvRGVsZXRlIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iQ2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayBBbnN3ZXJEZWxldGUiIGhyZWY9IiMiIGRhdGEtcXVlcnktc3RyaW5nPSJBY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTdWJhY3Rpb249QW5zd2VyRGVsZXRlO1N1cnZleUlEPVslIERhdGEuU3VydmV5SUQgfCB1cmkgJV07UXVlc3Rpb25JRD1bJSBEYXRhLlF1ZXN0aW9uSUQgfCB1cmkgJV07QW5zd2VySUQ9WyUgRGF0YS5BbnN3ZXJJRCB8IHVyaSAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS10cmFzaC1vIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJbnZpc2libGVUZXh0Ij5bJSBUcmFuc2xhdGUoIkRlbGV0ZSIpIHwgaHRtbCAlXTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgpbJSBSZW5kZXJCbG9ja0VuZCgiUXVlc3Rpb25FZGl0UmFkaW9EZWxldGUiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgpbJSBSZW5kZXJCbG9ja0VuZCgiUXVlc3Rpb25FZGl0UmFkaW8iKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiUXVlc3Rpb25FZGl0TlBTIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJBc0Jsb2NrIiBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTdWJhY3Rpb249QW5zd2VyRWRpdDtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1F1ZXN0aW9uSUQ9WyUgRGF0YS5RdWVzdGlvbklEIHwgdXJpICVdO0Fuc3dlcklEPVslIERhdGEuQW5zd2VySUQgfCB1cmkgJV0iPiBbJSBEYXRhLkFuc3dlciB8IHRydW5jYXRlKDkwKSB8IGh0bWwgJV0gPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iQ2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayBBcnJvd1VwWyUgRGF0YS5DbGFzc1VwIHwgaHRtbCAlXSIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPUFuc3dlclVwO1N1cnZleUlEPVslIERhdGEuU3VydmV5SUQgfCB1cmkgJV07UXVlc3Rpb25JRD1bJSBEYXRhLlF1ZXN0aW9uSUQgfCB1cmkgJV07QW5zd2VySUQ9WyUgRGF0YS5BbnN3ZXJJRCB8IHVyaSAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXVwIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJbnZpc2libGVUZXh0Ij5bJSBUcmFuc2xhdGUoIlVwIikgfCBodG1sICVdPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9IkFzQmxvY2sgQXJyb3dEb3duWyUgRGF0YS5DbGFzc0Rvd24gfCBodG1sICVdIiBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTdWJhY3Rpb249QW5zd2VyRG93bjtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1F1ZXN0aW9uSUQ9WyUgRGF0YS5RdWVzdGlvbklEIHwgdXJpICVdO0Fuc3dlcklEPVslIERhdGEuQW5zd2VySUQgfCB1cmkgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1kb3duIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJbnZpc2libGVUZXh0Ij5bJSBUcmFuc2xhdGUoIkRvd24iKSB8IGh0bWwgJV08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KWyUgUmVuZGVyQmxvY2tTdGFydCgiUXVlc3Rpb25FZGl0TlBTRGVsZXRlIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iQ2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayBBbnN3ZXJEZWxldGUiIGhyZWY9IiMiIGRhdGEtcXVlcnktc3RyaW5nPSJBY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTdWJhY3Rpb249QW5zd2VyRGVsZXRlO1N1cnZleUlEPVslIERhdGEuU3VydmV5SUQgfCB1cmkgJV07UXVlc3Rpb25JRD1bJSBEYXRhLlF1ZXN0aW9uSUQgfCB1cmkgJV07QW5zd2VySUQ9WyUgRGF0YS5BbnN3ZXJJRCB8IHVyaSAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS10cmFzaC1vIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJbnZpc2libGVUZXh0Ij5bJSBUcmFuc2xhdGUoIkRlbGV0ZSIpIHwgaHRtbCAlXTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgpbJSBSZW5kZXJCbG9ja0VuZCgiUXVlc3Rpb25FZGl0TlBTRGVsZXRlIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KWyUgUmVuZGVyQmxvY2tFbmQoIlF1ZXN0aW9uRWRpdE5QUyIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJRdWVzdGlvbkVkaXRDaGVja2JveCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPUFuc3dlckVkaXQ7U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IHVyaSAlXTtRdWVzdGlvbklEPVslIERhdGEuUXVlc3Rpb25JRCB8IHVyaSAlXTtBbnN3ZXJJRD1bJSBEYXRhLkFuc3dlcklEIHwgdXJpICVdIj5bJSBEYXRhLkFuc3dlciB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJBc0Jsb2NrIEFycm93VXBbJSBEYXRhLkNsYXNzVXAgfCBodG1sICVdIiBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTdWJhY3Rpb249QW5zd2VyVXA7U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IHVyaSAlXTtRdWVzdGlvbklEPVslIERhdGEuUXVlc3Rpb25JRCB8IHVyaSAlXTtBbnN3ZXJJRD1bJSBEYXRhLkFuc3dlcklEIHwgdXJpICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tdXAiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IkludmlzaWJsZVRleHQiPlslIFRyYW5zbGF0ZSgiVXAiKSB8IGh0bWwgJV08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iQ2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayBBcnJvd0Rvd25bJSBEYXRhLkNsYXNzRG93biB8IGh0bWwgJV0iIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1N1YmFjdGlvbj1BbnN3ZXJEb3duO1N1cnZleUlEPVslIERhdGEuU3VydmV5SUQgfCB1cmkgJV07UXVlc3Rpb25JRD1bJSBEYXRhLlF1ZXN0aW9uSUQgfCB1cmkgJV07QW5zd2VySUQ9WyUgRGF0YS5BbnN3ZXJJRCB8IHVyaSAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWRvd24iPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IkludmlzaWJsZVRleHQiPlslIFRyYW5zbGF0ZSgiRG93biIpIHwgaHRtbCAlXTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJRdWVzdGlvbkVkaXRDaGVja2JveERlbGV0ZSIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9IkFzQmxvY2sgQW5zd2VyRGVsZXRlIiBocmVmPSIjIiBkYXRhLXF1ZXJ5LXN0cmluZz0iQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPUFuc3dlckRlbGV0ZTtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1F1ZXN0aW9uSUQ9WyUgRGF0YS5RdWVzdGlvbklEIHwgdXJpICVdO0Fuc3dlcklEPVslIERhdGEuQW5zd2VySUQgfCB1cmkgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdHJhc2gtbyI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iSW52aXNpYmxlVGV4dCI+WyUgVHJhbnNsYXRlKCJEZWxldGUiKSB8IGh0bWwgJV08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KWyUgUmVuZGVyQmxvY2tFbmQoIlF1ZXN0aW9uRWRpdENoZWNrYm94RGVsZXRlIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KWyUgUmVuZGVyQmxvY2tFbmQoIlF1ZXN0aW9uRWRpdENoZWNrYm94IikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlF1ZXN0aW9uRWRpdFllc25vIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiBbJSBUcmFuc2xhdGUoIlllcyIpIHwgaHRtbCAlXSA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJBc0Jsb2NrIEFycm93VXBEaXNhYmxlZCIgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXVwIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJbnZpc2libGVUZXh0Ij5bJSBUcmFuc2xhdGUoIlVwIikgfCBodG1sICVdPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9IkFzQmxvY2sgQXJyb3dEb3duRGlzYWJsZWQiIGhyZWY9IiMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1kb3duIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJbnZpc2libGVUZXh0Ij5bJSBUcmFuc2xhdGUoIkRvd24iKSB8IGh0bWwgJV08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiBbJSBUcmFuc2xhdGUoIk5vIikgfCBodG1sICVdIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9IkFzQmxvY2sgQXJyb3dVcERpc2FibGVkIiBocmVmPSIjIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tdXAiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IkludmlzaWJsZVRleHQiPlslIFRyYW5zbGF0ZSgiVXAiKSB8IGh0bWwgJV08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iQ2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayBBcnJvd0Rvd25EaXNhYmxlZCIgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWRvd24iPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IkludmlzaWJsZVRleHQiPlslIFRyYW5zbGF0ZSgiRG93biIpIHwgaHRtbCAlXTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgpbJSBSZW5kZXJCbG9ja0VuZCgiUXVlc3Rpb25FZGl0WWVzbm8iKSAlXQoKICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgPC90YWJsZT4KWyUgUmVuZGVyQmxvY2tFbmQoIlF1ZXN0aW9uRWRpdFRhYmxlIikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlF1ZXN0aW9uRWRpdFRleHRBcmVhIikgJV0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNwYWNpbmdUb3AiIGlkPSJTdXJ2ZXlFbXB0eU1lc3NhZ2VTbWFsbCI+CiAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJUaGlzIGRvZXNuJ3QgaGF2ZSBzZXZlcmFsIGFuc3dlcnMsIGEgdGV4dGFyZWEgd2lsbCBiZSBkaXNwbGF5ZWQuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlF1ZXN0aW9uRWRpdFRleHRBcmVhIikgJV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9IkZvb3RlciI+CiAgICAgICAgPGZvcm0gYWN0aW9uPSJbJSBFbnYoIkNHSUhhbmRsZSIpICVdIiBtZXRob2Q9InBvc3QiPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSJbJSBFbnYoIkFjdGlvbiIpICVdIiAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdXJ2ZXlJRCIgdmFsdWU9IlslIERhdGEuU3VydmV5SUQgfCBodG1sICVdIiAvPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9IlByaW1hcnkgQ2FsbEZvckFjdGlvbiIgdmFsdWU9IlslIFRyYW5zbGF0ZSgiR28gYmFjayIpIHwgaHRtbCAlXSI+PHNwYW4+PGkgY2xhc3M9ImZhIGZhLWNhcmV0LWxlZnQiPjwvaT4gWyUgVHJhbnNsYXRlKCJHbyBiYWNrIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgIDwvZm9ybT4KICAgIDwvZGl2Pgo8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlF1ZXN0aW9uRWRpdCIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJBbnN3ZXJFZGl0IikgJV0KPGZvcm0gYWN0aW9uPSJbJSBFbnYoIkNHSUhhbmRsZSIpICVdIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9IkFuc3dlckVkaXQiIGlkPSJBbnN3ZXJFZGl0IiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSJbJSBFbnYoIkFjdGlvbiIpICVdIiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iQW5zd2VyU2F2ZSIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFuc3dlcklEIiB2YWx1ZT0iWyUgRGF0YS5BbnN3ZXJJRCB8IGh0bWwgJV0iIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJRdWVzdGlvbklEIiB2YWx1ZT0iWyUgRGF0YS5RdWVzdGlvbklEIHwgaHRtbCAlXSIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1cnZleUlEIiB2YWx1ZT0iWyUgRGF0YS5TdXJ2ZXlJRCB8IGh0bWwgJV0iIC8+CiAgICA8ZGl2IGNsYXNzPSJMYXlvdXRQb3B1cCBBUklBUm9sZU1haW4iPgoKICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICA8aDE+WyUgVHJhbnNsYXRlKCJFZGl0IEFuc3dlciIpIHwgaHRtbCAlXTogWyUgRGF0YS5BbnN3ZXIgfCBodG1sICVdIDwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJBc3Rlcmlza0V4cGxhbmF0aW9uIj5bJSBUcmFuc2xhdGUoIkFsbCBmaWVsZHMgbWFya2VkIHdpdGggYW4gYXN0ZXJpc2sgKCopIGFyZSBtYW5kYXRvcnkuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJDYW5jZWxDbG9zZVBvcHVwIiBocmVmPSIjIj5bJSBUcmFuc2xhdGUoIkNhbmNlbCAmIGNsb3NlIikgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJvciIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPVF1ZXN0aW9uRWRpdDtRdWVzdGlvbklEPVslIERhdGEuUXVlc3Rpb25JRCB8IHVyaSAlXTtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoImdvIGJhY2sgdG8gZWRpdCBxdWVzdGlvbiIpIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8dWwgY2xhc3M9IkJyZWFkQ3J1bWIiPgogICAgICAgICAgICAgICAgPGxpPlslIFRyYW5zbGF0ZSgiWW91IGFyZSBoZXJlIikgfCBodG1sICVdOjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPUFnZW50U3VydmV5RWRpdFF1ZXN0aW9ucztTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoIlN1cnZleSBRdWVzdGlvbnMiKSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1N1YmFjdGlvbj1RdWVzdGlvbkVkaXQ7UXVlc3Rpb25JRD1bJSBEYXRhLlF1ZXN0aW9uSUQgfCB1cmkgJV07U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IHVyaSAlXSI+WyUgVHJhbnNsYXRlKCJRdWVzdGlvbjoiKSB8IGh0bWwgJV0gWyUgRGF0YS5RdWVzdGlvbiB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiQW5zd2VyOiIpIHwgaHRtbCAlXSBbJSBEYXRhLkFuc3dlciB8IGh0bWwgJV0KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIFNwYWNpbmdUb3AgU3BhY2luZ0JvdHRvbU1lZGl1bSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIkVkaXQgQW5zd2VyIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CgogICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIEZpeGVkTGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJBbnN3ZXIiIGNsYXNzPSJNYW5kYXRvcnkiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIFRyYW5zbGF0ZSgiQW5zd2VyIikgfCBodG1sICVdOjwvbGFiZWw+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNjAiIGlkPSJBbnN3ZXIiIG5hbWU9IkFuc3dlciIgdmFsdWU9IlslIERhdGEuQW5zd2VyIHwgaHRtbCAlXSIgY2xhc3M9IlZhbGlkYXRlX1JlcXVpcmVkIFslIERhdGEuQW5zd2VyU2VydmVyRXJyb3IgfCBodG1sICVdIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iQW5zd2VyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iQW5zd2VyU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iRm9vdGVyIj4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJQcmltYXJ5IENhbGxGb3JBY3Rpb24iIHZhbHVlPSJbJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV0iPjxzcGFuPjxpIGNsYXNzPSJmYSBmYS1jaGVjay1zcXVhcmUtbyI+PC9pPiBbJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9mb3JtPgpbJSBSZW5kZXJCbG9ja0VuZCgiQW5zd2VyRWRpdCIpICVdCg==</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AgentSurveyOverviewNavBar.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tClslIFJlbmRlckJsb2NrU3RhcnQoIk92ZXJ2aWV3TmF2QmFyIikgJV0KPGRpdiBjbGFzcz0iT3ZlcnZpZXdCb3ggQVJJQVJvbGVNYWluIFslIERhdGEuVmlldyB8IGh0bWwgJV0iPgogICAgPGgxPlslIERhdGEuVGl0bGVOYW1lIHwgaHRtbCAlXTogWyUgRGF0YS5UaXRsZVZhbHVlIHwgaHRtbCAlXTwvaDE+CgogICAgWyUgRGF0YS5EYXRhSW5UaGVNaWRkbGUgJV0KCiAgICA8ZGl2IGNsYXNzPSJPdmVydmlld0NvbnRyb2wiIGlkPSJPdmVydmlld0NvbnRyb2wiPgogICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRyb2xSb3ciPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJPdmVydmlld05hdkJhckZpbHRlciIpICVdCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9IlRhYnMiPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJPdmVydmlld05hdkJhckZpbHRlckl0ZW0iKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJPdmVydmlld05hdkJhckZpbHRlckl0ZW1TZWxlY3RlZCIpICVdCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJBY3RpdmUgWyUgRGF0YS5DU1MgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07WyUgRGF0YS5GaWx0ZXJMaW5rICVdRmlsdGVyPVslIERhdGEuRmlsdGVyIHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoRGF0YS5OYW1lKSB8IGh0bWwgJV08c3Bhbj5bJSBEYXRhLkNvdW50IHwgaHRtbCAlXTwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KWyUgUmVuZGVyQmxvY2tFbmQoIk92ZXJ2aWV3TmF2QmFyRmlsdGVySXRlbVNlbGVjdGVkIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiT3ZlcnZpZXdOYXZCYXJGaWx0ZXJJdGVtU2VsZWN0ZWROb3QiKSAlXQogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iWyUgRGF0YS5DU1MgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07WyUgRGF0YS5GaWx0ZXJMaW5rICVdRmlsdGVyPVslIERhdGEuRmlsdGVyIHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoRGF0YS5OYW1lKSB8IGh0bWwgJV08c3Bhbj5bJSBEYXRhLkNvdW50IHwgaHRtbCAlXTwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KWyUgUmVuZGVyQmxvY2tFbmQoIk92ZXJ2aWV3TmF2QmFyRmlsdGVySXRlbVNlbGVjdGVkTm90IikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiT3ZlcnZpZXdOYXZCYXJGaWx0ZXJJdGVtU3BsaXQiKSAlXQogICAgICAgICAgICAgICAgICAgIC0KWyUgUmVuZGVyQmxvY2tFbmQoIk92ZXJ2aWV3TmF2QmFyRmlsdGVySXRlbVNwbGl0IikgJV0KWyUgUmVuZGVyQmxvY2tFbmQoIk92ZXJ2aWV3TmF2QmFyRmlsdGVySXRlbSIpICVdCiAgICAgICAgICAgICAgICA8L3VsPgpbJSBSZW5kZXJCbG9ja0VuZCgiT3ZlcnZpZXdOYXZCYXJGaWx0ZXIiKSAlXQoKICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iVGFicyI+CiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBpZD0iU3VydmV5U2VhcmNoIiBocmVmPSIjIj5bJSBUcmFuc2xhdGUoIlN1cnZleSBvdmVydmlldyBvcHRpb25zIikgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlN1cnZleU92ZXJ2aWV3U2V0dGluZ3NEaWFsb2dDb250YWluZXIiIGNsYXNzPSJIaWRkZW4iPgogICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0IiBpZD0iU3VydmV5T3ZlcnZpZXdTZXR0aW5nc0RpYWxvZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IkFnZW50U3VydmV5T3ZlcnZpZXciLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iQ2hhbmdlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJGdWxsdGV4dCIgaWQ9IkxhYmVsRnVsbHRleHQiPlslIFRyYW5zbGF0ZSgiRnVsbHRleHQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iRnVsbHRleHQiIHZhbHVlPSJbJSBEYXRhLkZ1bGx0ZXh0IHwgaHRtbCAlXSIgY2xhc3M9Ilc1MHBjIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIiBzdHlsZT0id2lkdGg6IDUwMHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJTZWFyY2hlcyBpbiB0aGUgYXR0cmlidXRlcyBOdW1iZXIsIFRpdGxlLCBJbnRyb2R1Y3Rpb24sIERlc2NyaXB0aW9uLCBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QgYW5kIE5vdGlmaWNhdGlvbkJvZHksIG92ZXJyaWRpbmcgb3RoZXIgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iU3RhdGVzIiBpZD0iTGFiZWxTdGF0ZXMiID5bJSBUcmFuc2xhdGUoIlN0YXRlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TdGF0ZVN0ciAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlslIFRyYW5zbGF0ZSgiU3VydmV5IENyZWF0ZSBUaW1lIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHRpdGxlPSJbJSBUcmFuc2xhdGUoIk5vIHRpbWUgc2V0dGluZ3MiKSB8IGh0bWwgJV0iIHR5cGU9InJhZGlvIiAgaWQ9Ik5vVGltZVNldCIgbmFtZT0iVGltZVNlYXJjaFR5cGUiIHZhbHVlPSIiIFslIERhdGEuU3VydmV5U2VhcmNoLk5vUmVzdHJpY3Rpb25DaGVja2VkIHwgaHRtbCAlXSBbJSBEYXRhLml0ZW0oIlRpbWVTZWFyY2hUeXBlOjpOb25lIikgJV0gLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJOb1RpbWVTZXQiPlslIFRyYW5zbGF0ZSgiTm8gcmVzdHJpY3Rpb24iKSB8IGh0bWwgJV08L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHRpdGxlPSJbJSBUcmFuc2xhdGUoIkRhdGUgcmFuZ2UiKSB8IGh0bWwgJV0iIHR5cGU9InJhZGlvIiBpZD0iRGF0ZVJhbmdlIiBuYW1lPSJUaW1lU2VhcmNoVHlwZSIgdmFsdWU9IlRpbWVTbG90IiBbJSBEYXRhLlN1cnZleVNlYXJjaC5UaW1lU2xvdENoZWNrZWQgfCBodG1sICVdIFslIERhdGEuaXRlbSgiVGltZVNlYXJjaFR5cGU6OlRpbWVTbG90IikgJV0gLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJEYXRlUmFuZ2UiPlslIFRyYW5zbGF0ZSgiT25seSBzdXJ2ZXlzIGNyZWF0ZWQgYmV0d2VlbiIpIHwgaHRtbCAlXTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TdXJ2ZXlDcmVhdGVUaW1lU3RhcnQgJV0gWyUgVHJhbnNsYXRlKCJhbmQiKSB8IGh0bWwgJV0gWyUgRGF0YS5TdXJ2ZXlDcmVhdGVUaW1lU3RvcCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgIDwvZGl2PgoKWyUgUmVuZGVyQmxvY2tTdGFydCgiQ29udGV4dFNldHRpbmdzIikgJV0KCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9IkNvbnRleHRGdW5jdGlvbnMiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iQ29udGV4dFNldHRpbmdzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgaWQ9IlNob3dDb250ZXh0U2V0dGluZ3NEaWFsb2ciIHRpdGxlPSJbJSBUcmFuc2xhdGUoIlNldHRpbmdzIikgfCBodG1sICVdIj48aSBjbGFzcz0iZmEgZmEtY29nIj48L2k+PHNwYW4+WyUgVHJhbnNsYXRlKCJTZXR0aW5ncyIpIHwgaHRtbCAlXTwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICAgICAgPGRpdiBpZD0iQ29udGV4dFNldHRpbmdzRGlhbG9nQ29udGFpbmVyIiBjbGFzcz0iSGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249IlslIEVudigiQ0dJSGFuZGxlIikgJV0iIG1ldGhvZD0icG9zdCIgaWQ9IkNvbnRleHRTZXR0aW5nc0RpYWxvZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IkFnZW50UHJlZmVyZW5jZXMiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iVXBkYXRlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ikdyb3VwIiB2YWx1ZT0iWyUgRGF0YS5Hcm91cCB8IGh0bWwgJV0iLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iUmVkaXJlY3RVUkwiIHZhbHVlPSJbJSBEYXRhLlJlcXVlc3RlZFVSTCB8IGh0bWwgJV0iLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iWyUgRGF0YS5QcmVmZXJlbmNlc0tleSB8IGh0bWwgJV0iPlslIFRyYW5zbGF0ZSgiTWF4LiBzaG93biBzdXJ2ZXlzIHBlciBwYWdlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5QYWdlU2hvd25TdHJpbmcgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiQ29udGV4dFNldHRpbmdzIikgJV0KCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJBY3Rpb25Sb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iT3ZlcnZpZXdBY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLkFjdGlvblJvdyAlXQogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iT3ZlcnZpZXdab29tIj4KClslIFJlbmRlckJsb2NrU3RhcnQoIk92ZXJ2aWV3TmF2QmFyVmlld01vZGUiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJPdmVydmlld05hdkJhclZpZXdNb2RlU2VsZWN0ZWQiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IkFjdGl2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iWyUgRGF0YS5OYW1lIHwgaHRtbCAlXSIgbmFtZT0iT3ZlcnZpZXdDb250cm9sIiBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtGaWx0ZXI9WyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV07Vmlldz1bJSBEYXRhLlZpZXcgfCB1cmkgJV07WyUgRGF0YS5MaW5rRmlsdGVyICVdIiB0aXRsZT0iWyUgVHJhbnNsYXRlKERhdGEuTmFtZSkgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoRGF0YS5OYW1lU2hvcnQpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgpbJSBSZW5kZXJCbG9ja0VuZCgiT3ZlcnZpZXdOYXZCYXJWaWV3TW9kZVNlbGVjdGVkIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiT3ZlcnZpZXdOYXZCYXJWaWV3TW9kZU5vdFNlbGVjdGVkIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iIG5hbWU9Ik92ZXJ2aWV3Q29udHJvbCIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07RmlsdGVyPVslIERhdGEuRmlsdGVyIHwgdXJpICVdO1ZpZXc9WyUgRGF0YS5WaWV3IHwgdXJpICVdO1slIERhdGEuTGlua0ZpbHRlciAlXSIgdGl0bGU9IlslIFRyYW5zbGF0ZShEYXRhLk5hbWUpIHwgaHRtbCAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKERhdGEuTmFtZVNob3J0KSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KWyUgUmVuZGVyQmxvY2tFbmQoIk92ZXJ2aWV3TmF2QmFyVmlld01vZGVOb3RTZWxlY3RlZCIpICVdClslIFJlbmRlckJsb2NrRW5kKCJPdmVydmlld05hdkJhclZpZXdNb2RlIikgJV0KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJQYWdpbmF0aW9uIj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiT3ZlcnZpZXdOYXZCYXJQYWdlTmF2QmFyIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5SZXN1bHRMb25nICVdCiAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuU2l0ZU5hdkJhckxvbmcgJV0KWyUgUmVuZGVyQmxvY2tFbmQoIk92ZXJ2aWV3TmF2QmFyUGFnZU5hdkJhciIpICVdCiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyTGVmdCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KIyBzb3J0IG9yZGVyIGJhciBpZiBuZWVkZWQKICAgICAgICAgICAgICAgIFslIERhdGEuU29ydE9yZGVyQmFyICVdCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiT3ZlcnZpZXdOYXZCYXIiKSAlXQo=</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AgentSurveyOverviewSmall.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgo8ZGl2IGlkPSJPdmVydmlld0JvZHkiIGNsYXNzPSJPdmVydmlldyBUaWNrZXRMaXN0Ij4KWyUgUmVuZGVyQmxvY2tTdGFydCgiTm9EYXRhRm91bmRNc2ciKSAlXQogICAgPGRpdiBpZD0iRW1wdHlNZXNzYWdlU21hbGwiPgogICAgICAgIFslIFRyYW5zbGF0ZSgiTm8gZGF0YSBmb3VuZC4iKSB8IGh0bWwgJV0KICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiTm9EYXRhRm91bmRNc2ciKSAlXQoKICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBuYW1lPSJtYXRyaXgiPgogICAgICAgIDx0YWJsZSBjbGFzcz0iVGFibGVTbWFsbCI+CiAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgIDx0cj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkTnVtYmVySGVhZGVyIikgJV0KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Ik51bWJlciBbJSBEYXRhLkNTUyB8IGh0bWwgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTb3J0Qnk9TnVtYmVyO09yZGVyQnk9WyUgRGF0YS5PcmRlckJ5IHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoQ29uZmlnKCJTdXJ2ZXk6Okhvb2siKSkgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGg+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmROdW1iZXJIZWFkZXIiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmRUaXRsZUhlYWRlciIpICVdCiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJUaXRsZSBbJSBEYXRhLkNTUyB8IGh0bWwgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTb3J0Qnk9VGl0bGU7T3JkZXJCeT1bJSBEYXRhLk9yZGVyQnkgfCB1cmkgJV0iPlslIFRyYW5zbGF0ZSgiVGl0bGUiKSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICAgICAgPC90aD4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZFRpdGxlSGVhZGVyIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkSW50cm9kdWN0aW9uSGVhZGVyIikgJV0KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9IkludHJvZHVjdGlvbiBbJSBEYXRhLkNTUyB8IGh0bWwgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTb3J0Qnk9SW50cm9kdWN0aW9uO09yZGVyQnk9WyUgRGF0YS5PcmRlckJ5IHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoIkludHJvZHVjdGlvbiIpIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgICAgICAgICA8L3RoPgpbJSBSZW5kZXJCbG9ja0VuZCgiUmVjb3JkSW50cm9kdWN0aW9uSGVhZGVyIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkRGVzY3JpcHRpb25IZWFkZXIiKSAlXQogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iRGVzY3JpcHRpb24gWyUgRGF0YS5DU1MgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U29ydEJ5PURlc2NyaXB0aW9uO09yZGVyQnk9WyUgRGF0YS5PcmRlckJ5IHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoIkRlc2NyaXB0aW9uIikgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGg+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmREZXNjcmlwdGlvbkhlYWRlciIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlJlY29yZE5vdGlmaWNhdGlvblNlbmRlckhlYWRlciIpICVdCiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJOb3RpZmljYXRpb25TZW5kZXIgWyUgRGF0YS5DU1MgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U29ydEJ5PU5vdGlmaWNhdGlvblNlbmRlcjtPcmRlckJ5PVslIERhdGEuT3JkZXJCeSB8IHVyaSAlXSI+WyUgVHJhbnNsYXRlKCJOb3RpZmljYXRpb24gU2VuZGVyIikgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGg+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmROb3RpZmljYXRpb25TZW5kZXJIZWFkZXIiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmROb3RpZmljYXRpb25TdWJqZWN0SGVhZGVyIikgJV0KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Ik5vdGlmaWNhdGlvblN1YmplY3QgWyUgRGF0YS5DU1MgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U29ydEJ5PU5vdGlmaWNhdGlvblN1YmplY3Q7T3JkZXJCeT1bJSBEYXRhLk9yZGVyQnkgfCB1cmkgJV0iPlslIFRyYW5zbGF0ZSgiTm90aWZpY2F0aW9uIFN1YmplY3QiKSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICAgICAgPC90aD4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZE5vdGlmaWNhdGlvblN1YmplY3RIZWFkZXIiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmROb3RpZmljYXRpb25Cb2R5SGVhZGVyIikgJV0KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Ik5vdGlmaWNhdGlvbkJvZHkgWyUgRGF0YS5DU1MgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U29ydEJ5PU5vdGlmaWNhdGlvbkJvZHk7T3JkZXJCeT1bJSBEYXRhLk9yZGVyQnkgfCB1cmkgJV0iPlslIFRyYW5zbGF0ZSgiTm90aWZpY2F0aW9uIEJvZHkiKSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICAgICAgPC90aD4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZE5vdGlmaWNhdGlvbkJvZHlIZWFkZXIiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmRTdGF0dXNIZWFkZXIiKSAlXQogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iU3RhdHVzIFslIERhdGEuQ1NTIHwgaHRtbCAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1NvcnRCeT1TdGF0dXM7T3JkZXJCeT1bJSBEYXRhLk9yZGVyQnkgfCB1cmkgJV0iPlslIFRyYW5zbGF0ZSgiU3RhdHVzIikgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGg+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmRTdGF0dXNIZWFkZXIiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmRDcmVhdGVUaW1lSGVhZGVyIikgJV0KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9IkNyZWF0ZVRpbWUgWyUgRGF0YS5DU1MgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U29ydEJ5PUNyZWF0ZVRpbWU7T3JkZXJCeT1bJSBEYXRhLk9yZGVyQnkgfCB1cmkgJV0iPlslIFRyYW5zbGF0ZSgiQ3JlYXRlZCIpIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgICAgICAgICA8L3RoPgpbJSBSZW5kZXJCbG9ja0VuZCgiUmVjb3JkQ3JlYXRlVGltZUhlYWRlciIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlJlY29yZENyZWF0ZUJ5SGVhZGVyIikgJV0KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9IkNyZWF0ZUJ5IFslIERhdGEuQ1NTIHwgaHRtbCAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1NvcnRCeT1DcmVhdGVCeTtPcmRlckJ5PVslIERhdGEuT3JkZXJCeSB8IHVyaSAlXSI+WyUgVHJhbnNsYXRlKCJDcmVhdGVkIGJ5IikgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGg+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmRDcmVhdGVCeUhlYWRlciIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlJlY29yZENoYW5nZVRpbWVIZWFkZXIiKSAlXQogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iQ2hhbmdlVGltZSBbJSBEYXRhLkNTUyB8IGh0bWwgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTb3J0Qnk9Q2hhbmdlVGltZTtPcmRlckJ5PVslIERhdGEuT3JkZXJCeSB8IHVyaSAlXSI+WyUgVHJhbnNsYXRlKCJDaGFuZ2VkIikgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGg+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmRDaGFuZ2VUaW1lSGVhZGVyIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkQ2hhbmdlQnlIZWFkZXIiKSAlXQogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iQ2hhbmdlQnkgWyUgRGF0YS5DU1MgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U29ydEJ5PUNoYW5nZUJ5O09yZGVyQnk9WyUgRGF0YS5PcmRlckJ5IHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoIkNoYW5nZWQgQnkiKSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICAgICAgPC90aD4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZENoYW5nZUJ5SGVhZGVyIikgJV0KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgIDx0Ym9keT4KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkIikgJV0KICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iTWFzdGVyQWN0aW9uIFslIElGIERhdGEuU3RhdHVzID09ICdJbnZhbGlkJyAlXUludmFsaWRbJSBFTkQgJV0iPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmROdW1iZXIiKSAlXQogICAgICAgICAgICAgICAgICAgIDx0ZD4KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkTnVtYmVyTGlua1N0YXJ0IikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPUFnZW50U3VydmV5Wm9vbTtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdIiB0aXRsZT0iWyUgRGF0YS5TdXJ2ZXlOdW1iZXIgfCB1cmkgJV0iIGNsYXNzPSJNYXN0ZXJBY3Rpb25MaW5rIj4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZE51bWJlckxpbmtTdGFydCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLlN1cnZleU51bWJlciB8IGh0bWwgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkTnVtYmVyTGlua0VuZCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZE51bWJlckxpbmtFbmQiKSAlXQogICAgICAgICAgICAgICAgICAgIDwvdGQ+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmROdW1iZXIiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmRUaXRsZSIpICVdCiAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHRpdGxlPSJbJSBEYXRhLlRpdGxlIHwgaHRtbCAlXSI+WyUgRGF0YS5UaXRsZSB8IHRydW5jYXRlKDQwKSB8IGh0bWwgJV08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L3RkPgpbJSBSZW5kZXJCbG9ja0VuZCgiUmVjb3JkVGl0bGUiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmRJbnRyb2R1Y3Rpb24iKSAlXQogICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB0aXRsZT0iWyUgRGF0YS5JbnRyb2R1Y3Rpb24gfCBodG1sICVdIj5bJSBEYXRhLkludHJvZHVjdGlvbiB8IHRydW5jYXRlKDQwKSB8IGh0bWwgJV08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L3RkPgpbJSBSZW5kZXJCbG9ja0VuZCgiUmVjb3JkSW50cm9kdWN0aW9uIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkRGVzY3JpcHRpb24iKSAlXQogICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB0aXRsZT0iWyUgRGF0YS5EZXNjcmlwdGlvbiB8IGh0bWwgJV0iPlslIERhdGEuRGVzY3JpcHRpb24gfCB0cnVuY2F0ZSg0MCkgfCBodG1sICVdPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZERlc2NyaXB0aW9uIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkTm90aWZpY2F0aW9uU2VuZGVyIikgJV0KICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+WyUgRGF0YS5Ob3RpZmljYXRpb25TZW5kZXIgfCBodG1sICVdPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZE5vdGlmaWNhdGlvblNlbmRlciIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlJlY29yZE5vdGlmaWNhdGlvblN1YmplY3QiKSAlXQogICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB0aXRsZT0iWyUgRGF0YS5Ob3RpZmljYXRpb25TdWJqZWN0IHwgaHRtbCAlXSI+WyUgRGF0YS5Ob3RpZmljYXRpb25TdWJqZWN0IHwgdHJ1bmNhdGUoNDApIHwgaHRtbCAlXTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvdGQ+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmROb3RpZmljYXRpb25TdWJqZWN0IikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkTm90aWZpY2F0aW9uQm9keSIpICVdCiAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHRpdGxlPSJbJSBEYXRhLk5vdGlmaWNhdGlvbkJvZHkgfCBodG1sICVdIj5bJSBEYXRhLk5vdGlmaWNhdGlvbkJvZHkgfCB0cnVuY2F0ZSg0MCkgfCBodG1sICVdPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZE5vdGlmaWNhdGlvbkJvZHkiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmRTdGF0dXMiKSAlXQogICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5bJSBUcmFuc2xhdGUoRGF0YS5TdGF0dXMpIHwgaHRtbCAlXTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvdGQ+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmRTdGF0dXMiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmRDcmVhdGVUaW1lIikgJV0KICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+WyUgRGF0YS5DcmVhdGVUaW1lIHwgTG9jYWxpemUoIlRpbWVMb25nIikgJV08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L3RkPgpbJSBSZW5kZXJCbG9ja0VuZCgiUmVjb3JkQ3JlYXRlVGltZSIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlJlY29yZENyZWF0ZUJ5IikgJV0KICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+WyUgRGF0YS5DcmVhdGVVc2VyRnVsbG5hbWUgfCBodG1sICVdPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZENyZWF0ZUJ5IikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUmVjb3JkQ2hhbmdlVGltZSIpICVdCiAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlslIERhdGEuQ2hhbmdlVGltZSB8IExvY2FsaXplKCJUaW1lTG9uZyIpICVdPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KWyUgUmVuZGVyQmxvY2tFbmQoIlJlY29yZENoYW5nZVRpbWUiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJSZWNvcmRDaGFuZ2VCeSIpICVdCiAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlslIERhdGEuQ2hhbmdlVXNlckZ1bGxuYW1lIHwgaHRtbCAlXTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvdGQ+ClslIFJlbmRlckJsb2NrRW5kKCJSZWNvcmRDaGFuZ2VCeSIpICVdCiAgICAgICAgICAgICAgICA8L3RyPgpbJSBSZW5kZXJCbG9ja0VuZCgiUmVjb3JkIikgJV0KICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICA8L3RhYmxlPgogICAgPC9mb3JtPgo8L2Rpdj4K</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AgentSurveyStats.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTdGF0cyIpICVdCjxkaXYgY2xhc3M9IkxheW91dFBvcHVwIEFSSUFSb2xlTWFpbiI+CiAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgIDxoMT5bJSBUcmFuc2xhdGUoIlN0YXRzIE92ZXJ2aWV3IG9mIikgfCBodG1sICVdIDogWyUgVHJhbnNsYXRlKENvbmZpZygiU3VydmV5OjpIb29rIikpIHwgaHRtbCAlXVslIERhdGEuU3VydmV5TnVtYmVyICVdIC0gWyUgRGF0YS5UaXRsZSAlXSA8L2gxPgogICAgICAgIDxwPgogICAgICAgICAgICA8YSBjbGFzcz0iQ2FuY2VsQ2xvc2VQb3B1cCIgaHJlZj0iIyI+WyUgVHJhbnNsYXRlKCJDYW5jZWwgJiBjbG9zZSIpIHwgaHRtbCAlXTwvYT4KICAgICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgoKICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICA8aDI+PC9oMj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRTaW1wbGUgU3BhY2luZ1RvcCBTcGFjaW5nQm90dG9tTWVkaXVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIlJlcXVlc3RzIFRhYmxlIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPGZvcm0gYWN0aW9uPSJbJSBFbnYoIkNHSUhhbmRsZSIpICVdIiBtZXRob2Q9InBvc3QiPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSJbJSBFbnYoIkFjdGlvbiIpICVdIiAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJTdGF0c1ZpZXciIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1cnZleUlEIiB2YWx1ZT0iWyUgRGF0YS5TdXJ2ZXlJRCB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJEYXRhVGFibGUiPgogICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgSUYgRGF0YS5TaG93RGVsZXRlID09IDEgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iQ2hlY2tib3ggQ2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9IkNoZWNrYm94IiB0eXBlPSJjaGVja2JveCIgaWQ9IlNlbGVjdEFsbFJlcXVlc3RzIiBuYW1lPSJTZWxlY3RBbGxSZXF1ZXN0cyIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiU2VsZWN0IGFsbCByZXF1ZXN0cyIpIHwgaHRtbCAlXSIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRU5EICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJEZXRhaWxzIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiU2VuZCBUaW1lIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiVm90ZSBUaW1lIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiVGlja2V0IikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgPHRib2R5PgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTdGF0c1ZvdGUiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBJRiBEYXRhLlNob3dEZWxldGUgPT0gMSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJDaGVja2JveCBOb25UZXh0Q29udGVudCBDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iQ2hlY2tib3giIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJSZXF1ZXN0RGVsZXRlSWRlbnRpZmllciIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiU2VsZWN0IHRoaXMgcmVxdWVzdCIpIHwgaHRtbCAlXSIgdmFsdWU9IlslIERhdGEuUmVxdWVzdElEIHwgaHRtbCAlXSIgIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIEVORCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJTZWVEZXRhaWxzIEFzQmxvY2siIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1N1YmFjdGlvbj1TdGF0c0RldGFpbDtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1JlcXVlc3RJRD1bJSBEYXRhLlJlcXVlc3RJRCB8IHVyaSAlXTtUaWNrZXROdW1iZXI9WyUgRGF0YS5UaWNrZXROdW1iZXIgfCB1cmkgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtc2VhcmNoLXBsdXMiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+WyUgVHJhbnNsYXRlKCJTZWUgRGV0YWlscyIpIHwgaHRtbCAlXTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuU2VuZFRpbWUgfCBMb2NhbGl6ZSgiVGltZUxvbmciKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLlZvdGVUaW1lIHwgTG9jYWxpemUoIlRpbWVMb25nIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Ikxpbmtab29tVmlldyBBc0Jsb2NrIiBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249QWdlbnRUaWNrZXRab29tO1RpY2tldElEPVslIERhdGEuVGlja2V0SUQgfCB1cmkgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLlRpY2tldE51bWJlciB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgpbJSBSZW5kZXJCbG9ja0VuZCgiU3RhdHNWb3RlIikgJV0KICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgWyUgSUYgRGF0YS5TaG93RGVsZXRlID09IDEgJV0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcFNtYWxsIj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IlByaW1hcnkgQ2FsbEZvckFjdGlvbiIgdHlwZT0ic3VibWl0IiB0aXRsZT0iWyUgVHJhbnNsYXRlKCJEZWxldGUgc3RhdHMiKSB8IGh0bWwgJV0iPjxzcGFuPlslIFRyYW5zbGF0ZSgiRGVsZXRlIHN0YXRzIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3VibWl0RGVsZXRlIiB2YWx1ZT0iWyUgVHJhbnNsYXRlKCJEZWxldGUiKSB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgIFslIEVORCAlXQogICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJGb290ZXIiPgogICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iQ2FuY2VsQ2xvc2VQb3B1cCBQcmltYXJ5IENhbGxGb3JBY3Rpb24iIHZhbHVlPSJbJSBUcmFuc2xhdGUoIkNsb3NlIHRoaXMgd2luZG93IikgfCBodG1sICVdIj48c3Bhbj48aSBjbGFzcz0iZmEgZmEtdGltZXMiPjwvaT4gWyUgVHJhbnNsYXRlKCJDbG9zZSB0aGlzIHdpbmRvdyIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgIDwvZGl2Pgo8L2Rpdj4KClslIFJlbmRlckJsb2NrRW5kKCJTdGF0cyIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTdGF0c0RldGFpbCIpICVdCjxkaXYgY2xhc3M9IkxheW91dFBvcHVwIEFSSUFSb2xlTWFpbiI+CiAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgIDxoMT5bJSBUcmFuc2xhdGUoIlN1cnZleSBTdGF0IERldGFpbHMiKSB8IGh0bWwgJV0gOiBbJSBDb25maWcoIlRpY2tldDo6SG9vayIpICVdWyUgQ29uZmlnKCJUaWNrZXQ6Okhvb2tEaXZpZGVyIikgJV1bJSBEYXRhLlRpY2tldE51bWJlciAlXSA6IFslIENvbmZpZygiU3VydmV5OjpIb29rIikgJV1bJSBEYXRhLlN1cnZleU51bWJlciAlXSAtIFslIERhdGEuVGl0bGUgJV0gOiAgPC9oMT4KICAgICAgICA8cD4KICAgICAgICAgICAgPGEgY2xhc3M9IkNhbmNlbENsb3NlUG9wdXAiIGhyZWY9IiMiPlslIFRyYW5zbGF0ZSgiQ2FuY2VsICYgY2xvc2UiKSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgib3IiKSB8IGh0bWwgJV0KICAgICAgICAgICAgPGEgY2xhc3M9Ikhpc3RvcnlCYWNrIiBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXTtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdIj5bJSBUcmFuc2xhdGUoImdvIGJhY2sgdG8gc3RhdHMgb3ZlcnZpZXciKSB8IGh0bWwgJV08L2E+CiAgICAgICAgPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KCiAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgPGgyPjwvaDI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIFNwYWNpbmdUb3AgU3BhY2luZ0JvdHRvbU1lZGl1bSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKCJEZXRhaWxzIikgfCBodG1sICVdPC9oMj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiTmF2QXJyb3dzIikgJV0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Ik5hdmlnYXRpb24iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIFslIElGICFEYXRhLlByZXYgJV1jbGFzcz0iRGlzYWJsZWQiWyUgRU5EICVdWyUgSUYgIURhdGEuTmV4dCAlXXN0eWxlPSJtYXJnaW4tcmlnaHQ6IDE3cHg7IlslIEVORCAlXSBjbGFzcz0iU3VydmV5QXJyb3cgU3VydmV5QXJyb3dMZWZ0IiB0aXRsZT0iWyUgVHJhbnNsYXRlKCJQcmV2aW91cyB2b3RlIikgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPUFnZW50U3VydmV5U3RhdHM7U3ViYWN0aW9uPVN0YXRzRGV0YWlsO1N1cnZleUlEPVslIERhdGEuU3VydmV5SUQgfCB1cmkgJV07UmVxdWVzdElEPVslIERhdGEuUHJldiB8IHVyaSAlXTtUaWNrZXROdW1iZXI9WyUgRGF0YS5QcmV2VGlja2V0TnVtYmVyIHwgdXJpICVdIj48aSBjbGFzcz0iZmEgZmEtY2FyZXQtbGVmdCI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gWyUgSUYgIURhdGEuTmV4dCAlXWNsYXNzPSJEaXNhYmxlZCJbJSBFTkQgJV0gY2xhc3M9IlN1cnZleUFycm93IFN1cnZleUFycm93UmlnaHQiIHRpdGxlPSJbJSBUcmFuc2xhdGUoIk5leHQgdm90ZSIpIHwgaHRtbCAlXSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1BZ2VudFN1cnZleVN0YXRzO1N1YmFjdGlvbj1TdGF0c0RldGFpbDtTdXJ2ZXlJRD1bJSBEYXRhLlN1cnZleUlEIHwgdXJpICVdO1JlcXVlc3RJRD1bJSBEYXRhLk5leHQgfCB1cmkgJV07VGlja2V0TnVtYmVyPVslIERhdGEuTmV4dFRpY2tldE51bWJlciB8IHVyaSAlXSI+PGkgY2xhc3M9ImZhIGZhLWNhcmV0LXJpZ2h0Ij48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiTmF2QXJyb3dzIikgJV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2UgRml4ZWRMYWJlbCI+ClslIFJlbmRlckJsb2NrU3RhcnQoIlN0YXRzRGV0YWlsUXVlc3Rpb24iKSAlXQogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iWyUgRGF0YS5DbGFzcyAlXSI+WyUgRGF0YS5SZXF1aXJlZFRleHQgfCBodG1sICVdWyUgRGF0YS5RdWVzdGlvbiB8IGh0bWwgJV06PC9sYWJlbD4KWyUgUmVuZGVyQmxvY2tTdGFydCgiU3RhdHNEZXRhaWxBbnN3ZXIiKSAlXQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIFslIERhdGEuQ2xhc3MgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLkFuc3dlciAlXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlN0YXRzRGV0YWlsQW5zd2VyIikgJV0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJTdGF0c0RldGFpbFF1ZXN0aW9uIikgJV0KICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJGb290ZXIiPgogICAgICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iWyUgRW52KCJBY3Rpb24iKSAlXSIgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3VydmV5SUQiIHZhbHVlPSJbJSBEYXRhLlN1cnZleUlEIHwgaHRtbCAlXSIgLz4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJQcmltYXJ5IENhbGxGb3JBY3Rpb24iIHZhbHVlPSJbJSBUcmFuc2xhdGUoIkdvIGJhY2siKSB8IGh0bWwgJV0iPjxzcGFuPjxpIGNsYXNzPSJmYSBmYS1jYXJldC1sZWZ0Ij48L2k+IFslIFRyYW5zbGF0ZSgiR28gYmFjayIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICA8L2Zvcm0+CiAgICA8L2Rpdj4KPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJTdGF0c0RldGFpbCIpICVdCg==</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AgentSurveyZoom.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTdXJ2ZXlab29tIikgJV0KPGRpdiBjbGFzcz0iTWFpbkJveCBBcmlhUm9sZU1haW4gTGF5b3V0Rml4ZWRTaWRlYmFyIFNpZGViYXJGaXJzdCI+CiAgICA8ZGl2IGNsYXNzPSJDbGVhckxlZnQiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iSGVhZGxpbmUiPgogICAgICAgIDxoMT5bJSBUcmFuc2xhdGUoQ29uZmlnKCJTdXJ2ZXk6Okhvb2siKSkgfCBodG1sICVdWyUgRGF0YS5TdXJ2ZXlOdW1iZXIgfCBodG1sICVdIC0gWyUgRGF0YS5UaXRsZSB8IGh0bWwgJV08L2gxPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iTGF5b3V0Rml4ZWRTaWRlYmFyIFNpZGViYXJMYXN0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJTaWRlYmFyQ29sdW1uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgPGgyPlslIFRyYW5zbGF0ZSgiU3VydmV5IEluZm9ybWF0aW9uIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2UgRml4ZWRMYWJlbFNtYWxsIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIkNyZWF0ZWQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IlZhbHVlIj5bJSBEYXRhLkNyZWF0ZVRpbWUgfCBMb2NhbGl6ZSgiVGltZVNob3J0IikgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIkNyZWF0ZWQgYnkiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IlZhbHVlIj5bJSBEYXRhLkNyZWF0ZVVzZXJGdWxsbmFtZSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIkNoYW5nZWQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IlZhbHVlIiA+WyUgRGF0YS5DaGFuZ2VUaW1lIHwgTG9jYWxpemUoIlRpbWVTaG9ydCIpICVdPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlslIFRyYW5zbGF0ZSgiQ2hhbmdlZCBieSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iVmFsdWUiPlslIERhdGEuQ2hhbmdlVXNlckZ1bGxuYW1lIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlslIFRyYW5zbGF0ZSgiU3RhdHVzIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJWYWx1ZSI+WyUgVHJhbnNsYXRlKERhdGEuU3RhdHVzKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgoKICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSBGaXhlZExhYmVsU21hbGwiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJTZW50IHJlcXVlc3RzIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJWYWx1ZSI+WyUgRGF0YS5TZW5kUmVxdWVzdCB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIlJlY2VpdmVkIHN1cnZleXMiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IlZhbHVlIj5bJSBEYXRhLlJlcXVlc3RDb21wbGV0ZSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Q29sdW1uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udHJvbFJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJBZGRpdGlvbmFsSW5mb3JtYXRpb24iPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJBY3Rpb25Sb3ciPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJBY3Rpb25zIj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiTWVudUl0ZW0iKSAlXQogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdWyUgRGF0YS5MaW5rIHwgSW50ZXJwb2xhdGUgJV0iIGlkPSJbJSBEYXRhLk1lbnVJRCB8IGh0bWwgJV0iIGNsYXNzPSJbJSBEYXRhLkNsYXNzIHwgaHRtbCAlXSIgWyUgRGF0YS5MaW5rUGFyYW0gJV0gdGl0bGU9IlslIFRyYW5zbGF0ZShEYXRhLkRlc2NyaXB0aW9uKSB8IGh0bWwgJV0iPlslIFRyYW5zbGF0ZShEYXRhLk5hbWUpIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgpbJSBSZW5kZXJCbG9ja0VuZCgiTWVudUl0ZW0iKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTdXJ2ZXlTdGF0dXMiKSAlXQogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSJbJSBFbnYoIkNHSUhhbmRsZSIpICVdIiBtZXRob2Q9InBvc3QiIGNsYXNzPSJBY3Rpb25Gb3JtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IlslIEVudigiQWN0aW9uIikgJV0iIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJTdXJ2ZXlTdGF0dXMiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdXJ2ZXlJRCIgdmFsdWU9IlslIERhdGEuU3VydmV5SUQgfCBodG1sICVdIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5OZXdTdGF0dXNTdHIgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgIDwvbGk+ClslIFJlbmRlckJsb2NrRW5kKCJTdXJ2ZXlTdGF0dXMiKSAlXQogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRTaW1wbGUgU3BhY2luZ1RvcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIlN1cnZleSBEZXRhaWxzIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2UgRml4ZWRMYWJlbFNtYWxsIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIk51bWJlciIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+WyUgRGF0YS5TdXJ2ZXlOdW1iZXIgfCBodG1sICVdPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIlRpdGxlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj5bJSBEYXRhLlRpdGxlIHwgdHJ1bmNhdGUoODApIHwgaHRtbCAlXTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJRdWV1ZXMiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiIHRpdGxlPSJbJSBEYXRhLlF1ZXVlTGlzdFN0cmluZyB8IGh0bWwgJV0iPlslIERhdGEuUXVldWVMaXN0U3RyaW5nIHwgdHJ1bmNhdGUoODApIHwgaHRtbCAlXSBbJSBEYXRhLk5vUXVldWVNZXNzYWdlIHwgaHRtbCAlXTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJUaWNrZXRUeXBlcyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIlRpY2tldCBUeXBlcyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCIgdGl0bGU9IlslIERhdGEuVGlja2V0VHlwZUxpc3RTdHJpbmcgfCBodG1sICVdIj5bJSBEYXRhLlRpY2tldFR5cGVMaXN0U3RyaW5nIHwgdHJ1bmNhdGUoODApIHwgaHRtbCAlXTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJUaWNrZXRUeXBlcyIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJUaWNrZXRTZXJ2aWNlcyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIlRpY2tldCBTZXJ2aWNlcyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCIgdGl0bGU9IlslIERhdGEuU2VydmljZUxpc3RTdHJpbmcgfCBodG1sICVdIj5bJSBEYXRhLlNlcnZpY2VMaXN0U3RyaW5nIHwgdHJ1bmNhdGUoODApIHwgaHRtbCAlXTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJUaWNrZXRTZXJ2aWNlcyIpICVdCgogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJTdXJ2ZXlCbG9jayIpICVdCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IldpZGdldFNpbXBsZSBTcGFjaW5nVG9wIiBpZD0iWyUgRGF0YS5TdXJ2ZXlGaWVsZCAlXUJsb2NrIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0QWN0aW9uIFRvZ2dsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1BZ2VudFN1cnZleVpvb207U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IHVyaSAlXSIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiU2hvdyBvciBoaWRlIHRoZSBjb250ZW50IikgfCBodG1sICVdIj48aSBjbGFzcz0iZmEgZmEtY2FyZXQtcmlnaHQiPjwvaT48aSBjbGFzcz0iZmEgZmEtY2FyZXQtZG93biI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKERhdGEuVGl0bGUpIHwgaHRtbCAlXTwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJCb2R5SFRNTCIpICVdCiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlmcmFtZSB3aWR0aD0iMTAwJSIgZnJhbWVib3JkZXI9IjAiIGlkPSJJZnJhbWVTdXJ2ZXlbJSBEYXRhLlN1cnZleUZpZWxkIHwgaHRtbCAlXSIgb25sb2FkPSJTdXJ2ZXkuQWdlbnQuU3VydmV5Wm9vbS5JZnJhbWVBdXRvSGVpZ2h0KCQoJyNJZnJhbWVTdXJ2ZXlbJSBEYXRhLlN1cnZleUZpZWxkIHwgaHRtbCAlXScpKTsiIHNyYz0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPUFnZW50U3VydmV5Wm9vbTtTdWJhY3Rpb249SFRNTFZpZXc7U3VydmV5SUQ9WyUgRGF0YS5TdXJ2ZXlJRCB8IGh0bWwgJV07U3VydmV5RmllbGQ9WyUgRGF0YS5TdXJ2ZXlGaWVsZCB8IGh0bWwgJV07Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPC9pZnJhbWU+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJCb2R5SFRNTCIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIkJvZHlQbGFpbiIpICVdCiAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9IlRleHRhcmVhIj5bJSBUcmFuc2xhdGUoRGF0YS5MYWJlbCkgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIFRleHRhcmVhIj5bJSBEYXRhLkNvbnRlbnQgfCBodG1sICVdPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgpbJSBSZW5kZXJCbG9ja0VuZCgiQm9keVBsYWluIikgJV0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlN1cnZleUJsb2NrIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUGVybWlzc2lvblN0YXRSZXN1bHRzIikgJV0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIFNwYWNpbmdUb3AgU3BhY2luZ0JvdHRvbU1lZGl1bSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IldpZGdldEFjdGlvbiBUb2dnbGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiB0aXRsZT0iWyUgVHJhbnNsYXRlKCJTaG93IG9yIGhpZGUgdGhlIGNvbnRlbnQiKSB8IGh0bWwgJV0iPjxpIGNsYXNzPSJmYSBmYS1jYXJldC1yaWdodCI+PC9pPjxpIGNsYXNzPSJmYSBmYS1jYXJldC1kb3duIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIlN1cnZleSBSZXN1bHRzIEdyYXBoIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJOb1N0YXRSZXN1bHRzIikgJV0KICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIk5vIHN0YXQgcmVzdWx0cy4iKSB8IGh0bWwgJV0KWyUgUmVuZGVyQmxvY2tFbmQoIk5vU3RhdFJlc3VsdHMiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiU3VydmV5RWRpdFN0YXRzIikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlN1cnZleUVkaXRTdGF0c1F1ZXN0aW9uIikgJV0KICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlNwYWNpbmdUb3AgU3VydmV5R3JhcGhzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUXVlc3Rpb24iIHRpdGxlPSJbJSBEYXRhLlF1ZXN0aW9uIHwgaHRtbCAlXSIgPlslIERhdGEuUXVlc3Rpb24gfCB0cnVuY2F0ZSgxMDApIHwgaHRtbCAlXTogPC9kaXY+ClslIFJlbmRlckJsb2NrU3RhcnQoIlN1cnZleUVkaXRTdGF0c0Fuc3dlciIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkFuc3dlciI+WyUgVHJhbnNsYXRlKERhdGEuQW5zd2VyKSB8IGh0bWwgJV08L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlN1cnZleUdyYXBoIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlN1cnZleUdyYXBoQ29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJTdXJ2ZXlHcmFwaEJhciIgc3R5bGU9IndpZHRoOlslIERhdGEuQW5zd2VyUGVyY2VudFRhYmxlIHwgaHRtbCAlXSU7Ij48L2RpdiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJTdXJ2ZXlHcmFwaExleWVuZCI+WyUgRGF0YS5BbnN3ZXJQZXJjZW50IHwgaHRtbCAlXSU8L3A+ClslIFJlbmRlckJsb2NrRW5kKCJTdXJ2ZXlFZGl0U3RhdHNBbnN3ZXIiKSAlXQogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+ClslIFJlbmRlckJsb2NrRW5kKCJTdXJ2ZXlFZGl0U3RhdHNRdWVzdGlvbiIpICVdCgpbJSBSZW5kZXJCbG9ja0VuZCgiU3VydmV5RWRpdFN0YXRzIikgJV0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlBlcm1pc3Npb25TdGF0UmVzdWx0cyIpICVdCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJTdXJ2ZXlab29tIikgJV0K</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/PublicSurvey.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJQdWJsaWNTdXJ2ZXkiKSAlXQo8ZGl2IGNsYXNzPSJDb250ZW50IEFSSUFSb2xlTWFpbiIgaWQ9Im9vb0NvbnRlbnQiPgogICAgPGRpdiBpZD0ib29vSGVhZGVyIiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICA8aDE+WyUgVHJhbnNsYXRlKCJTdXJ2ZXkiKSB8IGh0bWwgJV06IFslIERhdGEuVGl0bGUgfCBodG1sICVdPC9oMT4KICAgIDwvZGl2PgoKICAgIDxkaXYgaWQ9J29vb01haW5Cb3gnPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJQdWJsaWNUaWNrZXQiKSAlXQogICAgICAgIDxkaXYgY2xhc3M9IlN1cnZleUJsb2NrIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3VydmV5QmxvY2tIZWFkZXIiPgogICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJUaWNrZXQiKSB8IGh0bWwgJV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgWyUgQ29uZmlnKCJUaWNrZXQ6Okhvb2siKSB8IGh0bWwgJV1bJSBDb25maWcoIlRpY2tldDo6SG9va0RpdmlkZXIiKSB8IGh0bWwgJV1bJSBEYXRhLlRpY2tldE51bWJlciB8IGh0bWwgJV0gPHNwYW4+Jm1kYXNoOzwvc3Bhbj4gWyUgRGF0YS5UaXRsZSB8IHRydW5jYXRlKDEwMCkgJV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlB1YmxpY1RpY2tldCIpICVdCgogICAgICAgIDxkaXYgY2xhc3M9IlN1cnZleUJsb2NrIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3VydmV5QmxvY2tIZWFkZXIiPgogICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJJbnRyb2R1Y3Rpb24iKSB8IGh0bWwgJV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgWyUgRGF0YS5JbnRyb2R1Y3Rpb24gJV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgPGZvcm0gYWN0aW9uPSJbJSBFbnYoIkNHSUhhbmRsZSIpICVdIiBtZXRob2Q9InBvc3QiPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSJbJSBFbnYoIkFjdGlvbiIpICVdIiAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJQdWJsaWNTdXJ2ZXlWb3RlIiAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJQdWJsaWNTdXJ2ZXlLZXkiIHZhbHVlPSJbJSBEYXRhLlB1YmxpY1N1cnZleUtleSB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iU3VydmV5Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlN1cnZleUJsb2NrSGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIlBsZWFzZSBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zIikgfCBodG1sICVdOgogICAgICAgICAgICAgICAgPC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJQdWJsaWNRdWVzdGlvbnMiKSAlXQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUXVlc3Rpb25Db250YWluZXIiPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJQdWJsaWNBbnN3ZXJZZXNObyIpICVdCgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlF1ZXN0aW9uIFslIERhdGEuQ2xhc3MgfCBodG1sICVdIj4gWyUgRGF0YS5SZXF1aXJlZFRleHQgfCBodG1sICVdWyUgRGF0YS5RdWVzdGlvbiB8IGh0bWwgJV0gPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5FcnJvclRleHQgJV0KCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0iUHVibGljU3VydmV5Vm90ZTFbJSBEYXRhLlF1ZXN0aW9uSUQgfCBodG1sICVdWWVzIiBuYW1lPSJQdWJsaWNTdXJ2ZXlWb3RlMVtbJSBEYXRhLlF1ZXN0aW9uSUQgfCBodG1sICVdXSIgdmFsdWU9IlllcyIgWyUgRGF0YS5ZZXNTZWxlY3RlZCB8IGh0bWwgJV0gLz4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9IkFuc3dlciIgZm9yPSJQdWJsaWNTdXJ2ZXlWb3RlMVslIERhdGEuUXVlc3Rpb25JRCB8IGh0bWwgJV1ZZXMiPlslIFRyYW5zbGF0ZSgiWWVzIikgfCBodG1sICVdPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9IlB1YmxpY1N1cnZleVZvdGUxWyUgRGF0YS5RdWVzdGlvbklEIHwgaHRtbCAlXU5vIiBuYW1lPSJQdWJsaWNTdXJ2ZXlWb3RlMVtbJSBEYXRhLlF1ZXN0aW9uSUQgfCBodG1sICVdXSIgdmFsdWU9Ik5vIiAgWyUgRGF0YS5Ob1NlbGVjdGVkIHwgaHRtbCAlXSAvPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iQW5zd2VyIiBmb3I9IlB1YmxpY1N1cnZleVZvdGUxWyUgRGF0YS5RdWVzdGlvbklEIHwgaHRtbCAlXU5vIj5bJSBUcmFuc2xhdGUoIk5vIikgfCBodG1sICVdPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJQdWJsaWNBbnN3ZXJZZXNObyIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJQdWJsaWNBbnN3ZXJSYWRpbyIpICVdCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUXVlc3Rpb24gWyUgRGF0YS5DbGFzcyB8IGh0bWwgJV0iPiBbJSBEYXRhLlJlcXVpcmVkVGV4dCB8IGh0bWwgJV1bJSBEYXRhLlF1ZXN0aW9uICVdIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIFslIERhdGEuRXJyb3JUZXh0ICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlB1YmxpY0Fuc3dlclJhZGlvYiIpICVdCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0iUHVibGljU3VydmV5Vm90ZTJbJSBEYXRhLlF1ZXN0aW9uSUQgfCBodG1sICVdWyUgRGF0YS5BbnN3ZXJJRCB8IGh0bWwgJV0iIG5hbWU9IlB1YmxpY1N1cnZleVZvdGUyW1slIERhdGEuUXVlc3Rpb25JRCB8IGh0bWwgJV1dIiB2YWx1ZT0iWyUgRGF0YS5BbnN3ZXJJRCB8IGh0bWwgJV0iIFslIERhdGEuQW5zd2VyU2VsZWN0ZWQgfCBodG1sICVdLz4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9IkFuc3dlciIgZm9yPSJQdWJsaWNTdXJ2ZXlWb3RlMlslIERhdGEuUXVlc3Rpb25JRCB8IGh0bWwgJV1bJSBEYXRhLkFuc3dlcklEIHwgaHRtbCAlXSI+WyUgRGF0YS5BbnN3ZXIgfCBodG1sICVdPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJQdWJsaWNBbnN3ZXJSYWRpb2IiKSAlXQpbJSBSZW5kZXJCbG9ja0VuZCgiUHVibGljQW5zd2VyUmFkaW8iKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiUHVibGljQW5zd2VyQ2hlY2tib3giKSAlXQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlF1ZXN0aW9uIFslIERhdGEuQ2xhc3MgfCBodG1sICVdIj4gWyUgRGF0YS5SZXF1aXJlZFRleHQgfCBodG1sICVdWyUgRGF0YS5RdWVzdGlvbiAlXSA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLkVycm9yVGV4dCAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJQdWJsaWNBbnN3ZXJDaGVja2JveGIiKSAlXQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9IlB1YmxpY1N1cnZleVZvdGUzWyUgRGF0YS5BbnN3ZXJJRCB8IGh0bWwgJV0iIG5hbWU9IlB1YmxpY1N1cnZleVZvdGUzW1slIERhdGEuQW5zd2VySUQgfCBodG1sICVdXSIgdmFsdWU9IlllcyIgWyUgRGF0YS5BbnN3ZXJTZWxlY3RlZCB8IGh0bWwgJV0vPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iQW5zd2VyIiBmb3I9IlB1YmxpY1N1cnZleVZvdGUzWyUgRGF0YS5BbnN3ZXJJRCB8IGh0bWwgJV0iPlslIERhdGEuQW5zd2VyIHwgaHRtbCAlXTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiUHVibGljQW5zd2VyQ2hlY2tib3hiIikgJV0KWyUgUmVuZGVyQmxvY2tFbmQoIlB1YmxpY0Fuc3dlckNoZWNrYm94IikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlB1YmxpY0Fuc3dlclRleHRhcmVhIikgJV0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJRdWVzdGlvbiBbJSBEYXRhLkNsYXNzIHwgaHRtbCAlXSI+IFslIERhdGEuUmVxdWlyZWRUZXh0IHwgaHRtbCAlXVslIERhdGEuUXVlc3Rpb24gJV0gPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5FcnJvclRleHQgJV0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJSaWNoVGV4dEFuc3dlclslIERhdGEuQW5zd2VySUQgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIHRpdGxlPSJbJSBEYXRhLlF1ZXN0aW9uICVdIiBpZD0iUmljaFRleHRbJSBEYXRhLlF1ZXN0aW9uSUQgfCBodG1sICVdIiBuYW1lPSJQdWJsaWNTdXJ2ZXlWb3RlNFtbJSBEYXRhLlF1ZXN0aW9uSUQgfCBodG1sICVdXSIgY2xhc3M9IlJpY2hUZXh0IERvbnRQcmludCIgcm93cz0iMTUiIGNvbHM9IlslIENvbmZpZygiVGlja2V0OjpGcm9udGVuZDo6VGV4dEFyZWFOb3RlIikgJV0iPlslIERhdGEuVmFsdWUgJV08L3RleHRhcmVhPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiUHVibGljQW5zd2VyVGV4dGFyZWEiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiUHVibGljQW5zd2VyTlBTIikgJV0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJRdWVzdGlvbiBbJSBEYXRhLkNsYXNzIHwgaHRtbCAlXSI+IFslIERhdGEuUmVxdWlyZWRUZXh0IHwgaHRtbCAlXVslIERhdGEuUXVlc3Rpb24gJV0gPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5FcnJvclRleHQgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiUHVibGljQW5zd2VyTlBTYiIpICVdCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBjbGFzcz0iTlBTIiBpZD0iUHVibGljU3VydmV5Vm90ZTVbJSBEYXRhLlF1ZXN0aW9uSUQgfCBodG1sICVdWyUgRGF0YS5BbnN3ZXJJRCB8IGh0bWwgJV0iIG5hbWU9IlB1YmxpY1N1cnZleVZvdGU1W1slIERhdGEuUXVlc3Rpb25JRCB8IGh0bWwgJV1dIiB2YWx1ZT0iWyUgRGF0YS5BbnN3ZXJJRCB8IGh0bWwgJV0iIFslIERhdGEuQW5zd2VyU2VsZWN0ZWQgfCBodG1sICVdLz4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9IkFuc3dlciBOUFMiIGZvcj0iUHVibGljU3VydmV5Vm90ZTVbJSBEYXRhLlF1ZXN0aW9uSUQgfCBodG1sICVdWyUgRGF0YS5BbnN3ZXJJRCB8IGh0bWwgJV0iPlslIERhdGEuQW5zd2VyIHwgaHRtbCAlXTwvbGFiZWw+ClslIFJlbmRlckJsb2NrRW5kKCJQdWJsaWNBbnN3ZXJOUFNiIikgJV0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJQdWJsaWNBbnN3ZXJOUFMiKSAlXQoKICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiUHVibGljUXVlc3Rpb25zIikgJV0KICAgICAgICAgICAgPC9maWVsZHNldD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iQWN0aW9uUm93IiBpZD0iQm90dG9tQWN0aW9uUm93Ij4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IlByaW1hcnkiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlslIFRyYW5zbGF0ZSgiRmluaXNoIikgfCBodG1sICVdIj4gWyUgVHJhbnNsYXRlKCJGaW5pc2giKSB8IGh0bWwgJV0gPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZm9ybT4KICAgIDwvZGl2Pgo8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlB1YmxpY1N1cnZleSIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJQdWJsaWNTdXJ2ZXlNZXNzYWdlIikgJV0KPGRpdiBpZD0ib29vQ29udGVudCIgY2xhc3M9IlRpY2tldENvbXBvc2UgQVJJQVJvbGVNYWluIj4KICAgIDxkaXYgaWQ9Im9vb0hlYWRlciI+CiAgICAgICAgPGgxPiBbJSBUcmFuc2xhdGUoRGF0YS5NZXNzYWdlVHlwZSkgfCBodG1sICVdIDwvaDE+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9Im9vb01haW5Cb3giPgogICAgICAgIDxkaXYgY2xhc3M9IlN1cnZleUJsb2NrIj4KICAgICAgICAgICAgPGg0PiBbJSBUcmFuc2xhdGUoRGF0YS5NZXNzYWdlSGVhZGVyKSB8IGh0bWwgJV0gPC9oND4KICAgICAgICAgICAgPHAgY2xhc3M9IlNwYWNpbmdUb3AiPgogICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKERhdGEuTWVzc2FnZSkgfCBodG1sICVdCiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiU2hvd0Fuc3dlcnNCdXR0b24iKSAlXQogICAgICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iWyUgRW52KCJBY3Rpb24iKSAlXSIgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iU2hvd1ZvdGVEYXRhIiAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJQdWJsaWNTdXJ2ZXlLZXkiIHZhbHVlPSJbJSBEYXRhLlB1YmxpY1N1cnZleUtleSB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiA+WyUgVHJhbnNsYXRlKCJTaG93IG15IGFuc3dlcnMiKSB8IGh0bWwgJV08L2J1dHRvbj4KICAgICAgICA8L2Zvcm0+ClslIFJlbmRlckJsb2NrRW5kKCJTaG93QW5zd2Vyc0J1dHRvbiIpICVdCiAgICA8L2Rpdj4KPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJQdWJsaWNTdXJ2ZXlNZXNzYWdlIikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlB1YmxpY1N1cnZleVZvdGVEYXRhIikgJV0KPGRpdiBjbGFzcz0iQ29udGVudCBBUklBUm9sZU1haW4iIGlkPSJvb29Db250ZW50Ij4KICAgIDxkaXYgaWQ9Im9vb0hlYWRlciI+CiAgICAgICAgPGgxPlslIFRyYW5zbGF0ZSgiVGhlc2UgYXJlIHlvdXIgYW5zd2VycyIpIHwgaHRtbCAlXTo8L2gxPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJvb29NYWluQm94Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJTdXJ2ZXlCbG9jayI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IlN1cnZleUJsb2NrSGVhZGVyIj4KICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiU3VydmV5IFRpdGxlIikgfCBodG1sICVdCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIlN1cnZleSIpIHwgaHRtbCAlXTogWyUgRGF0YS5UaXRsZSB8IGh0bWwgJV08L2gyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iU3VydmV5QmxvY2siPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJTdXJ2ZXlCbG9ja0hlYWRlciI+CiAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIkludHJvZHVjdGlvbiIpIHwgaHRtbCAlXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CiAgICAgICAgICAgICAgICBbJSBEYXRhLkludHJvZHVjdGlvbiAlXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgogICAgICAgIDxmaWVsZHNldCBjbGFzcz0iU3VydmV5Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3VydmV5QmxvY2tIZWFkZXIiPgogICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJUaGVzZSBhcmUgeW91ciBhbnN3ZXJzIikgfCBodG1sICVdOgogICAgICAgICAgICA8L2Rpdj4KClslIFJlbmRlckJsb2NrU3RhcnQoIlB1YmxpY1N1cnZleVZvdGVRdWVzdGlvbiIpICVdCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IlF1ZXN0aW9uQ29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlF1ZXN0aW9uIFslIERhdGEuQ2xhc3MgfCBodG1sICVdIj4gWyUgRGF0YS5SZXF1aXJlZFRleHQgfCBodG1sICVdWyUgRGF0YS5RdWVzdGlvbiB8IGh0bWwgJV06PC9kaXY+ClslIFJlbmRlckJsb2NrU3RhcnQoIlB1YmxpY1N1cnZleVZvdGVBbnN3ZXIiKSAlXQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQW5zd2VyIj4KICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLkFuc3dlciB8IGh0bWwgJV0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiUHVibGljU3VydmV5Vm90ZUFuc3dlciIpICVdCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiUHVibGljU3VydmV5Vm90ZVF1ZXN0aW9uIikgJV0KICAgICAgICA8L2ZpZWxkc2V0PgogICAgPC9kaXY+CjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiUHVibGljU3VydmV5Vm90ZURhdGEiKSAlXQo=</File>
        <File Location="Kernel/System/Console/Command/Maint/Survey/RequestsDelete.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpDb25zb2xlOjpDb21tYW5kOjpNYWludDo6U3VydmV5OjpSZXF1ZXN0c0RlbGV0ZTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBwYXJlbnQgcXcoS2VybmVsOjpTeXN0ZW06OkNvbnNvbGU6OkJhc2VDb21tYW5kKTsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKICAgICdLZXJuZWw6OlN5c3RlbTo6REInLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpEYXRlVGltZScsCiAgICAnS2VybmVsOjpTeXN0ZW06OlN1cnZleScsCik7CgpzdWIgQ29uZmlndXJlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgJFNlbGYtPkRlc2NyaXB0aW9uKCdEZWxldGUgc3VydmV5IHJlc3VsdHMgKGluY2x1ZGluZyB2b3RlIGRhdGEgYW5kIHJlcXVlc3RzKS4nKTsKICAgICRTZWxmLT5BZGRPcHRpb24oCiAgICAgICAgTmFtZSAgICAgICAgPT4gJ2ZvcmNlJywKICAgICAgICBEZXNjcmlwdGlvbiA9PiAiQWN0dWFsbHkgZGVsZXRlIHJlc3VsdHMgbm93LiIsCiAgICAgICAgUmVxdWlyZWQgICAgPT4gMCwKICAgICAgICBIYXNWYWx1ZSAgICA9PiAwLAogICAgKTsKCiAgICByZXR1cm47Cn0KCnN1YiBQcmVSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkRGVsZXRlUGVyaW9kID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdTdXJ2ZXk6OkRlbGV0ZVBlcmlvZCcpOwogICAgaWYgKCAhJERlbGV0ZVBlcmlvZCApIHsKICAgICAgICBkaWUgIk5vIGRheXMgY29uZmlndXJlZCBpbiBTdXJ2ZXk6OkRlbGV0ZVBlcmlvZC5cbiI7CiAgICB9CgogICAgcmV0dXJuOwp9CgpzdWIgUnVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgJFNlbGYtPlByaW50KCI8eWVsbG93PlByb2Nlc3NpbmcgcGVuZGluZyBzdXJ2ZXkgcmVzdWx0cy4uLjwveWVsbG93PlxuXG4iKTsKCiAgICAjIGdldCBmb3JjZSBvcHRpb24KICAgIG15ICRGb3JjZSA9ICRTZWxmLT5HZXRPcHRpb24oJ2ZvcmNlJyk7CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGdldCBzdXJ2ZXkgb2JqZWN0CiAgICBteSAkU3VydmV5T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpOwoKICAgICMgZ2V0IHN1cnZleSBpZHMKICAgIG15IEBTdXJ2ZXlJRHMgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlTZWFyY2goCiAgICAgICAgVXNlcklEID0+IDEsCiAgICApOwoKICAgICMgZ2V0IGRlbGV0ZSBwZXJpb2QgKGluIGRheXMpCiAgICBteSAkRGVsZXRlUGVyaW9kID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdTdXJ2ZXk6OkRlbGV0ZVBlcmlvZCcpOwoKICAgIG15ICRPbGRlckRhdGVUaW1lT2JqZWN0ID0gJEtlcm5lbDo6T00tPkNyZWF0ZSgKICAgICAgICAnS2VybmVsOjpTeXN0ZW06OkRhdGVUaW1lJywKICAgICk7CiAgICAkT2xkZXJEYXRlVGltZU9iamVjdC0+U3VidHJhY3QoCiAgICAgICAgRGF5cyA9PiAkRGVsZXRlUGVyaW9kLAogICAgKTsKICAgICRPbGRlckRhdGVUaW1lT2JqZWN0LT5TZXQoCiAgICAgICAgSG91ciAgID0+IDIzLAogICAgICAgIE1pbnV0ZSA9PiA1OSwKICAgICAgICBTZWNvbmQgPT4gNTksCiAgICApOwogICAgbXkgJFJlcXVlc3RDcmVhdGVUaW1lT2xkZXJEYXRlID0gJE9sZGVyRGF0ZVRpbWVPYmplY3QtPlRvU3RyaW5nKCk7CgogICAgbXkgJE5ld2VyRGF0ZVRpbWVPYmplY3QgPSAkS2VybmVsOjpPTS0+Q3JlYXRlKAogICAgICAgICdLZXJuZWw6OlN5c3RlbTo6RGF0ZVRpbWUnLAogICAgKTsKICAgICROZXdlckRhdGVUaW1lT2JqZWN0LT5TdWJ0cmFjdCgKICAgICAgICBEYXlzID0+ICREZWxldGVQZXJpb2QgKyAxLAogICAgKTsKICAgICROZXdlckRhdGVUaW1lT2JqZWN0LT5TZXQoCiAgICAgICAgSG91ciAgID0+IDAsCiAgICAgICAgTWludXRlID0+IDAsCiAgICAgICAgU2Vjb25kID0+IDAsCiAgICApOwoKICAgIGZvciBteSAkU3VydmV5SUQgKEBTdXJ2ZXlJRHMpIHsKCiAgICAgICAgIyBnZXQgcHVibGljIHN1cnZleSBrZXlzCiAgICAgICAgbXkgJFB1YmxpY1N1cnZleUtleXMgPSAkU3VydmV5T2JqZWN0LT5QdWJsaWNTdXJ2ZXlLZXlHZXQoCiAgICAgICAgICAgIFN1cnZleUlEID0+ICRTdXJ2ZXlJRCwKICAgICAgICApOwoKICAgICAgICBSRVFVRVNUOgogICAgICAgIGZvciBteSAkUHVibGljS2V5ICggQHskUHVibGljU3VydmV5S2V5c30gKSB7CgogICAgICAgICAgICAjIGdldCByZXF1ZXN0cwogICAgICAgICAgICBteSAlUmVxdWVzdERhdGEgPSAkU3VydmV5T2JqZWN0LT5SZXF1ZXN0R2V0KAogICAgICAgICAgICAgICAgUHVibGljU3VydmV5S2V5ICAgICAgICAgICAgPT4gJFB1YmxpY0tleSwKICAgICAgICAgICAgICAgIFJlcXVlc3RDcmVhdGVUaW1lT2xkZXJEYXRlID0+ICRSZXF1ZXN0Q3JlYXRlVGltZU9sZGVyRGF0ZSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgc2tpcCBpZiB3ZSBoYXZlIG5vIHJlcXVlc3QgZGF0YQogICAgICAgICAgICBuZXh0IFJFUVVFU1QgaWYgISVSZXF1ZXN0RGF0YTsKCiAgICAgICAgICAgICMgZ2V0IHZvdGUgbGlzdAogICAgICAgICAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICAgICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgICAgICAgICAgU0VMRUNUIHMudGl0bGUsIHQudG4gLCBzci5zZW5kX3RpbWUsIHNyLnZvdGVfdGltZSwgc3IuY3JlYXRlX3RpbWUKICAgICAgICAgICAgICAgICAgICBGUk9NIHN1cnZleV9yZXF1ZXN0IHNyCiAgICAgICAgICAgICAgICAgICAgSU5ORVIgSk9JTiB0aWNrZXQgdCBPTiB0LmlkID0gc3IudGlja2V0X2lkCiAgICAgICAgICAgICAgICAgICAgSU5ORVIgSk9JTiBzdXJ2ZXkgcyBPTiBzLmlkID0gc3Iuc3VydmV5X2lkCiAgICAgICAgICAgICAgICAgICAgV0hFUkUgc3IuaWQgPSA/JywKICAgICAgICAgICAgICAgIEJpbmQgPT4gWyBcJFJlcXVlc3REYXRhe1JlcXVlc3RJRH0gXSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgICAgICAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKCiAgICAgICAgICAgICAgICAjIHZvdGUgdGltZSBjYW4gYmUgbnVsbAogICAgICAgICAgICAgICAgJFJvd1szXSA9ICRSb3dbM10gfHwgIi0iOwoKICAgICAgICAgICAgICAgIG15ICRSZXN1bHQgPSBqb2luKAogICAgICAgICAgICAgICAgICAgICcgJywgIlN1cnZleToiIC4gJFJvd1swXSAuICJcdCIsCiAgICAgICAgICAgICAgICAgICAgIlRpY2tldE51bWJlcjoiIC4gJFJvd1sxXSAuICJcdCIsCiAgICAgICAgICAgICAgICAgICAgIlNlbmRUaW1lOiIgLiAkUm93WzJdIC4gIlx0IiwKICAgICAgICAgICAgICAgICAgICAiVm90ZVRpbWU6IiAuICRSb3dbM10gLiAiXHQiLAogICAgICAgICAgICAgICAgICAgICJDcmVhdGVUaW1lOiIgLiAkUm93WzRdIC4gIlx0IgogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAkU2VsZi0+UHJpbnQoIiRSZXN1bHRcbiIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJEZvcmNlKSB7CgogICAgICAgICAgICAgICAgIyBkZWxldGUgdm90ZSBkYXRhCiAgICAgICAgICAgICAgICBteSAkVm90ZURlbGV0ZSA9ICRTdXJ2ZXlPYmplY3QtPlZvdGVEZWxldGUoCiAgICAgICAgICAgICAgICAgICAgUmVxdWVzdElEID0+ICRSZXF1ZXN0RGF0YXtSZXF1ZXN0SUR9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAjIGRlbGV0ZSByZXF1ZXN0CiAgICAgICAgICAgICAgICBteSAkUmVxdWVzdERlbGV0ZSA9ICRTdXJ2ZXlPYmplY3QtPlJlcXVlc3REZWxldGUoCiAgICAgICAgICAgICAgICAgICAgUmVxdWVzdElEID0+ICRSZXF1ZXN0RGF0YXtSZXF1ZXN0SUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAkU2VsZi0+UHJpbnQoIjxncmVlbj5Eb25lLjwvZ3JlZW4+XG4iKTsKICAgIHJldHVybiAkU2VsZi0+RXhpdENvZGVPaygpOwp9CgoxOwoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UT0JPIHByb2plY3QgKEw8aHR0cHM6Ly9vdG9iby5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dD4uCgo9Y3V0Cg==</File>
        <File Location="Kernel/System/Console/Command/Maint/Survey/RequestsSend.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpDb25zb2xlOjpDb21tYW5kOjpNYWludDo6U3VydmV5OjpSZXF1ZXN0c1NlbmQ7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgcGFyZW50IHF3KEtlcm5lbDo6U3lzdGVtOjpDb25zb2xlOjpCYXNlQ29tbWFuZCk7CgpvdXIgQE9iamVjdERlcGVuZGVuY2llcyA9ICgKICAgICdLZXJuZWw6OkNvbmZpZycsCiAgICAnS2VybmVsOjpTeXN0ZW06OkRCJywKICAgICdLZXJuZWw6OlN5c3RlbTo6RGF0ZVRpbWUnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknLAopOwoKc3ViIENvbmZpZ3VyZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICRTZWxmLT5EZXNjcmlwdGlvbignU2VuZCBwZW5kaW5nIHN1cnZleSByZXF1ZXN0cy4nKTsKICAgICRTZWxmLT5BZGRPcHRpb24oCiAgICAgICAgTmFtZSAgICAgICAgPT4gJ2ZvcmNlJywKICAgICAgICBEZXNjcmlwdGlvbiA9PiAiQWN0dWFsbHkgc2VuZCB0aGUgcmVxdWVzdHMgbm93LiIsCiAgICAgICAgUmVxdWlyZWQgICAgPT4gMCwKICAgICAgICBIYXNWYWx1ZSAgICA9PiAwLAogICAgKTsKCiAgICAkU2VsZi0+QWRkaXRpb25hbEhlbHAoPDwiRU9GIik7CgogPHllbGxvdz5Db25maWd1cmUgZGVsYXllZCByZXF1ZXN0IHNlbmRpbmc6PC95ZWxsb3c+CgogIDx5ZWxsb3c+MS48L3llbGxvdz4gR28gdG8geW91ciBTeXNDb25maWcgKFN1cnZleS0+Q29yZSkgYW5kIGNvbmZpZ3VyZSA8Z3JlZW4+U3VydmV5OjpTZW5kSW5Ib3Vyc0FmdGVyQ2xvc2U8L2dyZWVuPiB0byBhIGhpZ2hlciB2YWx1ZSB0aGFuIDAKICA8eWVsbG93PjIuPC95ZWxsb3c+IENyZWF0ZSBhIHN1cnZleSwgbWFrZSBpdCBtYXN0ZXIKICA8eWVsbG93PjMuPC95ZWxsb3c+IENyZWF0ZSBhIHRpY2tldCwgY2xvc2UgaXQKICA8eWVsbG93PjQuPC95ZWxsb3c+IFdhaXQgdGhlIG5lY2Vzc2FyeSBhbW91bnQgb2YgaG91cnMgeW91IGhhZCBjb25maWd1cmVkCiAgPHllbGxvdz41LjwveWVsbG93PiBZb3UgY2FuIGRvIGEgZHJ5IHJ1biB0byBnZXQgYSBsaXN0IG9mIHN1cnZleSByZXF1ZXN0cyB0aGF0IHdvdWxkIGJlIHNlbnQgKCBkbyBub3QgdXNlIC0tZm9yY2UgKQogIDx5ZWxsb3c+Ni48L3llbGxvdz4gSWYgeW91J3JlIGZpbmUgd2l0aCBpdCwgZ28gYWdhaW4gdG8gU3lzQ29uZmlnIChTdXJ2ZXktPkRhZW1vbjo6U2NoZWR1bGVyQ3JvblRhc2tNYW5hZ2VyOjpUYXNrKSBhbmQgYWN0aXZhdGUgZGFlbW9uIHRhc2sgPGdyZWVuPiBEYWVtb246OlNjaGVkdWxlckNyb25UYXNrTWFuYWdlcjo6VGFzayMjI1N1cnZleVJlcXVlc3RzU2VuZDwvZ3JlZW4+CkVPRgoKICAgIHJldHVybjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICRTZWxmLT5QcmludCgiPHllbGxvdz5Qcm9jZXNzaW5nIHBlbmRpbmcgc3VydmV5IHJlcXVlc3RzLi4uPC95ZWxsb3c+XG5cbiIpOwoKICAgICMgZ2V0IGZvcmNlIG9wdGlvbgogICAgbXkgJEZvcmNlID0gJFNlbGYtPkdldE9wdGlvbignZm9yY2UnKTsKCiAgICAjIGdldCBkYXRhYmFzZSBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZmluZCBzdXJ2ZXlfcmVxdWVzdHMgdGhhdCBoYXZlbid0IGJlZW4gc2VudCB5ZXQKICAgIG15ICRTdWNjZXNzID0gJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAiCiAgICAgICAgICAgIFNFTEVDVCBzcS5pZCwgc3EudGlja2V0X2lkLCBzcS5jcmVhdGVfdGltZSwgc3EucHVibGljX3N1cnZleV9rZXkKICAgICAgICAgICAgRlJPTSBzdXJ2ZXlfcmVxdWVzdCBzcQogICAgICAgICAgICAgICAgSU5ORVIgSk9JTiB0aWNrZXQgT04gdGlja2V0LmlkID0gc3EudGlja2V0X2lkCiAgICAgICAgICAgIFdIRVJFIHNxLnNlbmRfdGltZSBJUyBOVUxMCiAgICAgICAgICAgIE9SREVSIEJZIHNxLmNyZWF0ZV90aW1lIERFU0MiLAogICAgKTsKCiAgICBpZiAoICEkU3VjY2VzcyApIHsKICAgICAgICAkU2VsZi0+UHJpbnRFcnJvcigiREIgZXJyb3IgZHVyaW5nIGEgUHJlcGFyZSBmdW5jdGlvbi5cbiIpOwogICAgICAgIHJldHVybiAkU2VsZi0+RXhpdENvZGVFcnJvcigpOwogICAgfQoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgQFJlcXVlc3RMaXN0OwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgcHVzaCBAUmVxdWVzdExpc3QsIHsKICAgICAgICAgICAgSUQgICAgICAgICAgICAgID0+ICRSb3dbMF0sCiAgICAgICAgICAgIFRpY2tldElEICAgICAgICA9PiAkUm93WzFdLAogICAgICAgICAgICBDcmVhdGVUaW1lICAgICAgPT4gJFJvd1syXSwKICAgICAgICAgICAgUHVibGljU3VydmV5S2V5ID0+ICRSb3dbM10sCiAgICAgICAgfTsKICAgIH0KCiAgICBpZiAoICFAUmVxdWVzdExpc3QgKSB7CiAgICAgICAgJFNlbGYtPlByaW50KCJcbjxncmVlbj5Eb25lLjwvZ3JlZW4+XG4iKTsKICAgICAgICByZXR1cm4gJFNlbGYtPkV4aXRDb2RlT2soKTsKICAgIH0KCiAgICAjIGdldCBTeXN0ZW1UaW1lIGluIFVuaXhUaW1lCiAgICBteSAkU3lzdGVtVGltZSA9ICRLZXJuZWw6Ok9NLT5DcmVhdGUoJ0tlcm5lbDo6U3lzdGVtOjpEYXRlVGltZScpLT5Ub0Vwb2NoKCk7CgogICAgUkVRVUVTVDoKICAgIGZvciBteSAkUmVxdWVzdCAoQFJlcXVlc3RMaXN0KSB7CgogICAgICAgIGZvciBteSAkTmVlZGVkIChxdyhJRCBUaWNrZXRJRCBDcmVhdGVUaW1lKSkgewogICAgICAgICAgICBpZiAoICEkUmVxdWVzdC0+eyROZWVkZWR9ICkgewogICAgICAgICAgICAgICAgJFNlbGYtPlByaW50KCI8cmVkPkVycm9yOiAkTmVlZGVkIG1pc3NpbmcgaW4gc2VydmljZV9yZXF1ZXN0IHJvdy48L3JlZD5cbiIpOwogICAgICAgICAgICAgICAgbmV4dCBSRVFVRVNUOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGNvbnZlcnQgY3JlYXRlX3RpbWUgdG8gdW5peHRpbWUKICAgICAgICBteSAkQ3JlYXRlVGltZSA9ICRLZXJuZWw6Ok9NLT5DcmVhdGUoCiAgICAgICAgICAgICdLZXJuZWw6OlN5c3RlbTo6RGF0ZVRpbWUnLAogICAgICAgICAgICBPYmplY3RQYXJhbXMgPT4gewogICAgICAgICAgICAgICAgU3RyaW5nID0+ICRSZXF1ZXN0LT57Q3JlYXRlVGltZX0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKS0+VG9FcG9jaCgpOwoKICAgICAgICAkU2VsZi0+UHJpbnQoCiAgICAgICAgICAgICIgIFJlcXVlc3RJRDogPHllbGxvdz4kUmVxdWVzdC0+e0lEfTwveWVsbG93PlxuICAgLUZvciBUaWNrZXRJRDogJFJlcXVlc3QtPntUaWNrZXRJRH1cbiIKICAgICAgICApOwoKICAgICAgICBteSAkU2VuZEluSG91cnNBZnRlckNsb3NlID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdTdXJ2ZXk6OlNlbmRJbkhvdXJzQWZ0ZXJDbG9zZScpOwoKICAgICAgICAjIGRvbid0IHNlbmQgZm9yIHN1cnZleV9yZXF1ZXN0cyB0aGF0IGFyZSB5b3VuZ2VyIHRoYW4gQ3JlYXRlVGltZSArICRTZW5kSU5Ib3Vyc0FmdGVyQ2xvc2UKICAgICAgICBpZiAoICRTZW5kSW5Ib3Vyc0FmdGVyQ2xvc2UgKiAzXzYwMCArICRDcmVhdGVUaW1lID4gJFN5c3RlbVRpbWUgKSB7CiAgICAgICAgICAgICRTZWxmLT5QcmludCgKICAgICAgICAgICAgICAgICIgICAtU2tpcHBlZCBiZWNhdXNlIHNlbmQgdGltZSB3YXNuJ3QgcmVhY2hlZCB5ZXQuXG5cbiIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgbmV4dCBSRVFVRVNUOwogICAgICAgIH0KCiAgICAgICAgJFNlbGYtPlByaW50KAogICAgICAgICAgICAiICAgLVNlbmRpbmcgcmVxdWVzdC4uLlxuIgogICAgICAgICk7CgogICAgICAgIGlmICgkRm9yY2UpIHsKICAgICAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3VydmV5JyktPlJlcXVlc3RTZW5kKAogICAgICAgICAgICAgICAgVHJpZ2dlclNlbmRSZXF1ZXN0cyA9PiAxLAogICAgICAgICAgICAgICAgU3VydmV5UmVxdWVzdElEICAgICA9PiAkUmVxdWVzdC0+e0lEfSwKICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgICAgICAgPT4gJFJlcXVlc3QtPntUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgICAgID0+ICRSZXF1ZXN0LT57UHVibGljU3VydmV5S2V5fSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCAhJFN1Y2Nlc3MgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+UHJpbnQoIiAgICA8cmVkPkVycm9yIHNlbmRpbmcgdGhlIHJlcXVlc3Q8L3JlZD5cbiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2lmICggJFN1Y2Nlc3MgZXEgJ1F1ZXVlJyB8fCAkU3VjY2VzcyBlcSAnVHlwZScgfHwgJFN1Y2Nlc3MgZXEgJ1NlcnZpY2UnICkgewogICAgICAgICAgICAgICAgJFNlbGYtPlByaW50KCIgICAgPHJlZD5FcnJvciBzZW5kaW5nIHRoZSByZXF1ZXN0PC9yZWQ+XG4iKTsKICAgICAgICAgICAgICAgICRTZWxmLT5QcmludCgiICAgIDxyZWQ+VGlja2V0ICRTdWNjZXNzIGRvZXMgbm90IG1hdGNoIHRvIGFzc2lnbmVkIHN1cnZleSByZXF1ZXN0LjwvcmVkPlxuIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+UHJpbnQoIiAgICA8Z3JlZW4+UmVxdWVzdCBpcyBzZW50IHN1Y2Nlc3NmdWxseS48L2dyZWVuPlxuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJFNlbGYtPlByaW50KCJcbiIpOwogICAgfQoKICAgICRTZWxmLT5QcmludCgiPGdyZWVuPkRvbmUuPC9ncmVlbj5cbiIpOwogICAgcmV0dXJuICRTZWxmLT5FeGl0Q29kZU9rKCk7Cn0KCjE7Cgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RPQk8gcHJvamVjdCAoTDxodHRwczovL290b2JvLm9yZy8+KS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0Pi4KCj1jdXQK</File>
        <File Location="Kernel/System/Stats/Dynamic/SurveyList.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpTdGF0czo6RHluYW1pYzo6U3VydmV5TGlzdDsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBMaXN0OjpVdGlsIHF3KCBmaXJzdCApOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwp1c2UgS2VybmVsOjpMYW5ndWFnZSAgICAgICAgICAgICAgcXcoVHJhbnNsYXRhYmxlKTsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKICAgICdLZXJuZWw6Okxhbmd1YWdlJywKICAgICdLZXJuZWw6OlN5c3RlbTo6REInLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpMb2NrJywKICAgICdLZXJuZWw6OlN5c3RlbTo6TG9nJywKICAgICdLZXJuZWw6OlN5c3RlbTo6UXVldWUnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpTZXJ2aWNlJywKICAgICdLZXJuZWw6OlN5c3RlbTo6U0xBJywKICAgICdLZXJuZWw6OlN5c3RlbTo6U3RhdHMnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpUeXBlJywKICAgICdLZXJuZWw6OlN5c3RlbTo6VXNlcicsCiAgICAnS2VybmVsOjpTeXN0ZW06OkhUTUxVdGlscycsCiAgICAnS2VybmVsOjpTeXN0ZW06OlN1cnZleScsCik7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBBbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0LgogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIEdldCB0aGUgZHluYW1pYyBmaWVsZHMgZm9yIHRpY2tldCBvYmplY3QuCiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZH0gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkJyktPkR5bmFtaWNGaWVsZExpc3RHZXQoCiAgICAgICAgVmFsaWQgICAgICA9PiAxLAogICAgICAgIE9iamVjdFR5cGUgPT4gWydUaWNrZXQnXSwKICAgICk7CgogICAgcmV0dXJuICRTZWxmOwp9CgpzdWIgR2V0T2JqZWN0TmFtZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAnU3VydmV5TGlzdCc7Cn0KCnN1YiBHZXRPYmplY3RCZWhhdmlvdXJzIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJUJlaGF2aW91cnMgPSAoCiAgICAgICAgUHJvdmlkZXNEYXNoYm9hcmRXaWRnZXQgPT4gMCwKICAgICk7CgogICAgcmV0dXJuICVCZWhhdmlvdXJzOwp9CgpzdWIgR2V0T2JqZWN0QXR0cmlidXRlcyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgR2V0IG5lZWRlZCBvYmplY3RzLgogICAgbXkgJFN1cnZleU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKCiAgICBteSAlTGltaXQgPSAoCiAgICAgICAgNSAgICAgICAgID0+IDUsCiAgICAgICAgMTAgICAgICAgID0+IDEwLAogICAgICAgIDIwICAgICAgICA9PiAyMCwKICAgICAgICA1MCAgICAgICAgPT4gNTAsCiAgICAgICAgMTAwICAgICAgID0+IDEwMCwKICAgICAgICB1bmxpbWl0ZWQgPT4gVHJhbnNsYXRhYmxlKCd1bmxpbWl0ZWQnKSwKICAgICk7CgogICAgIyBHZXQgU3VydmV5IExpc3QuCiAgICBteSAlU3VydmV5TGlzdCA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUxpc3QoKTsKCiAgICBteSAlU3VydmV5QXR0cmlidXRlcyA9ICV7ICRTZWxmLT5fU3VydmV5QXR0cmlidXRlcygpIH07CiAgICBteSAlT3JkZXJCeSAgICAgICAgICA9IG1hcCB7ICRfID0+ICRTdXJ2ZXlBdHRyaWJ1dGVzeyRffSB9IGdyZXAgeyAkXyBuZSAnTnVtYmVyJyB9IGtleXMgJVN1cnZleUF0dHJpYnV0ZXM7CgogICAgIyBHZXQgZHluYW1pYyBmaWVsZCBiYWNrZW5kIG9iamVjdC4KICAgIG15ICREeW5hbWljRmllbGRCYWNrZW5kT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6QmFja2VuZCcpOwoKICAgICMgUmVtb3ZlIG5vbiBzb3J0YWJsZSAoYW5kIG9yZGVyYWJsZSkgRHluYW1pYyBGaWVsZHMuCiAgICBEWU5BTUlDRklFTEQ6CiAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkfSB9ICkgewogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkQ29uZmlnKTsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9OwoKICAgICAgICAjIENoZWNrIGlmIGR5bmFtaWMgZmllbGQgaXMgc29ydGFibGUuCiAgICAgICAgbXkgJElzU29ydGFibGUgPSAkRHluYW1pY0ZpZWxkQmFja2VuZE9iamVjdC0+SGFzQmVoYXZpb3IoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICBCZWhhdmlvciAgICAgICAgICAgPT4gJ0lzU29ydGFibGUnLAogICAgICAgICk7CgogICAgICAgICMgUmVtb3ZlIGR5bmFtaWMgZmllbGRzIGZyb20gdGhlIGxpc3QgaWYgaXMgbm90IHNvcnRhYmxlLgogICAgICAgIGlmICggISRJc1NvcnRhYmxlICkgewogICAgICAgICAgICBkZWxldGUgJE9yZGVyQnl7ICdEeW5hbWljRmllbGRfJyAuICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9OwogICAgICAgIH0KICAgIH0KCiAgICBteSAlU29ydFNlcXVlbmNlID0gKAogICAgICAgIFVwICAgPT4gVHJhbnNsYXRhYmxlKCdhc2NlbmRpbmcnKSwKICAgICAgICBEb3duID0+IFRyYW5zbGF0YWJsZSgnZGVzY2VuZGluZycpLAogICAgKTsKCiAgICBteSBAT2JqZWN0QXR0cmlidXRlcyA9ICgKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgPT4gVHJhbnNsYXRhYmxlKCdBdHRyaWJ1dGVzIHRvIGJlIHByaW50ZWQnKSwKICAgICAgICAgICAgVXNlQXNYdmFsdWUgICAgICA9PiAxLAogICAgICAgICAgICBVc2VBc1ZhbHVlU2VyaWVzID0+IDAsCiAgICAgICAgICAgIFVzZUFzUmVzdHJpY3Rpb24gPT4gMCwKICAgICAgICAgICAgRWxlbWVudCAgICAgICAgICA9PiAnU3VydmV5QXR0cmlidXRlcycsCiAgICAgICAgICAgIEJsb2NrICAgICAgICAgICAgPT4gJ011bHRpU2VsZWN0RmllbGQnLAogICAgICAgICAgICBUcmFuc2xhdGlvbiAgICAgID0+IDEsCiAgICAgICAgICAgIFZhbHVlcyAgICAgICAgICAgPT4gXCVTdXJ2ZXlBdHRyaWJ1dGVzLAogICAgICAgICAgICBTb3J0ICAgICAgICAgICAgID0+ICdJbmRpdmlkdWFsS2V5JywKICAgICAgICAgICAgU29ydEluZGl2aWR1YWwgICA9PiAkU2VsZi0+X1NvcnRlZEF0dHJpYnV0ZXMoKSwKCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgPT4gVHJhbnNsYXRhYmxlKCdTb3J0IHNlcXVlbmNlJyksCiAgICAgICAgICAgIFVzZUFzWHZhbHVlICAgICAgPT4gMCwKICAgICAgICAgICAgVXNlQXNWYWx1ZVNlcmllcyA9PiAxLAogICAgICAgICAgICBVc2VBc1Jlc3RyaWN0aW9uID0+IDAsCiAgICAgICAgICAgIEVsZW1lbnQgICAgICAgICAgPT4gJ1NvcnRTZXF1ZW5jZScsCiAgICAgICAgICAgIEJsb2NrICAgICAgICAgICAgPT4gJ1NlbGVjdEZpZWxkJywKICAgICAgICAgICAgVHJhbnNsYXRpb24gICAgICA9PiAxLAogICAgICAgICAgICBWYWx1ZXMgICAgICAgICAgID0+IFwlU29ydFNlcXVlbmNlLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBOYW1lICAgICAgICAgICAgID0+IFRyYW5zbGF0YWJsZSgnTGltaXQnKSwKICAgICAgICAgICAgVXNlQXNYdmFsdWUgICAgICA9PiAwLAogICAgICAgICAgICBVc2VBc1ZhbHVlU2VyaWVzID0+IDAsCiAgICAgICAgICAgIFVzZUFzUmVzdHJpY3Rpb24gPT4gMSwKICAgICAgICAgICAgRWxlbWVudCAgICAgICAgICA9PiAnTGltaXQnLAogICAgICAgICAgICBCbG9jayAgICAgICAgICAgID0+ICdTZWxlY3RGaWVsZCcsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICAgICAgPT4gMSwKICAgICAgICAgICAgVmFsdWVzICAgICAgICAgICA9PiBcJUxpbWl0LAogICAgICAgICAgICBTb3J0ICAgICAgICAgICAgID0+ICdJbmRpdmlkdWFsS2V5JywKICAgICAgICAgICAgU29ydEluZGl2aWR1YWwgICA9PiBbICc1JywgJzEwJywgJzIwJywgJzUwJywgJzEwMCcsICd1bmxpbWl0ZWQnLCBdLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBOYW1lICAgICAgICAgICAgID0+IFRyYW5zbGF0YWJsZSgnQ2xvc2UgVGltZScpLAogICAgICAgICAgICBVc2VBc1h2YWx1ZSAgICAgID0+IDAsCiAgICAgICAgICAgIFVzZUFzVmFsdWVTZXJpZXMgPT4gMCwKICAgICAgICAgICAgVXNlQXNSZXN0cmljdGlvbiA9PiAxLAogICAgICAgICAgICBFbGVtZW50ICAgICAgICAgID0+ICdDbG9zZVRpbWUnLAogICAgICAgICAgICBUaW1lUGVyaW9kRm9ybWF0ID0+ICdEYXRlSW5wdXRGb3JtYXQnLAogICAgICAgICAgICBCbG9jayAgICAgICAgICAgID0+ICdUaW1lJywKICAgICAgICAgICAgVmFsdWVzICAgICAgICAgICA9PiB7CiAgICAgICAgICAgICAgICBUaW1lU3RhcnQgPT4gJ1RpY2tldENsb3NlVGltZU5ld2VyRGF0ZScsCiAgICAgICAgICAgICAgICBUaW1lU3RvcCAgPT4gJ1RpY2tldENsb3NlVGltZU9sZGVyRGF0ZScsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgPT4gVHJhbnNsYXRhYmxlKCdDcmVhdGUgVGltZScpLAogICAgICAgICAgICBVc2VBc1h2YWx1ZSAgICAgID0+IDAsCiAgICAgICAgICAgIFVzZUFzVmFsdWVTZXJpZXMgPT4gMCwKICAgICAgICAgICAgVXNlQXNSZXN0cmljdGlvbiA9PiAxLAogICAgICAgICAgICBFbGVtZW50ICAgICAgICAgID0+ICdDcmVhdGVUaW1lJywKICAgICAgICAgICAgVGltZVBlcmlvZEZvcm1hdCA9PiAnRGF0ZUlucHV0Rm9ybWF0JywKICAgICAgICAgICAgQmxvY2sgICAgICAgICAgICA9PiAnVGltZScsCiAgICAgICAgICAgIFZhbHVlcyAgICAgICAgICAgPT4gewogICAgICAgICAgICAgICAgVGltZVN0YXJ0ID0+ICdUaWNrZXRDcmVhdGVUaW1lTmV3ZXJEYXRlJywKICAgICAgICAgICAgICAgIFRpbWVTdG9wICA9PiAnVGlja2V0Q3JlYXRlVGltZU9sZGVyRGF0ZScsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgPT4gVHJhbnNsYXRhYmxlKCdTZW5kIFRpbWUnKSwKICAgICAgICAgICAgVXNlQXNYdmFsdWUgICAgICA9PiAwLAogICAgICAgICAgICBVc2VBc1ZhbHVlU2VyaWVzID0+IDAsCiAgICAgICAgICAgIFVzZUFzUmVzdHJpY3Rpb24gPT4gMSwKICAgICAgICAgICAgRWxlbWVudCAgICAgICAgICA9PiAnU2VuZFRpbWUnLAogICAgICAgICAgICBUaW1lUGVyaW9kRm9ybWF0ID0+ICdEYXRlSW5wdXRGb3JtYXQnLAogICAgICAgICAgICBCbG9jayAgICAgICAgICAgID0+ICdUaW1lJywKICAgICAgICAgICAgVmFsdWVzICAgICAgICAgICA9PiB7CiAgICAgICAgICAgICAgICBUaW1lU3RhcnQgPT4gJ1JlcXVlc3RTZW5kVGltZU5ld2VyRGF0ZScsCiAgICAgICAgICAgICAgICBUaW1lU3RvcCAgPT4gJ1JlcXVlc3RTZW5kVGltZU9sZGVyRGF0ZScsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgPT4gVHJhbnNsYXRhYmxlKCdWb3RlIFRpbWUnKSwKICAgICAgICAgICAgVXNlQXNYdmFsdWUgICAgICA9PiAwLAogICAgICAgICAgICBVc2VBc1ZhbHVlU2VyaWVzID0+IDAsCiAgICAgICAgICAgIFVzZUFzUmVzdHJpY3Rpb24gPT4gMSwKICAgICAgICAgICAgRWxlbWVudCAgICAgICAgICA9PiAnVm90ZVRpbWUnLAogICAgICAgICAgICBUaW1lUGVyaW9kRm9ybWF0ID0+ICdEYXRlSW5wdXRGb3JtYXQnLAogICAgICAgICAgICBCbG9jayAgICAgICAgICAgID0+ICdUaW1lJywKICAgICAgICAgICAgVmFsdWVzICAgICAgICAgICA9PiB7CiAgICAgICAgICAgICAgICBUaW1lU3RhcnQgPT4gJ1JlcXVlc3RWb3RlVGltZU5ld2VyRGF0ZScsCiAgICAgICAgICAgICAgICBUaW1lU3RvcCAgPT4gJ1JlcXVlc3RWb3RlVGltZU9sZGVyRGF0ZScsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgPT4gVHJhbnNsYXRhYmxlKCdTdXJ2ZXkgTGlzdCcpLAogICAgICAgICAgICBVc2VBc1h2YWx1ZSAgICAgID0+IDAsCiAgICAgICAgICAgIFVzZUFzVmFsdWVTZXJpZXMgPT4gMCwKICAgICAgICAgICAgVXNlQXNSZXN0cmljdGlvbiA9PiAxLAogICAgICAgICAgICBFbGVtZW50ICAgICAgICAgID0+ICdTdXJ2ZXlJRHMnLAogICAgICAgICAgICBCbG9jayAgICAgICAgICAgID0+ICdTZWxlY3RGaWVsZCcsCiAgICAgICAgICAgIFZhbHVlcyAgICAgICAgICAgPT4gXCVTdXJ2ZXlMaXN0LAogICAgICAgIH0sCgogICAgKTsKCiAgICByZXR1cm4gQE9iamVjdEF0dHJpYnV0ZXM7Cn0KCnN1YiBHZXRTdGF0VGFibGVQcmV2aWV3IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgcmV0dXJuICRTZWxmLT5HZXRTdGF0VGFibGUoCiAgICAgICAgJVBhcmFtLAogICAgICAgIFByZXZpZXcgPT4gMSwKICAgICk7Cn0KCnN1YiBHZXRTdGF0VGFibGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKICAgIG15ICVTdXJ2ZXlBdHRyaWJ1dGVzICAgID0gbWFwIHsgJF8gPT4gMSB9IEB7ICRQYXJhbXtYVmFsdWV9LT57U2VsZWN0ZWRWYWx1ZXN9IH07CiAgICBteSAkU29ydGVkQXR0cmlidXRlc1JlZiA9ICRTZWxmLT5fU29ydGVkQXR0cmlidXRlcygpOwogICAgbXkgJFByZXZpZXcgICAgICAgICAgICAgPSAkUGFyYW17UHJldmlld307CgogICAgIyBHZXQgbmVlZGVkIG9iamVjdHMuCiAgICBteSAkVGlja2V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldCcpOwogICAgbXkgJFN1cnZleU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKCiAgICAjIENoZWNrIGlmIGEgZW51bWVyYXRpb24gaXMgcmVxdWVzdGVkLgogICAgbXkgJEFkZEVudW1lcmF0aW9uID0gMDsKICAgIGlmICggJFN1cnZleUF0dHJpYnV0ZXN7TnVtYmVyfSApIHsKICAgICAgICAkQWRkRW51bWVyYXRpb24gPSAxOwogICAgICAgIGRlbGV0ZSAkU3VydmV5QXR0cmlidXRlc3tOdW1iZXJ9OwogICAgfQoKICAgICMgU2V0IGRlZmF1bHQgdmFsdWVzIGlmIG5vIHNvcnQgb3Igb3JkZXIgYXR0cmlidXRlIGlzIGdpdmVuLgogICAgbXkgJFNvcnRSZWYgPSBmaXJzdCB7ICRfLT57RWxlbWVudH0gZXEgJ1NvcnRTZXF1ZW5jZScgfSBAeyAkUGFyYW17VmFsdWVTZXJpZXN9IH07CiAgICBteSAkU29ydCAgICA9ICRTb3J0UmVmID8gJFNvcnRSZWYtPntTZWxlY3RlZFZhbHVlc30tPlswXSA6ICdEb3duJzsKICAgIG15ICRMaW1pdCAgID0gJFBhcmFte1Jlc3RyaWN0aW9uc30tPntMaW1pdH07CgogICAgJFBhcmFte1Jlc3RyaWN0aW9uc30tPntMaW1pdH0gPSAkTGltaXQgfHwgMTAwXzAwMF8wMDA7CgogICAgIyBGaW5kIG91dCBpZiB0aGUgZXh0ZW5kZWQgdmVyc2lvbiBvZiBUaWNrZXRHZXQgaXMgbmVlZGVkLgogICAgbXkgJEV4dGVuZGVkID0gJFNlbGYtPl9FeHRlbmRlZEF0dHJpYnV0ZXNDaGVjaygKICAgICAgICBTdXJ2ZXlBdHRyaWJ1dGVzID0+IFwlU3VydmV5QXR0cmlidXRlcywKICAgICk7CgogICAgIyBGaW5kIG91dCBpZiBkeW5hbWljIGZpZWxkcyBhcmUgcmVxdWlyZWQuCiAgICBteSAkTmVlZER5bmFtaWNGaWVsZHMgPSAwOwogICAgRFlOQU1JQ0ZJRUxEU05FRURFRDoKICAgIGZvciBteSAkUGFyYW1ldGVyTmFtZSAoIHNvcnQga2V5cyAlU3VydmV5QXR0cmlidXRlcyApIHsKICAgICAgICBpZiAoICRQYXJhbWV0ZXJOYW1lID1+IG17XEEgRHluYW1pY0ZpZWxkXyB9eG1zICkgewogICAgICAgICAgICAkTmVlZER5bmFtaWNGaWVsZHMgPSAxOwogICAgICAgICAgICBsYXN0IERZTkFNSUNGSUVMRFNORUVERUQ7CiAgICAgICAgfQogICAgfQoKICAgICMgR2V0IGludm9sdmVkIFRpY2tldHMuCiAgICBteSBAVGlja2V0SURzOwogICAgaWYgKCRQcmV2aWV3KSB7CiAgICAgICAgQFRpY2tldElEcyA9ICRUaWNrZXRPYmplY3QtPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgICAgICAgICBSZXN1bHQgICAgID0+ICdBUlJBWScsCiAgICAgICAgICAgIFBlcm1pc3Npb24gPT4gJ3JvJywKICAgICAgICAgICAgTGltaXQgICAgICA9PiAxMCwKICAgICAgICApOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgQFRpY2tldElEcyA9ICRUaWNrZXRPYmplY3QtPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgICAgICAgICBSZXN1bHQgICAgID0+ICdBUlJBWScsCiAgICAgICAgICAgIFBlcm1pc3Npb24gPT4gJ3JvJywKICAgICAgICAgICAgJXsgJFBhcmFte1Jlc3RyaWN0aW9uc30gfSwKICAgICAgICApOwogICAgfQoKICAgICMgQ3JlYXRlIGxvb2t1cCBoYXNoIGZvciBUaWNrZXRJRHMgZHVlIHRvIHBlcmZvcm1hbmNlIHJlYXNvbnMuCiAgICBteSAlVGlja2V0SURzID0gbWFwIHsgJF8gPT4gMSB9IEBUaWNrZXRJRHM7CgogICAgIyBHZXQgdGhlIHN1cnZleSBkYXRhLgogICAgbXkgQFN1cnZleUlEczsKICAgIG15IEBTdGF0QXJyYXk7CgogICAgaWYgKCRQcmV2aWV3KSB7CgogICAgICAgIEBTdXJ2ZXlJRHMgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlTZWFyY2goCiAgICAgICAgICAgIFVzZXJJRCA9PiAxLAogICAgICAgICAgICBMaW1pdCAgPT4gMTAsCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2UgewoKICAgICAgICBAU3VydmV5SURzID0gJFN1cnZleU9iamVjdC0+U3VydmV5U2VhcmNoKAogICAgICAgICAgICBVc2VySUQgPT4gMSwKICAgICAgICAgICAgJXsgJFBhcmFte1Jlc3RyaWN0aW9uc30gfSwKICAgICAgICApOwogICAgfQoKICAgICMgR2V0IG5lZWRlZCBkYXRhIGFuZCBjcmVhdGUgbG9va3VwIHRhYmxlcy4KICAgIG15ICVTdXJ2ZXlSYXdEYXRhOwogICAgbXkgJVF1ZXN0aW9uczsKCiAgICBteSAkU3RhdHNPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3RhdHMnKTsKCiAgICBTVVJWRVlJRDoKICAgIGZvciBteSAkU3VydmV5SUQgKEBTdXJ2ZXlJRHMpIHsKCiAgICAgICAgIyBDaGVjayBzdXJ2ZXkgcmVzdHJpY3Rpb24uCiAgICAgICAgIyBDYW4ndCBkb25lIGJ5IFN1cnZleVNlYXJjaC4KICAgICAgICBuZXh0IFNVUlZFWUlEIGlmICRQYXJhbXtSZXN0cmljdGlvbnN9LT57U3VydmV5SURzfSAmJiAkUGFyYW17UmVzdHJpY3Rpb25zfS0+e1N1cnZleUlEc30gbmUgJFN1cnZleUlEOwoKICAgICAgICAjIFN1cnZleSByYXcgZGF0YS4KICAgICAgICBteSAlU3VydmV5UmF3ID0gJFN1cnZleU9iamVjdC0+U3VydmV5R2V0KAogICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgKTsKCiAgICAgICAgJFN1cnZleVJhd0RhdGF7JFN1cnZleUlEfSA9IFwlU3VydmV5UmF3OwoKICAgICAgICAjIFF1ZXN0aW9uIGRhdGEuCiAgICAgICAgbXkgQFF1ZXN0aW9uc0xpc3QgPSAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkxpc3QoCiAgICAgICAgICAgIFN1cnZleUlEID0+ICRTdXJ2ZXlJRCwKICAgICAgICApOwoKICAgICAgICAkUXVlc3Rpb25zeyRTdXJ2ZXlJRH0gPSBcQFF1ZXN0aW9uc0xpc3Q7CgogICAgICAgICMgR2V0IHB1YmxpYyBzdXJ2ZXkga2V5cy4KICAgICAgICBteSAkUHVibGljU3VydmV5S2V5czsKICAgICAgICBpZiAoJFByZXZpZXcpIHsKICAgICAgICAgICAgJFB1YmxpY1N1cnZleUtleXMgPSAkU3VydmV5T2JqZWN0LT5QdWJsaWNTdXJ2ZXlLZXlHZXQoCiAgICAgICAgICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgICAgICBMaW1pdCAgICA9PiAxMCwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRQdWJsaWNTdXJ2ZXlLZXlzID0gJFN1cnZleU9iamVjdC0+UHVibGljU3VydmV5S2V5R2V0KAogICAgICAgICAgICAgICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBHZXQgcmVxdWVzdC4KICAgICAgICBQVUJMSUNLRVk6CiAgICAgICAgZm9yIG15ICRQdWJsaWNLZXkgKCBAeyRQdWJsaWNTdXJ2ZXlLZXlzfSApIHsKCiAgICAgICAgICAgIG15ICVTdXJ2ZXlSZXF1ZXN0ID0gJFN1cnZleU9iamVjdC0+UmVxdWVzdEdldCgKICAgICAgICAgICAgICAgIFB1YmxpY1N1cnZleUtleSA9PiAkUHVibGljS2V5LAogICAgICAgICAgICAgICAgJXsgJFBhcmFte1Jlc3RyaWN0aW9uc30gfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgU2tpcCBpZiBubyBzdXJ2ZXkgcmVxdWVzdCBkYXRhIGZvdW5kIChlLmcuIHNlbmQgdGltZSBmaWx0ZXIpLgogICAgICAgICAgICBuZXh0IFBVQkxJQ0tFWSBpZiAhSXNIYXNoUmVmV2l0aERhdGEoIFwlU3VydmV5UmVxdWVzdCApOwoKICAgICAgICAgICAgIyBTa2lwIGlmIHRpY2tldCBzcGVjaWZpYyBmaWx0ZXJzIGFyZSBzZXQuCiAgICAgICAgICAgIG5leHQgUFVCTElDS0VZIGlmICEkVGlja2V0SURzeyAkU3VydmV5UmVxdWVzdHtUaWNrZXRJRH0gfTsKCiAgICAgICAgICAgICMgR2V0IGFsbCB2b3RlcyBmb3IgdGhpcyByZXF1ZXN0LgogICAgICAgICAgICBteSBAUmVxdWVzdFZvdGVMaXN0ID0gJFN1cnZleU9iamVjdC0+Vm90ZUdldEFsbCgKICAgICAgICAgICAgICAgIFJlcXVlc3RJRCA9PiAkU3VydmV5UmVxdWVzdHtSZXF1ZXN0SUR9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbXkgQFF1ZXN0aW9uczsKCiAgICAgICAgICAgICMgTG9vcCB0aHJvdWdoIHZvdGUgZGF0YSB0byBtZXJnZSB2b3RlcyBpbnRvIHN1cnZleSByZXF1ZXN0IGhhc2guCiAgICAgICAgICAgIFZPVEVEQVRBOgogICAgICAgICAgICBmb3IgbXkgJFZvdGVEYXRhIChAUmVxdWVzdFZvdGVMaXN0KSB7CgogICAgICAgICAgICAgICAgbXkgJFF1ZXN0aW9uICAgICA9ICRWb3RlRGF0YS0+e1F1ZXN0aW9ufTsKICAgICAgICAgICAgICAgIG15ICRRdWVzdGlvbklEICAgPSAkVm90ZURhdGEtPntRdWVzdGlvbklEfTsKICAgICAgICAgICAgICAgIG15ICRRdWVzdGlvblR5cGUgPSAkVm90ZURhdGEtPntRdWVzdGlvblR5cGV9OwogICAgICAgICAgICAgICAgbXkgJFZvdGVWYWx1ZSAgICA9ICRWb3RlRGF0YS0+e1ZvdGVWYWx1ZX07CgogICAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgICRRdWVzdGlvblR5cGUgZXEgJ05QUycKICAgICAgICAgICAgICAgICAgICB8fCAkUXVlc3Rpb25UeXBlIGVxICdSYWRpbycKICAgICAgICAgICAgICAgICAgICB8fCAkUXVlc3Rpb25UeXBlIGVxICdDaGVja2JveCcKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgbXkgJUFuc3dlciA9ICRTdXJ2ZXlPYmplY3QtPkFuc3dlckdldCgKICAgICAgICAgICAgICAgICAgICAgICAgQW5zd2VySUQgPT4gJFZvdGVWYWx1ZSwKICAgICAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICAgICBpZiAoICRRdWVzdGlvblR5cGUgZXEgJ0NoZWNrYm94JyApIHsKCiAgICAgICAgICAgICAgICAgICAgICAgIG15ICRDb3VudEFuc3dlciA9ICRTdXJ2ZXlPYmplY3QtPkFuc3dlckNvdW50KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUXVlc3Rpb25JRCA9PiAkUXVlc3Rpb25JRCwKICAgICAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMgSWYgd2UgaGF2ZSBvbmx5IG9uZSBhbnN3ZXIgdXNlIENoZWNrZWQuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggJENvdW50QW5zd2VyID09IDEgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkQW5zd2Vye0Fuc3dlcn0gPSBUcmFuc2xhdGFibGUoJ0NoZWNrZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKCAkU3VydmV5UmVxdWVzdHskUXVlc3Rpb259ICkgewoKICAgICAgICAgICAgICAgICAgICAgICAgJFN1cnZleVJlcXVlc3R7JFF1ZXN0aW9ufSAuPSAkQW5zd2Vye0Fuc3dlcn0gLiAiXG4iOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICRTdXJ2ZXlSZXF1ZXN0eyRRdWVzdGlvbn0gPSAkQW5zd2Vye0Fuc3dlcn07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzaWYgKCAkUXVlc3Rpb25UeXBlIGVxICdZZXNObycgfHwgJFF1ZXN0aW9uVHlwZSBlcSAnVGV4dGFyZWEnICkgewoKICAgICAgICAgICAgICAgICAgICBpZiAoICRRdWVzdGlvblR5cGUgZXEgJ1RleHRhcmVhJyApIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICRWb3RlVmFsdWUgPX4gc3sgXEEgXCRodG1sXC90ZXh0XCQgXHMqICguKikgfXskMX14bXM7CiAgICAgICAgICAgICAgICAgICAgICAgICRWb3RlVmFsdWUgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SFRNTFV0aWxzJyktPlRvQXNjaWkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcgPT4gJFZvdGVWYWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRTdXJ2ZXlSZXF1ZXN0eyRRdWVzdGlvbn0gPSAkVm90ZVZhbHVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAjIEdldCBxdWVzdGlvbiBsaXN0LgogICAgICAgICAgICBteSAkUXVlc3Rpb25zTGlzdCA9ICRRdWVzdGlvbnN7ICRTdXJ2ZXlSZXF1ZXN0e1N1cnZleUlEfSB9OwogICAgICAgICAgICBmb3IgbXkgJFF1ZXN0aW9uICggQHskUXVlc3Rpb25zTGlzdH0gKSB7CgogICAgICAgICAgICAgICAgIyBQdXNoIHF1ZXN0aW9ucyBpbnRvIGFycmF5IGZvciBsYXRlciB1c2UuCiAgICAgICAgICAgICAgICBwdXNoIEBRdWVzdGlvbnMsICRRdWVzdGlvbi0+e1F1ZXN0aW9ufTsKCiAgICAgICAgICAgICAgICAjIERlZmF1bHQgdmFsdWUuCiAgICAgICAgICAgICAgICBpZiAoICFkZWZpbmVkICRTdXJ2ZXlSZXF1ZXN0eyAkUXVlc3Rpb24tPntRdWVzdGlvbn0gfSApIHsKCiAgICAgICAgICAgICAgICAgICAgJFN1cnZleVJlcXVlc3R7ICRRdWVzdGlvbi0+e1F1ZXN0aW9ufSB9ID0gIiAiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBteSBAUmVzdWx0Um93OwogICAgICAgICAgICBteSAlVGlja2V0ID0gJFRpY2tldE9iamVjdC0+VGlja2V0R2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICA9PiAkU3VydmV5UmVxdWVzdHtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBFeHRlbmRlZCAgICAgID0+ICRFeHRlbmRlZCwKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZHMgPT4gJE5lZWREeW5hbWljRmllbGRzLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBNZXJnZSB0aWNrZXQgYW5kIHN1cnZleSByZXF1ZXN0IGRhdGEuCiAgICAgICAgICAgIG15ICVTdXJ2ZXlEYXRhID0gKCAlU3VydmV5UmVxdWVzdCwgJVRpY2tldCApOwoKICAgICAgICAgICAgIyBNZXJnZSBTdXJ2ZXlUaXRsZSBpbnRvIFN1cnZleURhdGEuCiAgICAgICAgICAgICRTdXJ2ZXlEYXRhe1N1cnZleVRpdGxlfSA9ICRTdXJ2ZXlSYXdEYXRheyRTdXJ2ZXlJRH0tPntUaXRsZX07CgogICAgICAgICAgICBBVFRSSUJVVEU6CiAgICAgICAgICAgIGZvciBteSAkQXR0cmlidXRlICggQHskU29ydGVkQXR0cmlidXRlc1JlZn0gKSB7CiAgICAgICAgICAgICAgICBuZXh0IEFUVFJJQlVURSBpZiAhJFN1cnZleUF0dHJpYnV0ZXN7JEF0dHJpYnV0ZX07CgogICAgICAgICAgICAgICAgIyBDbGVhbiBTdXJ2ZXlEYXRhLgogICAgICAgICAgICAgICAgaWYgKCAhJFN1cnZleURhdGF7JEF0dHJpYnV0ZX0gKSB7CiAgICAgICAgICAgICAgICAgICAgJFN1cnZleURhdGF7JEF0dHJpYnV0ZX0gPSAnJzsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgJFBhcmFte1RpbWVab25lfQogICAgICAgICAgICAgICAgICAgICYmICRTdXJ2ZXlEYXRheyRBdHRyaWJ1dGV9CiAgICAgICAgICAgICAgICAgICAgJiYgJFN1cnZleURhdGF7JEF0dHJpYnV0ZX0gPX4gL1xBKFxkezR9KS0oXGR7Mn0pLShcZHsyfSlccyhcZHsyfSk6KFxkezJ9KTooXGR7Mn0pXHovCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICRTdXJ2ZXlEYXRheyRBdHRyaWJ1dGV9ID0gJFN0YXRzT2JqZWN0LT5fRnJvbU9UT0JPVGltZVpvbmUoCiAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyAgID0+ICRTdXJ2ZXlEYXRheyRBdHRyaWJ1dGV9LAogICAgICAgICAgICAgICAgICAgICAgICBUaW1lWm9uZSA9PiAkUGFyYW17VGltZVpvbmV9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgJFN1cnZleURhdGF7JEF0dHJpYnV0ZX0gLj0gIiAoJFBhcmFte1RpbWVab25lfSkiOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHB1c2ggQFJlc3VsdFJvdywgJFN1cnZleURhdGF7JEF0dHJpYnV0ZX07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgTWVyZ2UgcXVlc3Rpb25zIGludG8gcmVzdWx0IHJvdy4KICAgICAgICAgICAgUVVFU1RJT05TOgogICAgICAgICAgICBmb3IgbXkgJFF1ZXN0aW9uIChAUXVlc3Rpb25zKSB7CgogICAgICAgICAgICAgICAgcHVzaCBAUmVzdWx0Um93LCAkU3VydmV5RGF0YXskUXVlc3Rpb259OwogICAgICAgICAgICB9CgogICAgICAgICAgICBwdXNoIEBTdGF0QXJyYXksIFxAUmVzdWx0Um93OwogICAgICAgIH0KICAgIH0KCiAgICBAU3RhdEFycmF5ID0gJFNlbGYtPl9JbmRpdmlkdWFsUmVzdWx0T3JkZXIoCiAgICAgICAgU3RhdEFycmF5ID0+IFxAU3RhdEFycmF5LAogICAgICAgIFNvcnQgICAgICA9PiAkU29ydCwKICAgICAgICBMaW1pdCAgICAgPT4gJExpbWl0LAogICAgKTsKCiAgICByZXR1cm4gQFN0YXRBcnJheTsKfQoKc3ViIEdldEhlYWRlckxpbmUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKICAgIG15ICVTZWxlY3RlZEF0dHJpYnV0ZXMgPSBtYXAgeyAkXyA9PiAxIH0gQHsgJFBhcmFte1hWYWx1ZX0tPntTZWxlY3RlZFZhbHVlc30gfTsKCiAgICBteSAkU3VydmV5QXR0cmlidXRlcyAgICA9ICRTZWxmLT5fU3VydmV5QXR0cmlidXRlcygpOwogICAgbXkgJFNvcnRlZEF0dHJpYnV0ZXNSZWYgPSAkU2VsZi0+X1NvcnRlZEF0dHJpYnV0ZXMoKTsKICAgIG15IEBIZWFkZXJMaW5lOwoKICAgICMgR2V0IGxhbmd1YWdlIG9iamVjdC4KICAgIG15ICRMYW5ndWFnZU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6TGFuZ3VhZ2UnKTsKCiAgICAjIEdldCBzdXJ2ZXkgb2JqZWN0LgogICAgbXkgJFN1cnZleU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKCiAgICBBVFRSSUJVVEU6CiAgICBmb3IgbXkgJEF0dHJpYnV0ZSAoIEB7JFNvcnRlZEF0dHJpYnV0ZXNSZWZ9ICkgewogICAgICAgIG5leHQgQVRUUklCVVRFIGlmICEkU2VsZWN0ZWRBdHRyaWJ1dGVzeyRBdHRyaWJ1dGV9OwogICAgICAgIHB1c2ggQEhlYWRlckxpbmUsICRMYW5ndWFnZU9iamVjdC0+VHJhbnNsYXRlKCAkU3VydmV5QXR0cmlidXRlcy0+eyRBdHRyaWJ1dGV9ICk7CiAgICB9CgogICAgIyBBZGQgcXVlc3Rpb25zLgogICAgIyBPbmx5IGlmIHN1cnZleSByZXN0cmljdGlvbiBpcyBhY3RpdmUuCiAgICAjIEdldCBzdXJ2ZXkgaWRzLgogICAgaWYgKCAkUGFyYW17UmVzdHJpY3Rpb25zfS0+e1N1cnZleUlEc30gKSB7CgogICAgICAgIG15IEBTdXJ2ZXlJRHMgPSAkUGFyYW17UmVzdHJpY3Rpb25zfS0+e1N1cnZleUlEc307CgogICAgICAgICMgR2V0IHF1ZXN0aW9ucy4KICAgICAgICBteSBAUXVlc3Rpb25zOwogICAgICAgIGZvciBteSAkU3VydmV5SUQgKEBTdXJ2ZXlJRHMpIHsKCiAgICAgICAgICAgIG15IEBMaXN0ID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25MaXN0KAogICAgICAgICAgICAgICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAogICAgICAgICAgICApOwoKICAgICAgICAgICAgZm9yIG15ICRMaXN0IChATGlzdCkgewogICAgICAgICAgICAgICAgcHVzaCBAUXVlc3Rpb25zLCAkTGlzdC0+e1F1ZXN0aW9ufTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcHVzaCBASGVhZGVyTGluZSwgQFF1ZXN0aW9uczsKICAgIH0KCiAgICByZXR1cm4gXEBIZWFkZXJMaW5lOwp9CgpzdWIgRXhwb3J0V3JhcHBlciB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiBcJVBhcmFtOwp9CgpzdWIgSW1wb3J0V3JhcHBlciB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiBcJVBhcmFtOwp9CgpzdWIgX1N1cnZleUF0dHJpYnV0ZXMgewogICAgbXkgJFNlbGYgPSBzaGlmdDsKCiAgICAjIEdldCBjb25maWcgb2JqZWN0LgogICAgbXkgJENvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CgogICAgbXkgJVN1cnZleUF0dHJpYnV0ZXMgPSAoCgogICAgICAgIFRpY2tldE51bWJlciA9PiAnVGlja2V0TnVtYmVyJywKICAgICAgICBTdXJ2ZXlUaXRsZSAgPT4gJ1N1cnZleSBUaXRsZScsCiAgICAgICAgQ3JlYXRlZCAgICAgID0+ICdDcmVhdGUgVGltZScsCiAgICAgICAgQ2xvc2VkICAgICAgID0+ICdDbG9zZSBUaW1lJywKICAgICAgICBTZW5kVGltZSAgICAgPT4gJ1N1cnZleSBTZW5kIFRpbWUnLAogICAgICAgIFZvdGVUaW1lICAgICA9PiAnU3VydmV5IFZvdGUgVGltZScsCiAgICAgICAgUXVldWUgICAgICAgID0+ICdRdWV1ZScsCiAgICAgICAgQ3VzdG9tZXJJRCAgID0+ICdDdXN0b21lcklEJywKCiAgICApOwoKICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdUaWNrZXQ6OlNlcnZpY2UnKSApIHsKICAgICAgICAkU3VydmV5QXR0cmlidXRlc3tTZXJ2aWNlfSA9ICdTZXJ2aWNlJzsKICAgIH0KCiAgICBEWU5BTUlDRklFTEQ6CiAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkfSB9ICkgewogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkQ29uZmlnKTsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9OwoKICAgICAgICAkU3VydmV5QXR0cmlidXRlc3sgJ0R5bmFtaWNGaWVsZF8nIC4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0gPSAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TGFiZWx9OwogICAgfQoKICAgIHJldHVybiBcJVN1cnZleUF0dHJpYnV0ZXM7Cn0KCnN1YiBfU29ydGVkQXR0cmlidXRlcyB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgIG15IEBTb3J0ZWRBdHRyaWJ1dGVzID0gcXcoCiAgICAgICAgVGlja2V0TnVtYmVyCiAgICAgICAgU3VydmV5VGl0bGUKICAgICAgICBDcmVhdGVkCiAgICAgICAgQ2xvc2VkCiAgICAgICAgU2VuZFRpbWUKICAgICAgICBWb3RlVGltZQogICAgICAgIFF1ZXVlCiAgICAgICAgU2VydmljZQogICAgICAgIEN1c3RvbWVySUQKICAgICk7CgogICAgIyBDeWNsZSB0cm91Z2ggdGhlIER5bmFtaWMgRmllbGRzLgogICAgRFlOQU1JQ0ZJRUxEOgogICAgZm9yIG15ICREeW5hbWljRmllbGRDb25maWcgKCBAeyAkU2VsZi0+e0R5bmFtaWNGaWVsZH0gfSApIHsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZENvbmZpZyk7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISREeW5hbWljRmllbGRDb25maWctPntOYW1lfTsKCiAgICAgICAgIyBBZGQgZHluYW1pYyBmaWVsZCBhdHRyaWJ1dGUuCiAgICAgICAgcHVzaCBAU29ydGVkQXR0cmlidXRlcywgJ0R5bmFtaWNGaWVsZF8nIC4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9OwogICAgfQoKICAgIHJldHVybiBcQFNvcnRlZEF0dHJpYnV0ZXM7Cn0KCnN1YiBfRXh0ZW5kZWRBdHRyaWJ1dGVzQ2hlY2sgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSBARXh0ZW5kZWRBdHRyaWJ1dGVzID0gcXcoCiAgICAgICAgQ2xvc2VkCiAgICApOwoKICAgIEFUVFJJQlVURToKICAgIGZvciBteSAkQXR0cmlidXRlIChARXh0ZW5kZWRBdHRyaWJ1dGVzKSB7CiAgICAgICAgcmV0dXJuIDEgaWYgJFBhcmFte1N1cnZleUF0dHJpYnV0ZXN9eyRBdHRyaWJ1dGV9OwogICAgfQoKICAgIHJldHVybjsKfQoKc3ViIF9JbmRpdmlkdWFsUmVzdWx0T3JkZXIgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKICAgIG15IEBVbnNvcnRlZCA9IEB7ICRQYXJhbXtTdGF0QXJyYXl9IH07CgogICAgbXkgQFNvcnRlZCA9IHNvcnQgeyAkYSA8PT4gJGIgfSBAVW5zb3J0ZWQ7CgogICAgIyBNYWtlIGEgcmV2ZXJzZSBzb3J0IGlmIG5lZWRlZC4KICAgIGlmICggJFBhcmFte1NvcnR9IGVxICdEb3duJyApIHsKICAgICAgICBAU29ydGVkID0gcmV2ZXJzZSBAU29ydGVkOwogICAgfQoKICAgICMgVGFrZSBjYXJlIGFib3V0IHRoZSBsaW1pdC4KICAgIGlmICggJFBhcmFte0xpbWl0fSAmJiAkUGFyYW17TGltaXR9IG5lICd1bmxpbWl0ZWQnICkgewogICAgICAgIG15ICRDb3VudCA9IDA7CiAgICAgICAgQFNvcnRlZCA9IGdyZXAgeyArKyRDb3VudCA8PSAkUGFyYW17TGltaXR9IH0gQFNvcnRlZDsKICAgIH0KCiAgICByZXR1cm4gQFNvcnRlZDsKfQoKMTsK</File>
        <File Location="Kernel/System/Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpTdXJ2ZXk7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgRGlnZXN0OjpNRDU7CnVzZSBNYWlsOjpBZGRyZXNzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwoKdXNlIHBhcmVudCBxdygKICAgIEtlcm5lbDo6U3lzdGVtOjpTdXJ2ZXk6OkFuc3dlcgogICAgS2VybmVsOjpTeXN0ZW06OlN1cnZleTo6UXVlc3Rpb24KICAgIEtlcm5lbDo6U3lzdGVtOjpTdXJ2ZXk6OlJlcXVlc3QKICAgIEtlcm5lbDo6U3lzdGVtOjpTdXJ2ZXk6OlZvdGUKKTsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKICAgICdLZXJuZWw6OlN5c3RlbTo6Q3VzdG9tZXJVc2VyJywKICAgICdLZXJuZWw6OlN5c3RlbTo6REInLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpIVE1MVXRpbHMnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpMb2cnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpVc2VyJywKICAgICdLZXJuZWw6OlN5c3RlbTo6WUFNTCcsCiAgICAnS2VybmVsOjpTeXN0ZW06OkVuY29kZScsCiAgICAnS2VybmVsOjpTeXN0ZW06OkpTT04nLAopOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpTdXJ2ZXkgLSBzdXJ2ZXkgbGliCgo9aGVhZDEgREVTQ1JJUFRJT04KCkFsbCBzdXJ2ZXkgZnVuY3Rpb25zLiBFLiBnLiB0byBhZGQgc3VydmV5IG9yIGFuZCBmdW5jdGlvbnMuCgo9aGVhZDEgUFVCTElDIElOVEVSRkFDRQoKPWhlYWQyIG5ldygpCgpjcmVhdGUgYW4gb2JqZWN0CgogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpPYmplY3RNYW5hZ2VyOwogICAgbG9jYWwgJEtlcm5lbDo6T00gPSBLZXJuZWw6OlN5c3RlbTo6T2JqZWN0TWFuYWdlci0+bmV3KCk7CiAgICBteSAkU3VydmV5T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGdldCBsaWtlIGVzY2FwZSBzdHJpbmcgbmVlZGVkIGZvciBzb21lIGRhdGFiYXNlcyAoZS5nLiBvcmFjbGUpCiAgICAkU2VsZi0+e0xpa2VFc2NhcGVTdHJpbmd9ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkdldERhdGFiYXNlRnVuY3Rpb24oJ0xpa2VFc2NhcGVTdHJpbmcnKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCj1oZWFkMiBTdXJ2ZXlBZGQoKQoKdG8gYWRkIGEgbmV3IHN1cnZleQoKICAgIG15ICRTdXJ2ZXlJRCA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUFkZCgKICAgICAgICBVc2VySUQgICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgVGl0bGUgICAgICAgICAgICAgICAgICA9PiAnQSBUaXRsZScsCiAgICAgICAgSW50cm9kdWN0aW9uICAgICAgICAgICA9PiAnVGhlIGludHJvZHVjdGlvbiBvZiB0aGUgc3VydmV5JywKICAgICAgICBEZXNjcmlwdGlvbiAgICAgICAgICAgID0+ICdUaGUgaW50ZXJuYWwgZGVzY3JpcHRpb24gb2YgdGhlIHN1cnZleScsCiAgICAgICAgTm90aWZpY2F0aW9uU2VuZGVyICAgICA9PiAncXVhbGl0eUBleGFtcGxlLmNvbScsCiAgICAgICAgTm90aWZpY2F0aW9uU3ViamVjdCAgICA9PiAnSGVscCB1cyB3aXRoIHlvdXIgZmVlZGJhY2shJywKICAgICAgICBOb3RpZmljYXRpb25Cb2R5ICAgICAgID0+ICdEZWFyIGN1c3RvbWVyLi4uJywKICAgICAgICBRdWV1ZXMgICAgICAgICAgICAgICAgID0+IFsyLCA1LCA5XSwgICMgKG9wdGlvbmFsKSBzdXJ2ZXkgaXMgdmFsaWQgZm9yIHRoZXNlIHF1ZXVlcwogICAgICAgIFRpY2tldFR5cGVJRHMgICAgICAgICAgPT4gWzEsIDIsIDNdLCAgIyAob3B0aW9uYWwpIHN1cnZleSBpcyB2YWxpZCBmb3IgdGhlc2UgdGlja2V0IHR5cGVzCiAgICAgICAgU2VydmljZUlEcyAgICAgICAgICAgICA9PiBbMSwgMiwgM10sICAjIChvcHRpb25hbCkgc3VydmV5IGlzIHZhbGlkIGZvciB0aGVzZSBzZXJ2aWNlcwogICAgICAgIEN1c3RvbWVyVXNlckNvbmRpdGlvbnMgPT4gewogICAgICAgICAgICAnVXNlckZpcnN0bmFtZScgPT4gWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICdOZWdhdGlvbicgPT4gMCwKICAgICAgICAgICAgICAgICAgICAnUmVnRXhwVmFsdWUnID0+ICdeTWknCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICdOZWdhdGlvbicgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnUmVnRXhwVmFsdWUnID0+ICdeS2EnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgXSwKICAgICAgICB9LCAjIChvcHRpb25hbCkKICAgICk7Cgo9Y3V0CgpzdWIgU3VydmV5QWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKAogICAgICAgIHF3KAogICAgICAgICAgICBVc2VySUQgVGl0bGUgSW50cm9kdWN0aW9uIERlc2NyaXB0aW9uCiAgICAgICAgICAgIE5vdGlmaWNhdGlvblNlbmRlciBOb3RpZmljYXRpb25TdWJqZWN0IE5vdGlmaWNhdGlvbkJvZHkKICAgICAgICApCiAgICAgICAgKQogICAgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBidWlsZCBzZW5kIGNvbmRpdGlvbiBzdHJpbmcKICAgIG15ICRTZW5kQ29uZGl0aW9uU3RyZyA9ICRTZWxmLT5fQnVpbGRTZW5kQ29uZGl0aW9uU3RyZyglUGFyYW0pOwoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBpbnNlcnQgYSBuZXcgc3VydmV5CiAgICBteSAkU3RhdHVzID0gJ05ldyc7CiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgSU5TRVJUIElOVE8gc3VydmV5ICh0aXRsZSwgaW50cm9kdWN0aW9uLCBkZXNjcmlwdGlvbiwgbm90aWZpY2F0aW9uX3NlbmRlciwKICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbl9zdWJqZWN0LCBub3RpZmljYXRpb25fYm9keSwgc3RhdHVzLCBzZW5kX2NvbmRpdGlvbnMsIGNyZWF0ZV90aW1lLCBjcmVhdGVfYnksCiAgICAgICAgICAgICAgICBjaGFuZ2VfdGltZSwgY2hhbmdlX2J5ICkKICAgICAgICAgICAgVkFMVUVTICggPywgPywgPywgPywgPywgPywgPywgPywgY3VycmVudF90aW1lc3RhbXAsID8sIGN1cnJlbnRfdGltZXN0YW1wLCA/KScsCiAgICAgICAgQmluZCA9PiBbCiAgICAgICAgICAgIFwkUGFyYW17VGl0bGV9LCAgICAgICAgICAgICAgXCRQYXJhbXtJbnRyb2R1Y3Rpb259LCAgICAgICAgXCRQYXJhbXtEZXNjcmlwdGlvbn0sCiAgICAgICAgICAgIFwkUGFyYW17Tm90aWZpY2F0aW9uU2VuZGVyfSwgXCRQYXJhbXtOb3RpZmljYXRpb25TdWJqZWN0fSwgXCRQYXJhbXtOb3RpZmljYXRpb25Cb2R5fSwKICAgICAgICAgICAgXCRTdGF0dXMsICAgICAgICAgICAgICAgICAgICBcJFNlbmRDb25kaXRpb25TdHJnLCAgICAgICAgICBcJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgIFwkUGFyYW17VXNlcklEfSwKICAgICAgICBdLAogICAgKTsKCiAgICAjIGdldCB0aGUgaWQgb2YgdGhlIHN1cnZleQogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkCiAgICAgICAgICAgIEZST00gc3VydmV5CiAgICAgICAgICAgIFdIRVJFIHRpdGxlID0gPwogICAgICAgICAgICAgICAgQU5EIGludHJvZHVjdGlvbiA9ID8KICAgICAgICAgICAgICAgIEFORCBkZXNjcmlwdGlvbiA9ID8KICAgICAgICAgICAgT1JERVIgQlkgaWQgREVTQycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1RpdGxlfSwgXCRQYXJhbXtJbnRyb2R1Y3Rpb259LCBcJFBhcmFte0Rlc2NyaXB0aW9ufSwgXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICRTdXJ2ZXlJRDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRTdXJ2ZXlJRCA9ICRSb3dbMF07CiAgICB9CgogICAgIyBzZXQgdGhlIHN1cnZleSBudW1iZXIKICAgIG15ICRTdXJ2ZXlOdW1iZXIgPSAkU3VydmV5SUQgKyAxMDAwMDsKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5EbygKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBVUERBVEUgc3VydmV5CiAgICAgICAgICAgIFNFVCBzdXJ2ZXludW1iZXIgPSA/CiAgICAgICAgICAgIFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkU3VydmV5TnVtYmVyLCBcJFN1cnZleUlELCBdLAogICAgKTsKCiAgICByZXR1cm4gJFN1cnZleUlEIGlmICEkUGFyYW17UXVldWVzfTsKICAgIHJldHVybiAkU3VydmV5SUQgaWYgcmVmICRQYXJhbXtRdWV1ZXN9IG5lICdBUlJBWSc7CgogICAgIyBpbnNlcnQgbmV3IHN1cnZleS1xdWV1ZSByZWxhdGlvbnMKICAgICRTZWxmLT5TdXJ2ZXlRdWV1ZVNldCgKICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgUXVldWVJRHMgPT4gJFBhcmFte1F1ZXVlc30sCiAgICApOwoKICAgIHJldHVybiAkU3VydmV5SUQ7Cn0KCj1oZWFkMiBTdXJ2ZXlHZXQoKQoKdG8gZ2V0IGFsbCBhdHRyaWJ1dGVzIG9mIGEgc3VydmV5CgogICAgbXkgJVN1cnZleSA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUdldCgKICAgICAgICBTdXJ2ZXlJRCA9PiAxMjMsCiAgICApOwoKUmV0dXJuczoKICAgICVTdXJ2ZXkgPSAoCiAgICAgICAgIkNoYW5nZUJ5IiA9PiAxLAogICAgICAgICJDaGFuZ2VUaW1lIiA9PiAiMjAxNy0wOC0zMCAxMToyNjo0MSIsCiAgICAgICAgIkNoYW5nZVVzZXJGaXJzdG5hbWUiID0+ICJKb2huIiwKICAgICAgICAiQ2hhbmdlVXNlckZ1bGxuYW1lIiA9PiAiSm9obiBEb2UiLAogICAgICAgICJDaGFuZ2VVc2VyTGFzdG5hbWUiID0+ICJEb2UiLAogICAgICAgICJDaGFuZ2VVc2VyTG9naW4iID0+ICJqb2huIiwKICAgICAgICAiQ3JlYXRlQnkiID0+IDEsCiAgICAgICAgIkNyZWF0ZVRpbWUiID0+ICIyMDE3LTA4LTMwIDExOjI2OjQxIiwKICAgICAgICAiQ3JlYXRlVXNlckZpcnN0bmFtZSIgPT4gIkpvaG4iLAogICAgICAgICJDcmVhdGVVc2VyRnVsbG5hbWUiID0+ICJKb2huIERvZSIsCiAgICAgICAgIkNyZWF0ZVVzZXJMYXN0bmFtZSIgPT4gIkRvZSIsCiAgICAgICAgIkNyZWF0ZVVzZXJMb2dpbiIgPT4gImpvaG4iLAogICAgICAgICJDdXN0b21lclVzZXJDb25kaXRpb25zIiA9PiB7CiAgICAgICAgICAgICJVc2VyTG9naW4iID0+IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIk5lZ2F0aW9uIiA9PiAwLAogICAgICAgICAgICAgICAgIlJlZ0V4cFZhbHVlIiA9PiAiIgogICAgICAgICAgICB9CiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJDdXN0b21lclVzZXJDb25kaXRpb25zSlNPTiIgPT4gIntcIlVzZXJMb2dpblwiOlt7XCJSZWdFeHBWYWx1ZVwiOlwiXCIsXCJOZWdhdGlvblwiOlwiMFwifV19IiwKICAgICAgICAiRGVzY3JpcHRpb24iID0+ICJTZWxlbml1bSBEZXNjcmlwdGlvbmN1c3RvbWVyIiwKICAgICAgICAiSW50cm9kdWN0aW9uIiA9PiAiU2VsZW5pdW0gSW50cm9kdWN0aW9uIiwKICAgICAgICAiTm90aWZpY2F0aW9uQm9keSIgPT4gIkRlYXIgQ3VzdG9tZXIsXHJcblxyXG5UaGFua3MgZm9yIHVzaW5nIG91ciBzZXJ2aWNlLiBIZWxwIHVzIHRvIGltcHJvdmUgdXMgYW5kIG91ciBzZXJ2aWNlcy5cclxuXHJcblBsZWFzZSBnaXZlIHVzIGZlZWRiYWNrIG9uIGhvdyB0byBpbXByb3ZlIG91ciBzZXJ2aWNlczpcclxuXHJcbmh0dHA6Ly9sb2NhbGhvc3Qvb3RvYm8tYWxwaGEvcHVibGljLnBsP0FjdGlvbj1QdWJsaWNTdXJ2ZXk7UHVibGljU3VydmV5S2V5PTxPVE9CT19QdWJsaWNTdXJ2ZXlLZXk+XHJcblxyXG5UaGFua3MgZm9yIHlvdXIgaGVscCFcclxuXHJcbllvdXIgT1RPQk8tVGVhbSIsCiAgICAgICAgIk5vdGlmaWNhdGlvblNlbmRlciIgPT4gInF1YWxpdHlcQGV4YW1wbGUuY29tIiwKICAgICAgICAiTm90aWZpY2F0aW9uU3ViamVjdCIgPT4gIkhlbHAgdXMgd2l0aCB5b3VyIGZlZWRiYWNrISIsCiAgICAgICAgIlF1ZXVlcyIgPT4gW10sCiAgICAgICAgIlNlbmRDb25kaXRpb25zUmF3IiA9PiAiLS0tXG5DdXN0b21lclVzZXJDb25kaXRpb25zOlxuICBVc2VyTG9naW46XG4gIC0gTmVnYXRpb246IDBcbiAgICBSZWdFeHBWYWx1ZTogJydcbiIsCiAgICAgICAgIlN0YXR1cyIgPT4gIk5ldyIsCiAgICAgICAgIlN1cnZleUlEIiA9PiA0OSwKICAgICAgICAiU3VydmV5TnVtYmVyIiA9PiAxMDA0OSwKICAgICAgICAiVGl0bGUiID0+ICJTdXJ2ZXkgdGl0bGUiLAogICAgKToKCj1jdXQKCnN1YiBTdXJ2ZXlHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte1N1cnZleUlEfSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ05lZWQgU3VydmV5SUQhJywKICAgICAgICApOwoKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGdldCBhbGwgYXR0cmlidXRlcyBvZiBhIHN1cnZleQogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkLCBzdXJ2ZXludW1iZXIsIHRpdGxlLCBpbnRyb2R1Y3Rpb24sIGRlc2NyaXB0aW9uLCBub3RpZmljYXRpb25fc2VuZGVyLAogICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uX3N1YmplY3QsIG5vdGlmaWNhdGlvbl9ib2R5LCBzdGF0dXMsIHNlbmRfY29uZGl0aW9ucywgY3JlYXRlX3RpbWUsIGNyZWF0ZV9ieSwKICAgICAgICAgICAgICAgIGNoYW5nZV90aW1lLCBjaGFuZ2VfYnkKICAgICAgICAgICAgRlJPTSBzdXJ2ZXkKICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17U3VydmV5SUR9IF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAlRGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewoKICAgICAgICAkRGF0YXtTdXJ2ZXlJRH0gICAgICAgICAgICA9ICRSb3dbMF07CiAgICAgICAgJERhdGF7U3VydmV5TnVtYmVyfSAgICAgICAgPSAkUm93WzFdOwogICAgICAgICREYXRhe1RpdGxlfSAgICAgICAgICAgICAgID0gJFJvd1syXTsKICAgICAgICAkRGF0YXtJbnRyb2R1Y3Rpb259ICAgICAgICA9ICRSb3dbM107CiAgICAgICAgJERhdGF7RGVzY3JpcHRpb259ICAgICAgICAgPSAkUm93WzRdOwogICAgICAgICREYXRhe05vdGlmaWNhdGlvblNlbmRlcn0gID0gJFJvd1s1XTsKICAgICAgICAkRGF0YXtOb3RpZmljYXRpb25TdWJqZWN0fSA9ICRSb3dbNl07CiAgICAgICAgJERhdGF7Tm90aWZpY2F0aW9uQm9keX0gICAgPSAkUm93WzddOwogICAgICAgICREYXRhe1N0YXR1c30gICAgICAgICAgICAgID0gJFJvd1s4XTsKICAgICAgICAkRGF0YXtTZW5kQ29uZGl0aW9uc1Jhd30gICA9ICRSb3dbOV07CiAgICAgICAgJERhdGF7Q3JlYXRlVGltZX0gICAgICAgICAgPSAkUm93WzEwXTsKICAgICAgICAkRGF0YXtDcmVhdGVCeX0gICAgICAgICAgICA9ICRSb3dbMTFdOwogICAgICAgICREYXRhe0NoYW5nZVRpbWV9ICAgICAgICAgID0gJFJvd1sxMl07CiAgICAgICAgJERhdGF7Q2hhbmdlQnl9ICAgICAgICAgICAgPSAkUm93WzEzXTsKICAgIH0KCiAgICAjIEdldCBTZW5kQ29uZGl0aW9uIGFzIGhhc2guCiAgICBteSAkU2VuZENvbmRpdGlvbnMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6WUFNTCcpLT5Mb2FkKCBEYXRhID0+ICREYXRhe1NlbmRDb25kaXRpb25zUmF3fSApIHx8IHt9OwoKICAgICMgU2V0IGRhdGEgZmllbGRzIGZvciBzZW5kIGNvbmRpdGlvbnMuCiAgICBJVEVNOgogICAgZm9yIG15ICRJdGVtIChxdyhUaWNrZXRUeXBlSURzIFNlcnZpY2VJRHMgQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucykpIHsKCiAgICAgICAgbmV4dCBJVEVNCiAgICAgICAgICAgIGlmICggIUlzQXJyYXlSZWZXaXRoRGF0YSggJFNlbmRDb25kaXRpb25zLT57JEl0ZW19ICkgJiYgIUlzSGFzaFJlZldpdGhEYXRhKCAkU2VuZENvbmRpdGlvbnMtPnskSXRlbX0gKSApOwoKICAgICAgICAkRGF0YXskSXRlbX0gPSAkU2VuZENvbmRpdGlvbnMtPnskSXRlbX07CiAgICB9CgogICAgaWYgKCAkRGF0YXtDdXN0b21lclVzZXJDb25kaXRpb25zfSApIHsKICAgICAgICAkRGF0YXtDdXN0b21lclVzZXJDb25kaXRpb25zSlNPTn0gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SlNPTicpLT5FbmNvZGUoCiAgICAgICAgICAgIERhdGEgPT4gJERhdGF7Q3VzdG9tZXJVc2VyQ29uZGl0aW9uc30sCiAgICAgICAgKTsKICAgIH0KCiAgICBpZiAoICElRGF0YSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5vIHN1Y2ggU3VydmV5SUQgJFBhcmFte1N1cnZleUlEfSEiLAogICAgICAgICk7CgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGdldCBjb25maWcgb2JqZWN0CiAgICBteSAkQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKCiAgICAjIHNldCBkZWZhdWx0IHZhbHVlcwogICAgJERhdGF7Tm90aWZpY2F0aW9uU2VuZGVyfSAgfHw9ICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpOb3RpZmljYXRpb25TZW5kZXInKTsKICAgICREYXRhe05vdGlmaWNhdGlvblN1YmplY3R9IHx8PSAkQ29uZmlnT2JqZWN0LT5HZXQoJ1N1cnZleTo6Tm90aWZpY2F0aW9uU3ViamVjdCcpOwogICAgJERhdGF7Tm90aWZpY2F0aW9uQm9keX0gICAgfHw9ICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpOb3RpZmljYXRpb25Cb2R5Jyk7CgogICAgIyBnZXQgcXVldWVzCiAgICAkRGF0YXtRdWV1ZXN9ID0gJFNlbGYtPlN1cnZleVF1ZXVlR2V0KAogICAgICAgIFN1cnZleUlEID0+ICRQYXJhbXtTdXJ2ZXlJRH0sCiAgICApOwoKICAgICMgYWRkZWQgQ3JlYXRlQnkKICAgIGlmICggISRQYXJhbXtQdWJsaWN9ICkgewoKICAgICAgICAjIGdldCB1c2VyIG9iamVjdAogICAgICAgIG15ICRVc2VyT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVzZXInKTsKCiAgICAgICAgbXkgJUNyZWF0ZVVzZXJJbmZvID0gJFVzZXJPYmplY3QtPkdldFVzZXJEYXRhKAogICAgICAgICAgICBVc2VySUQgPT4gJERhdGF7Q3JlYXRlQnl9LAogICAgICAgICAgICBDYWNoZWQgPT4gMSwKICAgICAgICApOwogICAgICAgICREYXRhe0NyZWF0ZVVzZXJMb2dpbn0gICAgID0gJENyZWF0ZVVzZXJJbmZve1VzZXJMb2dpbn07CiAgICAgICAgJERhdGF7Q3JlYXRlVXNlckZpcnN0bmFtZX0gPSAkQ3JlYXRlVXNlckluZm97VXNlckZpcnN0bmFtZX07CiAgICAgICAgJERhdGF7Q3JlYXRlVXNlckxhc3RuYW1lfSAgPSAkQ3JlYXRlVXNlckluZm97VXNlckxhc3RuYW1lfTsKICAgICAgICAkRGF0YXtDcmVhdGVVc2VyRnVsbG5hbWV9ICA9ICRDcmVhdGVVc2VySW5mb3tVc2VyRnVsbG5hbWV9OwoKICAgICAgICAjIGFkZGVkIENoYW5nZUJ5CiAgICAgICAgbXkgJUNoYW5nZVVzZXJJbmZvID0gJFVzZXJPYmplY3QtPkdldFVzZXJEYXRhKAogICAgICAgICAgICBVc2VySUQgPT4gJERhdGF7Q2hhbmdlQnl9LAogICAgICAgICAgICBDYWNoZWQgPT4gMSwKICAgICAgICApOwogICAgICAgICREYXRhe0NoYW5nZVVzZXJMb2dpbn0gICAgID0gJENoYW5nZVVzZXJJbmZve1VzZXJMb2dpbn07CiAgICAgICAgJERhdGF7Q2hhbmdlVXNlckZpcnN0bmFtZX0gPSAkQ2hhbmdlVXNlckluZm97VXNlckZpcnN0bmFtZX07CiAgICAgICAgJERhdGF7Q2hhbmdlVXNlckxhc3RuYW1lfSAgPSAkQ2hhbmdlVXNlckluZm97VXNlckxhc3RuYW1lfTsKICAgICAgICAkRGF0YXtDaGFuZ2VVc2VyRnVsbG5hbWV9ICA9ICRDaGFuZ2VVc2VySW5mb3tVc2VyRnVsbG5hbWV9OwogICAgfQoKICAgIHJldHVybiAlRGF0YTsKfQoKPWhlYWQyIFN1cnZleVVwZGF0ZSgpCgp0byB1cGRhdGUgYW4gZXhpc3Rpbmcgc3VydmV5CgogICAgJFN1cnZleU9iamVjdC0+U3VydmV5VXBkYXRlKAogICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgPT4gMSwKICAgICAgICBTdXJ2ZXlJRCAgICAgICAgICAgID0+IDQsCiAgICAgICAgVGl0bGUgICAgICAgICAgICAgICA9PiAnQSBUaXRsZScsCiAgICAgICAgSW50cm9kdWN0aW9uICAgICAgICA9PiAnVGhlIGludHJvZHVjdGlvbiBvZiB0aGUgc3VydmV5JywKICAgICAgICBEZXNjcmlwdGlvbiAgICAgICAgID0+ICdUaGUgaW50ZXJuYWwgZGVzY3JpcHRpb24gb2YgdGhlIHN1cnZleScsCiAgICAgICAgTm90aWZpY2F0aW9uU2VuZGVyICA9PiAncXVhbGl0eUBleGFtcGxlLmNvbScsCiAgICAgICAgTm90aWZpY2F0aW9uU3ViamVjdCA9PiAnSGVscCB1cyB3aXRoIHlvdXIgZmVlZGJhY2shJywKICAgICAgICBOb3RpZmljYXRpb25Cb2R5ICAgID0+ICdEZWFyIGN1c3RvbWVyLi4uJywKICAgICAgICBRdWV1ZXMgICAgICAgICAgICAgID0+IFsyLCA1LCA5XSwgICMgKG9wdGlvbmFsKSBzdXJ2ZXkgaXMgdmFsaWQgZm9yIHRoZXNlIHF1ZXVlcwogICAgICAgIFRpY2tldFR5cGVJRHMgICAgICAgPT4gWzEsIDIsIDNdLCAgIyAob3B0aW9uYWwpIHN1cnZleSBpcyB2YWxpZCBmb3IgdGhlc2UgdGlja2V0IHR5cGVzCiAgICAgICAgU2VydmljZUlEcyAgICAgICAgICA9PiBbMSwgMiwgM10sICAjIChvcHRpb25hbCkgc3VydmV5IGlzIHZhbGlkIGZvciB0aGVzZSBzZXJ2aWNlcwogICAgICAgIEN1c3RvbWVyVXNlckNvbmRpdGlvbnMgPT4gewogICAgICAgICAgICAnVXNlckZpcnN0bmFtZScgPT4gWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICdOZWdhdGlvbicgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnUmVnRXhwVmFsdWUnID0+ICdeTWknCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICdOZWdhdGlvbicgPT4gMSwKICAgICAgICAgICAgICAgICAgICAnUmVnRXhwVmFsdWUnID0+ICdeS2EnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgXSwKICAgICAgICB9LCAjIChvcHRpb25hbCkKICAgICk7Cgo9Y3V0CgpzdWIgU3VydmV5VXBkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKAogICAgICAgIHF3KAogICAgICAgICAgICBVc2VySUQgU3VydmV5SUQgVGl0bGUgSW50cm9kdWN0aW9uIERlc2NyaXB0aW9uCiAgICAgICAgICAgIE5vdGlmaWNhdGlvblNlbmRlciBOb3RpZmljYXRpb25TdWJqZWN0IE5vdGlmaWNhdGlvbkJvZHkKICAgICAgICApCiAgICAgICAgKQogICAgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBxdWV1ZXMKICAgIGlmICggJFBhcmFte1F1ZXVlc30gJiYgcmVmICRQYXJhbXtRdWV1ZXN9IG5lICdBUlJBWScgKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdRdWV1ZXMgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2UuJywKICAgICAgICApOwoKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBzZXQgZGVmYXVsdCB2YWx1ZQogICAgJFBhcmFte1F1ZXVlc30gfHw9IFtdOwoKICAgICMgYnVpbGQgc2VuZCBjb25kaXRpb24gc3RyaW5nCiAgICBteSAkU2VuZENvbmRpdGlvblN0cmcgPSAkU2VsZi0+X0J1aWxkU2VuZENvbmRpdGlvblN0cmcoJVBhcmFtKTsKCiAgICAjIHVwZGF0ZSB0aGUgc3VydmV5CiAgICByZXR1cm4gaWYgISRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5EbygKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBVUERBVEUgc3VydmV5CiAgICAgICAgICAgIFNFVCB0aXRsZSA9ID8sIGludHJvZHVjdGlvbiA9ID8sIGRlc2NyaXB0aW9uID0gPywgbm90aWZpY2F0aW9uX3NlbmRlciA9ID8sCiAgICAgICAgICAgICAgICBub3RpZmljYXRpb25fc3ViamVjdCA9ID8sIG5vdGlmaWNhdGlvbl9ib2R5ID0gPywgc2VuZF9jb25kaXRpb25zID0gPywgY2hhbmdlX3RpbWUgPSBjdXJyZW50X3RpbWVzdGFtcCwKICAgICAgICAgICAgICAgIGNoYW5nZV9ieSA9ID8KICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtUaXRsZX0sICAgICAgICAgICAgICBcJFBhcmFte0ludHJvZHVjdGlvbn0sICAgICAgICBcJFBhcmFte0Rlc2NyaXB0aW9ufSwKICAgICAgICAgICAgXCRQYXJhbXtOb3RpZmljYXRpb25TZW5kZXJ9LCBcJFBhcmFte05vdGlmaWNhdGlvblN1YmplY3R9LCBcJFBhcmFte05vdGlmaWNhdGlvbkJvZHl9LAogICAgICAgICAgICBcJFNlbmRDb25kaXRpb25TdHJnLCAgICAgICAgIFwkUGFyYW17VXNlcklEfSwgICAgICAgICAgICAgIFwkUGFyYW17U3VydmV5SUR9LAogICAgICAgIF0sCiAgICApOwoKICAgICMgaW5zZXJ0IG5ldyBzdXJ2ZXktcXVldWUgcmVsYXRpb25zCiAgICByZXR1cm4gJFNlbGYtPlN1cnZleVF1ZXVlU2V0KAogICAgICAgIFN1cnZleUlEID0+ICRQYXJhbXtTdXJ2ZXlJRH0sCiAgICAgICAgUXVldWVJRHMgPT4gJFBhcmFte1F1ZXVlc30sCiAgICApOwp9Cgo9aGVhZDIgU3VydmV5TGlzdCgpCgp0byBnZXQgYSBhcnJheSBsaXN0IG9mIGFsbCBzdXJ2ZXkgaXRlbXMKCiAgICBteSAlU3VydmV5TGlzdCA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUxpc3QoKTsKClJlc3VsdDoKICAgICVTdXJ2ZXlMaXN0ID0gKAogICAgICAgIDQ3ID0+ICJTdXJ2ZXkgdGl0bGUiLAogICAgICAgIC4uLgogICAgKTsKCj1jdXQKCnN1YiBTdXJ2ZXlMaXN0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGdldCBzdXJ2ZXkgbGlzdAogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkLCB0aXRsZQogICAgICAgICAgICBGUk9NIHN1cnZleQogICAgICAgICAgICBPUkRFUiBCWSBpZCBBU0MnLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHRzCiAgICBteSAlU3VydmV5czsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRTdXJ2ZXlzeyAkUm93WzBdIH0gPSAkUm93WzFdOwogICAgfQoKICAgIHJldHVybiAlU3VydmV5czsKfQoKPWhlYWQyIFN1cnZleVNlYXJjaCgpCgpzZWFyY2ggaW4gc3VydmV5cwoKICAgIG15IEBJRHMgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlTZWFyY2goCgogICAgICAgIE51bWJlciAgICAgICAgICAgICAgPT4gJzEzNCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIChvcHRpb25hbCkKICAgICAgICBUaXRsZSAgICAgICAgICAgICAgID0+ICdzb21lIHRpdGxlJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAob3B0aW9uYWwpCiAgICAgICAgSW50cm9kdWN0aW9uICAgICAgICA9PiAnc29tZSBpbnRyb2R1Y3Rpb24nLCAgICAgICAgICAgICAgICAgICAgICAgICAgICMgKG9wdGlvbmFsKQogICAgICAgIERlc2NyaXB0aW9uICAgICAgICAgPT4gJ3NvbWUgZGVzY3JpcHRpb24nLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIChvcHRpb25hbCkKICAgICAgICBOb3RpZmljYXRpb25TZW5kZXIgID0+ICd1c2VyQGRvbWFpbicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAob3B0aW9uYWwpCiAgICAgICAgTm90aWZpY2F0aW9uU3ViamVjdCA9PiAnc29tZSBub3RpZmljYXRpb24gc3ViamVjdCcsICAgICAgICAgICAgICAgICAgICMgKG9wdGlvbmFsKQogICAgICAgIE5vdGlmaWNhdGlvbkJvZHkgICAgPT4gJ3NvbWUgbm90aWZpY2F0aW9uIGJvZHknLCAgICAgICAgICAgICAgICAgICAgICAjIChvcHRpb25hbCkKCiAgICAgICAgIyBpcyBzZWFyY2hpbmcgaW4gTnVtYmVyLCBUaXRsZSwgSW50cm9kdWN0aW9uLCBEZXNjcmlwdGlvbiwgTm90aWZpY2F0aW9uU2VuZGVyLAogICAgICAgICMgTm90aWZpY2F0aW9uU3ViamVjdCBhbmQgTm90aWZpY2F0aW9uQm9keQogICAgICAgIFdoYXQgICA9PiAnc29tZSB0ZXh0JywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIChvcHRpb25hbCkKCiAgICAgICAgU3RhdHVzID0+ICdzb21lIHN0YXR1cycsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgKG9wdGlvbmFsKQoKICAgICAgICBDcmVhdGVUaW1lTmV3ZXJEYXRlID0+ICcyMDEyLTAxLTAxIDEyOjAwOjAwJywKICAgICAgICBDcmVhdGVUaW1lT2xkZXJEYXRlID0+ICcyMDEyLTAxLTMxIDEyOjAwOjAwJywKICAgICAgICBDcmVhdGVCeSAgICAgICAgICAgID0+ICcxMjMnLCAgICAgICAgICAgICNVc2VySUQKICAgICAgICBDaGFuZ2VUaW1lTmV3ZXJEYXRlID0+ICcyMDEyLTAxLTAxIDEyOjAwOjAwJywKICAgICAgICBDaGFuZ2VUaW1lT2xkZXJEYXRlID0+ICcyMDEyLTEyLTMxIDEyOjAwOjAwJywKICAgICAgICBDaGFuZ2VCeSAgICAgICAgICAgID0+ICcxMjMnLCAgICAgICAgICAgICNVc2VySUQKCiAgICAgICAgT3JkZXJCeSA9PiBbICdTdXJ2ZXlJRCcsICdUaXRsZScgXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAob3B0aW9uYWwpCiAgICAgICAgIyBkZWZhdWx0OiBbICdTdXJ2ZXlJRCcgXSwKICAgICAgICAjICgpU3VydmV5SUQsIE51bWJlciwgVGl0bGUsIEludHJvZHVjdGlvbiwgRGVzY3JpcHRpb24sCiAgICAgICAgIyBOb3RpZmljYXRpb25TZW5kZXIsIE5vdGlmaWNhdGlvblN1YmplY3QsIE5vdGlmaWNhdGlvbkJvZHksCiAgICAgICAgIyBTdGF0dXMsIENyZWF0ZVRpbWUsIENyZWF0ZUJ5LCBDaGFuZ2VUaW1lLCBDaGFuZ2VCeSkKCiAgICAgICAgIyBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBPcmRlckJ5OgogICAgICAgICMgVGhlIE9yZGVyQnlEaXJlY3Rpb24gY2FuIGJlIHNwZWNpZmllZCBmb3IgZWFjaCBPcmRlckJ5IGF0dHJpYnV0ZS4KICAgICAgICAjIFRoZSBwYWlyaW5nIGlzIG1hZGUgYnkgdGhlIGFycmF5IGluZGV4ZXMuCgogICAgICAgIE9yZGVyQnlEaXJlY3Rpb24gPT4gWyAnRG93bicsICdVcCcgXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgKG9wdGlvbmFsKQogICAgICAgICMgZGVmYXVsdDogWyAnRG93bicgXQogICAgICAgICMgKERvd24gfCBVcCkKCiAgICAgICAgTGltaXQgICAgID0+IDE1MCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAob3B0aW9uYWwpCiAgICAgICAgVXNlcklEICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIFN1cnZleVNlYXJjaCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17VXNlcklEfSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgVXNlcklEISIsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgdmVyaWZ5IHRoYXQgYWxsIHBhc3NlZCBhcnJheSBwYXJhbWV0ZXJzIGNvbnRhaW4gYW4gYXJyYXkgcmVmZXJlbmNlCiAgICBBUkdVTUVOVDoKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KE9yZGVyQnkgT3JkZXJCeURpcmVjdGlvbikpIHsKCiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJFBhcmFteyRBcmd1bWVudH0gfHw9IFtdOwoKICAgICAgICAgICAgbmV4dCBBUkdVTUVOVDsKICAgICAgICB9CgogICAgICAgIGlmICggcmVmICRQYXJhbXskQXJndW1lbnR9IG5lICdBUlJBWScgKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICIkQXJndW1lbnQgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2UhIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBkZWZpbmUgb3JkZXIgdGFibGUKICAgIG15ICVPcmRlckJ5VGFibGUgPSAoCgogICAgICAgICMgU3VydmV5IGl0ZW0gYXR0cmlidXRlcwogICAgICAgIFN1cnZleUlEICAgICAgICAgICAgPT4gJ3MuaWQnLAogICAgICAgIE51bWJlciAgICAgICAgICAgICAgPT4gJ3Muc3VydmV5bnVtYmVyJywKICAgICAgICBUaXRsZSAgICAgICAgICAgICAgID0+ICdzLnRpdGxlJywKICAgICAgICBJbnRyb2R1Y3Rpb24gICAgICAgID0+ICdzLmludHJvZHVjdGlvbicsCiAgICAgICAgRGVzY3JpcHRpb24gICAgICAgICA9PiAncy5kZXNjcmlwdGlvbicsCiAgICAgICAgTm90aWZpY2F0aW9uU2VuZGVyICA9PiAncy5ub3RpZmljYXRpb25fc2VuZGVyJywKICAgICAgICBOb3RpZmljYXRpb25TdWJqZWN0ID0+ICdzLm5vdGlmaWNhdGlvbl9zdWJqZWN0JywKICAgICAgICBOb3RpZmljYXRpb25Cb2R5ICAgID0+ICdzLm5vdGlmaWNhdGlvbl9ib2R5JywKICAgICAgICBTdGF0dXMgICAgICAgICAgICAgID0+ICdzLnN0YXR1cycsCiAgICAgICAgQ3JlYXRlVGltZSAgICAgICAgICA9PiAncy5jcmVhdGVfdGltZScsCiAgICAgICAgQ3JlYXRlQnkgICAgICAgICAgICA9PiAncy5jcmVhdGVfYnknLAogICAgICAgIENoYW5nZVRpbWUgICAgICAgICAgPT4gJ3MuY2hhbmdlX3RpbWUnLAogICAgICAgIENoYW5nZUJ5ICAgICAgICAgICAgPT4gJ3MuY2hhbmdlX2J5JywKICAgICk7CgogICAgIyBjaGVjayBpZiBPcmRlckJ5IGNvbnRhaW5zIG9ubHkgdW5pcXVlIHZhbGlkIHZhbHVlcwogICAgbXkgJU9yZGVyQnlTZWVuOwogICAgZm9yIG15ICRPcmRlckJ5ICggQHsgJFBhcmFte09yZGVyQnl9IH0gKSB7CgogICAgICAgIGlmICggISRPcmRlckJ5IHx8ICEkT3JkZXJCeVRhYmxleyRPcmRlckJ5fSB8fCAkT3JkZXJCeVNlZW57JE9yZGVyQnl9ICkgewoKICAgICAgICAgICAgIyBmb3VuZCBhbiBlcnJvcgogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiT3JkZXJCeSBjb250YWlucyBpbnZhbGlkIHZhbHVlICckT3JkZXJCeScgIgogICAgICAgICAgICAgICAgICAgIC4gJ29yIHRoZSB2YWx1ZSBpcyB1c2VkIG1vcmUgdGhhbiBvbmNlIScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIHJlbWVtYmVyIHRoZSB2YWx1ZSB0byBjaGVjayBpZiBpdCBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlCiAgICAgICAgJE9yZGVyQnlTZWVueyRPcmRlckJ5fSA9IDE7CgogICAgfQoKICAgICMgY2hlY2sgaWYgT3JkZXJCeURpcmVjdGlvbiBhcnJheSBjb250YWlucyBvbmx5ICdVcCcgb3IgJ0Rvd24nCiAgICBESVJFQ1RJT046CiAgICBmb3IgbXkgJERpcmVjdGlvbiAoIEB7ICRQYXJhbXtPcmRlckJ5RGlyZWN0aW9ufSB9ICkgewoKICAgICAgICAjIG9ubHkgJ1VwJyBvciAnRG93bicgYWxsb3dlZAogICAgICAgIG5leHQgRElSRUNUSU9OIGlmICREaXJlY3Rpb24gZXEgJ1VwJzsKICAgICAgICBuZXh0IERJUkVDVElPTiBpZiAkRGlyZWN0aW9uIGVxICdEb3duJzsKCiAgICAgICAgIyBmb3VuZCBhbiBlcnJvcgogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiT3JkZXJCeURpcmVjdGlvbiBjYW4gb25seSBjb250YWluICdVcCcgb3IgJ0Rvd24nISIsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgYXNzZW1ibGUgdGhlIE9SREVSIEJZIGNsYXVzZQogICAgbXkgQFNRTE9yZGVyQnk7CiAgICBteSBAT3JkZXJCeUZpZWxkczsKICAgIG15ICRDb3VudCA9IDA7CiAgICBmb3IgbXkgJE9yZGVyQnkgKCBAeyAkUGFyYW17T3JkZXJCeX0gfSApIHsKCiAgICAgICAgIyBzZXQgdGhlIGRlZmF1bHQgb3JkZXIgZGlyZWN0aW9uCiAgICAgICAgbXkgJERpcmVjdGlvbiA9ICdERVNDJzsKCiAgICAgICAgIyBhZGQgdGhlIGdpdmVuIG9yZGVyIGRpcmVjdGlvbgogICAgICAgIGlmICggJFBhcmFte09yZGVyQnlEaXJlY3Rpb259LT5bJENvdW50XSApIHsKICAgICAgICAgICAgaWYgKCAkUGFyYW17T3JkZXJCeURpcmVjdGlvbn0tPlskQ291bnRdIGVxICdVcCcgKSB7CiAgICAgICAgICAgICAgICAkRGlyZWN0aW9uID0gJ0FTQyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzaWYgKCAkUGFyYW17T3JkZXJCeURpcmVjdGlvbn0tPlskQ291bnRdIGVxICdEb3duJyApIHsKICAgICAgICAgICAgICAgICREaXJlY3Rpb24gPSAnREVTQyc7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgYWRkIFNRTAogICAgICAgIHB1c2ggQFNRTE9yZGVyQnksICAgICIkT3JkZXJCeVRhYmxleyRPcmRlckJ5fSAkRGlyZWN0aW9uIjsKICAgICAgICBwdXNoIEBPcmRlckJ5RmllbGRzLCAkT3JkZXJCeVRhYmxleyRPcmRlckJ5fTsKCiAgICAgICAgJENvdW50Kys7CiAgICB9CgogICAgIyBpZiB0aGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQgdGhlIG9yZGVyaW5nIGlzIG5vdCBkZXRlcm1pbmVkCiAgICAjIHdlIGFkZCBhbiBkZXNjZW5kaW5nIG9yZGVyaW5nIGJ5IGlkCiAgICBpZiAoICFncmVwIHsgJF8gZXEgJ1N1cnZleUlEJyB9ICggQHsgJFBhcmFte09yZGVyQnl9IH0gKSApIHsKICAgICAgICBwdXNoIEBTUUxPcmRlckJ5LCAiJE9yZGVyQnlUYWJsZXtTdXJ2ZXlJRH0gREVTQyI7CiAgICB9CgogICAgIyBTUUwKICAgIG15ICRTUUwgPSAnU0VMRUNUIHMuaWQgJzsKCiAgICAjIGV4dGVuZGVkIFNRTAogICAgbXkgJEV4dCA9ICcnOwoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBmdWxsLXRleHQgc2VhcmNoCiAgICBpZiAoICRQYXJhbXtXaGF0fSAmJiAkUGFyYW17V2hhdH0gbmUgJyonICkgewoKICAgICAgICAjIGRlZmluZSB0aGUgc2VhcmNoIGZpZWxkcyBmb3IgZnVsbC10ZXh0IHNlYXJjaAogICAgICAgIG15IEBTZWFyY2hGaWVsZHMgPSAoCiAgICAgICAgICAgICdzLnN1cnZleW51bWJlcicsCiAgICAgICAgICAgICdzLnRpdGxlJywKICAgICAgICAgICAgJ3MuaW50cm9kdWN0aW9uJywKICAgICAgICAgICAgJ3MuZGVzY3JpcHRpb24nLAogICAgICAgICAgICAncy5ub3RpZmljYXRpb25fc2VuZGVyJywKICAgICAgICAgICAgJ3Mubm90aWZpY2F0aW9uX3N1YmplY3QnLAogICAgICAgICAgICAncy5ub3RpZmljYXRpb25fYm9keScsCiAgICAgICAgICAgICdzLnN0YXR1cycsCiAgICAgICAgKTsKCiAgICAgICAgIyBhZGQgdGhlIFNRTCBmb3IgdGhlIGZ1bGwtdGV4dCBzZWFyY2gKICAgICAgICAkRXh0IC49ICREQk9iamVjdC0+UXVlcnlDb25kaXRpb24oCiAgICAgICAgICAgIEtleSAgICAgICAgICA9PiBcQFNlYXJjaEZpZWxkcywKICAgICAgICAgICAgVmFsdWUgICAgICAgID0+ICRQYXJhbXtXaGF0fSwKICAgICAgICAgICAgU2VhcmNoUHJlZml4ID0+ICcqJywKICAgICAgICAgICAgU2VhcmNoU3VmZml4ID0+ICcqJywKICAgICAgICApOwogICAgfQoKICAgICMgc2VhcmNoIGZvciB0aGUgbnVtYmVyCiAgICBpZiAoICRQYXJhbXtOdW1iZXJ9ICkgewogICAgICAgICRQYXJhbXtOdW1iZXJ9ID1+IHMvXCovJS9nOwogICAgICAgICRQYXJhbXtOdW1iZXJ9ID1+IHMvJSUvJS9nOwogICAgICAgICRQYXJhbXtOdW1iZXJ9ID0gJERCT2JqZWN0LT5RdW90ZSggJFBhcmFte051bWJlcn0sICdMaWtlJyApOwogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0IC49ICIgTE9XRVIocy5udW1iZXIpIExJS0UgTE9XRVIoJyIgLiAkUGFyYW17TnVtYmVyfSAuICInKSAkU2VsZi0+e0xpa2VFc2NhcGVTdHJpbmd9IjsKICAgIH0KCiAgICAjIHNlYXJjaCBmb3IgdGhlIHRpdGxlCiAgICBpZiAoICRQYXJhbXtUaXRsZX0gKSB7CiAgICAgICAgJFBhcmFte1RpdGxlfSA9ICJcJSRQYXJhbXtUaXRsZX1cJSI7CiAgICAgICAgJFBhcmFte1RpdGxlfSA9fiBzL1wqLyUvZzsKICAgICAgICAkUGFyYW17VGl0bGV9ID1+IHMvJSUvJS9nOwogICAgICAgICRQYXJhbXtUaXRsZX0gPSAkREJPYmplY3QtPlF1b3RlKCAkUGFyYW17VGl0bGV9LCAnTGlrZScgKTsKICAgICAgICBpZiAoJEV4dCkgewogICAgICAgICAgICAkRXh0IC49ICcgQU5EJzsKICAgICAgICB9CiAgICAgICAgJEV4dCAuPSAiIExPV0VSKHMudGl0bGUpIExJS0UgTE9XRVIoJyIgLiAkUGFyYW17VGl0bGV9IC4gIicpICRTZWxmLT57TGlrZUVzY2FwZVN0cmluZ30iOwogICAgfQoKICAgICMgc2VhcmNoIGZvciB0aGUgaW50cm9kdWN0aW9uCiAgICBpZiAoICRQYXJhbXtJbnRyb2R1Y3Rpb259ICkgewogICAgICAgICRQYXJhbXtJbnRyb2R1Y3Rpb259ID0gIlwlJFBhcmFte0ludHJvZHVjdGlvbn1cJSI7CiAgICAgICAgJFBhcmFte0ludHJvZHVjdGlvbn0gPX4gcy9cKi8lL2c7CiAgICAgICAgJFBhcmFte0ludHJvZHVjdGlvbn0gPX4gcy8lJS8lL2c7CiAgICAgICAgJFBhcmFte0ludHJvZHVjdGlvbn0gPSAkREJPYmplY3QtPlF1b3RlKCAkUGFyYW17SW50cm9kdWN0aW9ufSwgJ0xpa2UnICk7CiAgICAgICAgaWYgKCRFeHQpIHsKICAgICAgICAgICAgJEV4dCAuPSAnIEFORCc7CiAgICAgICAgfQogICAgICAgICRFeHQKICAgICAgICAgICAgLj0gIiBMT1dFUihzLmludHJvZHVjdGlvbikgTElLRSBMT1dFUignIgogICAgICAgICAgICAuICRQYXJhbXtJbnRyb2R1Y3Rpb259CiAgICAgICAgICAgIC4gIicpICRTZWxmLT57TGlrZUVzY2FwZVN0cmluZ30iOwogICAgfQoKICAgICMgc2VhcmNoIGZvciB0aGUgZGVzY3JpcHRpb24KICAgIGlmICggJFBhcmFte0Rlc2NyaXB0aW9ufSApIHsKICAgICAgICAkUGFyYW17RGVzY3JpcHRpb259ID0gIlwlJFBhcmFte0Rlc2NyaXB0aW9ufVwlIjsKICAgICAgICAkUGFyYW17RGVzY3JpcHRpb259ID1+IHMvXCovJS9nOwogICAgICAgICRQYXJhbXtEZXNjcmlwdGlvbn0gPX4gcy8lJS8lL2c7CiAgICAgICAgJFBhcmFte0Rlc2NyaXB0aW9ufSA9ICREQk9iamVjdC0+UXVvdGUoICRQYXJhbXtEZXNjcmlwdGlvbn0sICdMaWtlJyApOwogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0CiAgICAgICAgICAgIC49ICIgTE9XRVIocy5kZXNjcmlwdGlvbikgTElLRSBMT1dFUignIgogICAgICAgICAgICAuICRQYXJhbXtEZXNjcmlwdGlvbn0KICAgICAgICAgICAgLiAiJykgJFNlbGYtPntMaWtlRXNjYXBlU3RyaW5nfSI7CiAgICB9CgogICAgIyBzZWFyY2ggZm9yIHRoZSBub3RpZmljYXRpb24gc2VuZGVyCiAgICBpZiAoICRQYXJhbXtOb3RpZmljYXRpb25TZW5kZXJ9ICkgewogICAgICAgICRQYXJhbXtOb3RpZmljYXRpb25TZW5kZXJ9ID0gIlwlJFBhcmFte05vdGlmaWNhdGlvblNlbmRlcn1cJSI7CiAgICAgICAgJFBhcmFte05vdGlmaWNhdGlvblNlbmRlcn0gPX4gcy9cKi8lL2c7CiAgICAgICAgJFBhcmFte05vdGlmaWNhdGlvblNlbmRlcn0gPX4gcy8lJS8lL2c7CiAgICAgICAgJFBhcmFte05vdGlmaWNhdGlvblNlbmRlcn0gPSAkREJPYmplY3QtPlF1b3RlKCAkUGFyYW17Tm90aWZpY2F0aW9uU2VuZGVyfSwgJ0xpa2UnICk7CiAgICAgICAgaWYgKCRFeHQpIHsKICAgICAgICAgICAgJEV4dCAuPSAnIEFORCc7CiAgICAgICAgfQogICAgICAgICRFeHQKICAgICAgICAgICAgLj0gIiBMT1dFUihzLm5vdGlmaWNhdGlvbl9zZW5kZXIpIExJS0UgTE9XRVIoJyIKICAgICAgICAgICAgLiAkUGFyYW17Tm90aWZpY2F0aW9uU2VuZGVyfQogICAgICAgICAgICAuICInKSAkU2VsZi0+e0xpa2VFc2NhcGVTdHJpbmd9IjsKICAgIH0KCiAgICAjIHNlYXJjaCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBzdWJqZWN0CiAgICBpZiAoICRQYXJhbXtOb3RpZmljYXRpb25TdWJqZWN0fSApIHsKICAgICAgICAkUGFyYW17Tm90aWZpY2F0aW9uU3ViamVjdH0gPSAiXCUkUGFyYW17Tm90aWZpY2F0aW9uU3ViamVjdH1cJSI7CiAgICAgICAgJFBhcmFte05vdGlmaWNhdGlvblN1YmplY3R9ID1+IHMvXCovJS9nOwogICAgICAgICRQYXJhbXtOb3RpZmljYXRpb25TdWJqZWN0fSA9fiBzLyUlLyUvZzsKICAgICAgICAkUGFyYW17Tm90aWZpY2F0aW9uU3ViamVjdH0gPSAkREJPYmplY3QtPlF1b3RlKCAkUGFyYW17Tm90aWZpY2F0aW9uU3ViamVjdH0sICdMaWtlJyApOwogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0CiAgICAgICAgICAgIC49ICIgTE9XRVIocy5ub3RpZmljYXRpb25fc3ViamVjdCkgTElLRSBMT1dFUignIgogICAgICAgICAgICAuICRQYXJhbXtOb3RpZmljYXRpb25TdWJqZWN0fQogICAgICAgICAgICAuICInKSAkU2VsZi0+e0xpa2VFc2NhcGVTdHJpbmd9IjsKICAgIH0KCiAgICAjIHNlYXJjaCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBib2R5CiAgICBpZiAoICRQYXJhbXtOb3RpZmljYXRpb25Cb2R5fSApIHsKICAgICAgICAkUGFyYW17Tm90aWZpY2F0aW9uQm9keX0gPSAiXCUkUGFyYW17Tm90aWZpY2F0aW9uQm9keX1cJSI7CiAgICAgICAgJFBhcmFte05vdGlmaWNhdGlvbkJvZHl9ID1+IHMvXCovJS9nOwogICAgICAgICRQYXJhbXtOb3RpZmljYXRpb25Cb2R5fSA9fiBzLyUlLyUvZzsKICAgICAgICAkUGFyYW17Tm90aWZpY2F0aW9uQm9keX0gPSAkREJPYmplY3QtPlF1b3RlKCAkUGFyYW17Tm90aWZpY2F0aW9uQm9keX0sICdMaWtlJyApOwogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0CiAgICAgICAgICAgIC49ICIgTE9XRVIocy5ub3RpZmljYXRpb25fYm9keSkgTElLRSBMT1dFUignIgogICAgICAgICAgICAuICRQYXJhbXtOb3RpZmljYXRpb25Cb2R5fQogICAgICAgICAgICAuICInKSAkU2VsZi0+e0xpa2VFc2NhcGVTdHJpbmd9IjsKICAgIH0KCiAgICAjIHNlYXJjaCBmb3IgdGhlIHN0YXR1cwogICAgaWYgKCAkUGFyYW17U3RhdHVzfSApIHsKICAgICAgICAkUGFyYW17U3RhdHVzfSA9ICJcJSRQYXJhbXtTdGF0dXN9XCUiOwogICAgICAgICRQYXJhbXtTdGF0dXN9ID1+IHMvXCovJS9nOwogICAgICAgICRQYXJhbXtTdGF0dXN9ID1+IHMvJSUvJS9nOwogICAgICAgICRQYXJhbXtTdGF0dXN9ID0gJERCT2JqZWN0LT5RdW90ZSggJFBhcmFte1N0YXR1c30sICdMaWtlJyApOwogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0IC49ICIgTE9XRVIocy5zdGF0dXMpIExJS0UgTE9XRVIoJyIgLiAkUGFyYW17U3RhdHVzfSAuICInKSAkU2VsZi0+e0xpa2VFc2NhcGVTdHJpbmd9IjsKICAgIH0KCiAgICAjIHNlYXJjaCBmb3IgbXVsdGlwbGUgc3RhdHVzCiAgICBpZiAoIElzQXJyYXlSZWZXaXRoRGF0YSggJFBhcmFte1N0YXRlc30gKSApIHsKCiAgICAgICAgbXkgJFN0YXRlcyA9IGpvaW4gJywgJywgbWFwIHtxcSgnJF8nKX0gQHsgJFBhcmFte1N0YXRlc30gfTsKCiAgICAgICAgaWYgKCRFeHQpIHsKICAgICAgICAgICAgJEV4dCAuPSAnIEFORCc7CiAgICAgICAgfQogICAgICAgICRFeHQgLj0gIiBzLnN0YXR1cyBJTiAoJFN0YXRlcykgIjsKICAgIH0KCiAgICAjIHNlYXJjaCBmb3IgdGhlIGNyZWF0ZSBieQogICAgaWYgKCAkUGFyYW17Q3JlYXRlQnl9ICkgewogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0IC49ICIgcy5jcmVhdGVfYnkgPSAiIC4gJFBhcmFte0NyZWF0ZUJ5fTsKICAgIH0KCiAgICAjIHNlYXJjaCBmb3IgdGhlIGNoYW5nZSBieQogICAgaWYgKCAkUGFyYW17Q2hhbmdlQnl9ICkgewogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0IC49ICIgcy5jaGFuZ2VfYnkgPSAiIC4gJFBhcmFte0NoYW5nZUJ5fTsKICAgIH0KCiAgICAjIHNldCB0aW1lIHBhcmFtcwogICAgbXkgJVRpbWVQYXJhbXMgPSAoCgogICAgICAgICMgdGltZXMgaW4gY2hhbmdlX2l0ZW0KICAgICAgICBDcmVhdGVUaW1lTmV3ZXJEYXRlID0+ICdzLmNyZWF0ZV90aW1lID49JywKICAgICAgICBDcmVhdGVUaW1lT2xkZXJEYXRlID0+ICdzLmNyZWF0ZV90aW1lIDw9JywKICAgICAgICBDaGFuZ2VUaW1lTmV3ZXJEYXRlID0+ICdzLmNoYW5nZV90aW1lID49JywKICAgICAgICBDaGFuZ2VUaW1lT2xkZXJEYXRlID0+ICdzLmNoYW5nZV90aW1lIDw9JywKICAgICk7CgogICAgIyBjaGVjayBhbmQgYWRkIHRpbWUgcGFyYW1zIHRvIFdIRVJFCiAgICBUSU1FUEFSQU06CiAgICBmb3IgbXkgJFRpbWVQYXJhbSAoIHNvcnQga2V5cyAlVGltZVBhcmFtcyApIHsKCiAgICAgICAgbmV4dCBUSU1FUEFSQU0gaWYgISRQYXJhbXskVGltZVBhcmFtfTsKCiAgICAgICAgIyBjaGVjayBmb3JtYXQKICAgICAgICBpZiAoICRQYXJhbXskVGltZVBhcmFtfSAhfiAvXGRcZFxkXGQtKFxkXGR8XGQpLShcZFxkfFxkKSAoXGRcZHxcZCk6KFxkXGR8XGQpOihcZFxkfFxkKS8gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJUaGUgcGFyYW1ldGVyICRUaW1lUGFyYW0gaGFzIGFuIGludmFsaWQgZGF0ZSBmb3JtYXQhIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICRQYXJhbXskVGltZVBhcmFtfSA9ICREQk9iamVjdC0+UXVvdGUoICRQYXJhbXskVGltZVBhcmFtfSApOwoKICAgICAgICAjIGFkZCB0aW1lIHBhcmFtZXRlciB0byBXSEVSRQogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQgJzsKICAgICAgICB9CiAgICAgICAgJEV4dCAuPSAiJFRpbWVQYXJhbXN7JFRpbWVQYXJhbX0gJyRQYXJhbXskVGltZVBhcmFtfSciOwogICAgfQoKICAgICMgYWRkIFdIRVJFIHN0YXRlbWVudAogICAgaWYgKCRFeHQpIHsKICAgICAgICAkRXh0ID0gJyBXSEVSRSAnIC4gJEV4dDsKICAgIH0KCiAgICAjIGFkZCB0aGUgT1JERVIgQlkgY2xhdXNlCiAgICBpZiAoQFNRTE9yZGVyQnkpIHsKICAgICAgICAkRXh0IC49ICdPUkRFUiBCWSAnOwogICAgICAgICRFeHQgLj0gam9pbiAnLCAnLCBAU1FMT3JkZXJCeTsKICAgICAgICAkRXh0IC49ICcgJzsKICAgICAgICBpZiAoQE9yZGVyQnlGaWVsZHMpIHsKICAgICAgICAgICAgJFNRTCAuPSAnLCAnIC4gam9pbiAnLCAnLCBAT3JkZXJCeUZpZWxkczsKICAgICAgICB9CiAgICB9CgogICAgIyBhZGQgZXh0ZW5kZWQgU1FMCiAgICAkU1FMIC49ICcgRlJPTSBzdXJ2ZXkgcyAnOwogICAgJFNRTCAuPSAkRXh0OwoKICAgICMgYXNrIGRhdGFiYXNlCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgICA9PiAkU1FMLAogICAgICAgIExpbWl0ID0+ICRQYXJhbXtMaW1pdH0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgQExpc3Q7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBwdXNoIEBMaXN0LCAkUm93WzBdOwogICAgfQoKICAgIHJldHVybiBATGlzdDsKfQoKPWhlYWQyIFN1cnZleVN0YXR1c1NldCgpCgp0byBzZXQgYSBuZXcgc3VydmV5IHN0YXR1cyAoVmFsaWQsIEludmFsaWQsIE1hc3RlcikKCiAgICAkU3RhdHVzU2V0ID0gJFN1cnZleU9iamVjdC0+U3VydmV5U3RhdHVzU2V0KAogICAgICAgIFN1cnZleUlEICA9PiAxMjMsCiAgICAgICAgTmV3U3RhdHVzID0+ICdNYXN0ZXInCiAgICApOwoKPWN1dAoKc3ViIFN1cnZleVN0YXR1c1NldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhTdXJ2ZXlJRCBOZXdTdGF0dXMpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBkYXRhYmFzZSBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZ2V0IGN1cnJlbnQgc3RhdHVzCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBTRUxFQ1Qgc3RhdHVzCiAgICAgICAgICAgIEZST00gc3VydmV5CiAgICAgICAgICAgIFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1N1cnZleUlEfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFN0YXR1cyA9ICcnOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJFN0YXR1cyA9ICRSb3dbMF07CiAgICB9CgogICAgIyB0aGUgY3VycmVudCBzdGF0dXMKICAgIGlmICggJFN0YXR1cyBlcSAnTmV3JyB8fCAkU3RhdHVzIGVxICdJbnZhbGlkJyApIHsKCiAgICAgICAgIyBnZXQgdGhlIHF1ZXN0aW9uIGlkcwogICAgICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgU0VMRUNUIGlkCiAgICAgICAgICAgICAgICBGUk9NIHN1cnZleV9xdWVzdGlvbgogICAgICAgICAgICAgICAgV0hFUkUgc3VydmV5X2lkID0gPycsCiAgICAgICAgICAgIEJpbmQgID0+IFsgXCRQYXJhbXtTdXJ2ZXlJRH0gXSwKICAgICAgICAgICAgTGltaXQgPT4gMSwKICAgICAgICApOwoKICAgICAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgICAgICBteSAkUXVlc3Q7CiAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgICAgICRRdWVzdCA9ICRSb3dbMF07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJ05vUXVlc3Rpb24nIGlmICEkUXVlc3Q7CgogICAgICAgIG15ICVRdWVzdGlvblR5cGUgPSAoCiAgICAgICAgICAgIFJhZGlvICAgID0+ICdSYWRpbycsCiAgICAgICAgICAgIENoZWNrYm94ID0+ICdDaGVja2JveCcsCiAgICAgICAgICAgIE5QUyAgICAgID0+ICdOUFMnLAogICAgICAgICk7CgogICAgICAgICMgZ2V0IGFsbCBxdWVzdGlvbnMgKHR5cGUgcmFkaW8sIGNoZWNrLWJveCBhbmQgTlBTKQogICAgICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgU0VMRUNUIGlkLCBxdWVzdGlvbl90eXBlCiAgICAgICAgICAgICAgICBGUk9NIHN1cnZleV9xdWVzdGlvbgogICAgICAgICAgICAgICAgV0hFUkUgc3VydmV5X2lkID0gPwogICAgICAgICAgICAgICAgICAgIEFORCAocXVlc3Rpb25fdHlwZSA9ID8gT1IgcXVlc3Rpb25fdHlwZSA9ID8gT1IgcXVlc3Rpb25fdHlwZSA9ID8pJywKICAgICAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17U3VydmV5SUR9LCBcJFF1ZXN0aW9uVHlwZXtSYWRpb30sIFwkUXVlc3Rpb25UeXBle0NoZWNrYm94fSwgXCRRdWVzdGlvblR5cGV7TlBTfSwgXSwKICAgICAgICApOwoKICAgICAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgICAgICBteSBAUXVlc3Rpb25JRHM7CiAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgICAgIG15IEBRdWVzdGlvbklEID0gKAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElEICAgPT4gJFJvd1swXSwKICAgICAgICAgICAgICAgICAgICBUeXBlID0+ICRSb3dbMV0sCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcHVzaCggQFF1ZXN0aW9uSURzLCBAUXVlc3Rpb25JRCApOwogICAgICAgIH0KCiAgICAgICAgZm9yIG15ICRRdWVzdGlvbklEIChAUXVlc3Rpb25JRHMpIHsKCiAgICAgICAgICAgICMgZ2V0IGFsbCBhbnN3ZXIgaWRzIG9mIGEgcXVlc3Rpb24KICAgICAgICAgICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgICAgIFNFTEVDVCBDT1VOVChpZCkKICAgICAgICAgICAgICAgICAgICBGUk9NIHN1cnZleV9hbnN3ZXIKICAgICAgICAgICAgICAgICAgICBXSEVSRSBxdWVzdGlvbl9pZCA9ID8nLAogICAgICAgICAgICAgICAgQmluZCAgPT4gWyBcJFF1ZXN0aW9uSUQtPntJRH0gXSwKICAgICAgICAgICAgICAgIExpbWl0ID0+IDEsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgICAgICAgICAgbXkgJENvdW50ZXI7CiAgICAgICAgICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICAgICAgICAgJENvdW50ZXIgPSAkUm93WzBdOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoICRRdWVzdGlvbklELT57VHlwZX0gZXEgJ1JhZGlvJyApIHsKICAgICAgICAgICAgICAgIHJldHVybiAnSW5jb21wbGV0ZVF1ZXN0aW9uJyBpZiAkQ291bnRlciA8IDI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzaWYgKCAkUXVlc3Rpb25JRC0+e1R5cGV9IGVxICdDaGVja2JveCcgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJ0luY29tcGxldGVRdWVzdGlvbicgaWYgJENvdW50ZXIgPCAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2lmICggJFF1ZXN0aW9uSUQtPntUeXBlfSBlcSAnTlBTJyApIHsKICAgICAgICAgICAgICAgIHJldHVybiAnSW5jb21wbGV0ZVF1ZXN0aW9uJyBpZiAkQ291bnRlciA8IDI7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgc2V0IG5ldyBzdGF0dXMKICAgICAgICBpZiAoICRQYXJhbXtOZXdTdGF0dXN9IGVxICdNYXN0ZXInICkgewogICAgICAgICAgICBteSAkVmFsaWRTdGF0dXMgPSAnVmFsaWQnOwogICAgICAgICAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgICAgIFVQREFURSBzdXJ2ZXkKICAgICAgICAgICAgICAgICAgICBTRVQgc3RhdHVzID0gPwogICAgICAgICAgICAgICAgICAgIFdIRVJFIHN0YXR1cyA9ID8nLAogICAgICAgICAgICAgICAgQmluZCA9PiBbIFwkVmFsaWRTdGF0dXMsIFwkUGFyYW17TmV3U3RhdHVzfSwgXSwKICAgICAgICAgICAgKTsKCiAgICAgICAgfQogICAgICAgIGlmICggJFBhcmFte05ld1N0YXR1c30gZXEgJ1ZhbGlkJyB8fCAkUGFyYW17TmV3U3RhdHVzfSBlcSAnTWFzdGVyJyApIHsKICAgICAgICAgICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgICAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgICAgICAgICBVUERBVEUgc3VydmV5IFNFVCBzdGF0dXMgPSA/CiAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICAgICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte05ld1N0YXR1c30sIFwkUGFyYW17U3VydmV5SUR9LCBdLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuICdTdGF0dXNTZXQnOwogICAgICAgIH0KICAgIH0KICAgIGVsc2lmICggJFN0YXR1cyBlcSAnVmFsaWQnICkgewoKICAgICAgICAjIHNldCBzdGF0dXMgTWFzdGVyCiAgICAgICAgaWYgKCAkUGFyYW17TmV3U3RhdHVzfSBlcSAnTWFzdGVyJyApIHsKCiAgICAgICAgICAgICMgc2V0IGFueSAnTWFzdGVyJyBzdXJ2ZXkgdG8gJ1ZhbGlkJwogICAgICAgICAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgICAgIFVQREFURSBzdXJ2ZXkKICAgICAgICAgICAgICAgICAgICBTRVQgc3RhdHVzID0gPwogICAgICAgICAgICAgICAgICAgIFdIRVJFIHN0YXR1cyA9ID8nLAogICAgICAgICAgICAgICAgQmluZCA9PiBbIFwkU3RhdHVzLCBcJFBhcmFte05ld1N0YXR1c30sIF0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHNldCAnTWFzdGVyJyB0byBnaXZlbiBzdXJ2ZXkKICAgICAgICAgICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgICAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgICAgICAgICBVUERBVEUgc3VydmV5CiAgICAgICAgICAgICAgICAgICAgU0VUIHN0YXR1cyA9ID8KICAgICAgICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nLAogICAgICAgICAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17TmV3U3RhdHVzfSwgXCRQYXJhbXtTdXJ2ZXlJRH0sIF0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm4gJ1N0YXR1c1NldCc7CiAgICAgICAgfQoKICAgICAgICAjIHNldCBzdGF0dXMgSW52YWxpZAogICAgICAgIGVsc2lmICggJFBhcmFte05ld1N0YXR1c30gZXEgJ0ludmFsaWQnICkgewogICAgICAgICAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgICAgIFVQREFURSBzdXJ2ZXkKICAgICAgICAgICAgICAgICAgICBTRVQgc3RhdHVzID0gPwogICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPycsCiAgICAgICAgICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtOZXdTdGF0dXN9LCBcJFBhcmFte1N1cnZleUlEfSwgXSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybiAnU3RhdHVzU2V0JzsKICAgICAgICB9CiAgICB9CiAgICBlbHNpZiAoICRTdGF0dXMgZXEgJ01hc3RlcicgKSB7CgogICAgICAgICMgc2V0IHN0YXR1cyBWYWxpZAogICAgICAgIGlmICggJFBhcmFte05ld1N0YXR1c30gZXEgJ1ZhbGlkJyB8fCAkUGFyYW17TmV3U3RhdHVzfSBlcSAnSW52YWxpZCcgKSB7CiAgICAgICAgICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgICAgICAgICAgVVBEQVRFIHN1cnZleQogICAgICAgICAgICAgICAgICAgIFNFVCBzdGF0dXMgPSA/CiAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICAgICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte05ld1N0YXR1c30sIFwkUGFyYW17U3VydmV5SUR9LCBdLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuICdTdGF0dXNTZXQnOwogICAgICAgIH0KICAgIH0KfQoKPWhlYWQyIFN1cnZleVF1ZXVlR2V0KCkKCmdldCBhIHN1cnZleV9xdWV1ZSByZWxhdGlvbiBhcyBhbiBhcnJheSByZWZlcmVuY2UKCm15ICRRdWV1ZXNSZWYgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlRdWV1ZUdldCgKICAgIFN1cnZleUlEID0+IDMsCik7Cgo9Y3V0CgpzdWIgU3VydmV5UXVldWVHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte1N1cnZleUlEfSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ05lZWQgU3VydmV5SUQhJywKICAgICAgICApOwoKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGdldCBxdWV1ZSBpZHMgZnJvbSBkYXRhYmFzZQogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCBxdWV1ZV9pZAogICAgICAgICAgICBGUk9NIHN1cnZleV9xdWV1ZQogICAgICAgICAgICBXSEVSRSBzdXJ2ZXlfaWQgPSA/CiAgICAgICAgICAgIE9SREVSIEJZIHF1ZXVlX2lkIEFTQycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17U3VydmV5SUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgQFF1ZXVlTGlzdDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgIHB1c2ggQFF1ZXVlTGlzdCwgJFJvd1swXTsKICAgIH0KCiAgICByZXR1cm4gXEBRdWV1ZUxpc3Q7Cn0KCj1oZWFkMiBTdXJ2ZXlRdWV1ZVNldCgpCgphZGQgYSBzdXJ2ZXlfcXVldWUgcmVsYXRpb24KCm15ICRSZXN1bHQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlRdWV1ZVNldCgKICAgIFN1cnZleUlEID0+IDMsCiAgICBRdWV1ZUlEcyA9PiBbMSwgN10sCik7Cgo9Y3V0CgpzdWIgU3VydmV5UXVldWVTZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoU3VydmV5SUQgUXVldWVJRHMpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyByZW1vdmUgYWxsIGV4aXN0aW5nIHJlbGF0aW9ucwogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIERFTEVURSBGUk9NIHN1cnZleV9xdWV1ZQogICAgICAgICAgICBXSEVSRSBzdXJ2ZXlfaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtTdXJ2ZXlJRH0gXSwKICAgICk7CgogICAgIyBhZGQgYWxsIHN1cnZleV9xdWV1ZSByZWxhdGlvbnMgdG8gZGF0YWJhc2UKICAgIGZvciBteSAkUXVldWVJRCAoIEB7ICRQYXJhbXtRdWV1ZUlEc30gfSApIHsKCiAgICAgICAgIyBhZGQgc3VydmV5X3F1ZXVlIHJlbGF0aW9uIHRvIGRhdGFiYXNlCiAgICAgICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgSU5TRVJUIElOVE8gc3VydmV5X3F1ZXVlIChzdXJ2ZXlfaWQsIHF1ZXVlX2lkKQogICAgICAgICAgICAgICAgVkFMVUVTICg/LCA/KScsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte1N1cnZleUlEfSwgXCRRdWV1ZUlELCBdLAogICAgICAgICk7CiAgICB9CgogICAgcmV0dXJuIDE7Cn0KCj1oZWFkMiBQdWJsaWNTdXJ2ZXlLZXlHZXQoKQoKZ2V0IGFsbCBwdWJsaWMgc3VydmV5IGtleXMgYXMgYW4gYXJyYXkgcmVmZXJlbmNlCgpteSAkUHVibGljU3VydmV5S2V5c1JlZiA9ICRTdXJ2ZXlPYmplY3QtPlB1YmxpY1N1cnZleUtleUdldCgKICAgIFN1cnZleUlEID0+IDMsCiAgICBMaW1pdCAgICA9PiAxLCAjIG9wdGlvbmFsCik7Cgo9Y3V0CgpzdWIgUHVibGljU3VydmV5S2V5R2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtTdXJ2ZXlJRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFN1cnZleUlEIScsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBwcmVwYXJlIFNRTAogICAgbXkgJFNRTCAgICAgID0gJ1NFTEVDVCBwdWJsaWNfc3VydmV5X2tleSBGUk9NIHN1cnZleV9yZXF1ZXN0ICc7CiAgICBteSAkU1FMV2hlcmUgPSAiV0hFUkUgc3VydmV5X2lkID0gJFBhcmFte1N1cnZleUlEfSI7CgogICAgJFNRTCAuPSAkU1FMV2hlcmU7CgogICAgIyBnZXQgcXVldWUgaWRzIGZyb20gZGF0YWJhc2UKICAgICREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgICA9PiAkU1FMLAogICAgICAgIExpbWl0ID0+ICRQYXJhbXtMaW1pdH0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgQFB1YmxpY1N1cnZleUtleUxpc3Q7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBwdXNoIEBQdWJsaWNTdXJ2ZXlLZXlMaXN0LCAkUm93WzBdOwogICAgfQoKICAgIHJldHVybiBcQFB1YmxpY1N1cnZleUtleUxpc3Q7Cn0KCj1oZWFkMiBQdWJsaWNTdXJ2ZXlHZXQoKQoKdG8gZ2V0IGFsbCBwdWJsaWMgYXR0cmlidXRlcyBvZiBhIHN1cnZleQoKICAgIG15ICVQdWJsaWNTdXJ2ZXkgPSAkU3VydmV5T2JqZWN0LT5QdWJsaWNTdXJ2ZXlHZXQoCiAgICAgICAgICAgIFB1YmxpY1N1cnZleUtleSA9PiAnQXc1ZGUzWGY1cUEnLAogICAgICAgICAgICBJbnZhbGlkICAgICAgICAgPT4gMSwgIyBvcHRpb25hbCB0byBrbm93IGlmIG9uZSBrZXkgd2FzIGFscmVhZHkgdXNlZC4KICAgICk7Cgo9Y3V0CgpzdWIgUHVibGljU3VydmV5R2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggIWRlZmluZWQgJFBhcmFte1B1YmxpY1N1cnZleUtleX0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFN1cnZleUlEIScsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIG15ICRTUUwgPSAnCiAgICAgICAgU0VMRUNUIHN1cnZleV9pZAogICAgICAgIEZST00gc3VydmV5X3JlcXVlc3QKICAgICAgICBXSEVSRSBwdWJsaWNfc3VydmV5X2tleSA9ID8nOwoKICAgIG15ICRWYWxpZFN0cmcgPSAnIEFORCB2YWxpZF9pZCA9IDEnOwoKICAgICMgaWYgbm90IGludmFsaWQgc2hvdyBqdXN0IHZhbGlkIGtleXMKICAgIGlmICggJFBhcmFte0ludmFsaWR9ICkgewogICAgICAgICRWYWxpZFN0cmcgPSAnIEFORCB2YWxpZF9pZCA9IDAnOwogICAgfQogICAgJFNRTCAuPSAkVmFsaWRTdHJnOwoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBnZXQgcmVxdWVzdAogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMICAgPT4gJFNRTCwKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17UHVibGljU3VydmV5S2V5fSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFN1cnZleUlEOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJFN1cnZleUlEID0gJFJvd1swXTsKICAgIH0KCiAgICByZXR1cm4gKCkgaWYgISRTdXJ2ZXlJRDsKCiAgICAjIGdldCBzdXJ2ZXkKICAgIG15ICRNYXN0ZXJTdGF0dXMgPSAnTWFzdGVyJzsKICAgIG15ICRWYWxpZFN0YXR1cyAgPSAnVmFsaWQnOwogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkLCBzdXJ2ZXludW1iZXIsIHRpdGxlLCBpbnRyb2R1Y3Rpb24KICAgICAgICAgICAgRlJPTSBzdXJ2ZXkKICAgICAgICAgICAgV0hFUkUgaWQgPSA/CiAgICAgICAgICAgICAgICBBTkQgKHN0YXR1cyA9ID8gT1Igc3RhdHVzID0gPyknLAogICAgICAgIEJpbmQgID0+IFsgXCRTdXJ2ZXlJRCwgXCRNYXN0ZXJTdGF0dXMsIFwkVmFsaWRTdGF0dXMsIF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAlRGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICREYXRhe1N1cnZleUlEfSAgICAgPSAkUm93WzBdOwogICAgICAgICREYXRhe1N1cnZleU51bWJlcn0gPSAkUm93WzFdOwogICAgICAgICREYXRhe1RpdGxlfSAgICAgICAgPSAkUm93WzJdOwogICAgICAgICREYXRhe0ludHJvZHVjdGlvbn0gPSAkUm93WzNdOwogICAgfQoKICAgIHJldHVybiAlRGF0YTsKfQoKPWhlYWQyIFB1YmxpY1N1cnZleUludmFsaWRTZXQoKQoKdG8gc2V0IGEgcmVxdWVzdCBpbnZhbGlkCgogICAgJFN1cnZleU9iamVjdC0+UHVibGljU3VydmV5SW52YWxpZFNldCgKICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJ2FWa2RFODJEdzJxdzZlckNkYScsCiAgICApOwoKPWN1dAoKc3ViIFB1YmxpY1N1cnZleUludmFsaWRTZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte1B1YmxpY1N1cnZleUtleX0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFN1cnZleUlEIScKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGdldCBkYXRhYmFzZSBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZ2V0IHJlcXVlc3QKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCBpZAogICAgICAgICAgICBGUk9NIHN1cnZleV9yZXF1ZXN0CiAgICAgICAgICAgIFdIRVJFIHB1YmxpY19zdXJ2ZXlfa2V5ID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1B1YmxpY1N1cnZleUtleX0gXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICRSZXF1ZXN0SUQ7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkUmVxdWVzdElEID0gJFJvd1swXTsKICAgIH0KCiAgICByZXR1cm4gaWYgISRSZXF1ZXN0SUQ7CgogICAgIyB1cGRhdGUgcmVxdWVzdAogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFVQREFURSBzdXJ2ZXlfcmVxdWVzdAogICAgICAgICAgICBTRVQgdmFsaWRfaWQgPSAwLCB2b3RlX3RpbWUgPSBjdXJyZW50X3RpbWVzdGFtcAogICAgICAgICAgICBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFJlcXVlc3RJRCBdLAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIEVsZW1lbnRFeGlzdHMoKQoKZXhpc3RzIGFuIHN1cnZleS0sIHF1ZXN0aW9uLSwgYW5zd2VyLSBvciByZXF1ZXN0LWVsZW1lbnQKCiAgICBteSAkRWxlbWVudEV4aXN0cyA9ICRTdXJ2ZXlPYmplY3QtPkVsZW1lbnRFeGlzdHMoCiAgICAgICAgSUQgPT4gMTIzLCAgICAgICAgICAgIyBTdXJ2ZXlJRCwgUXVlc3Rpb25JRCwgQW5zd2VySUQsIFJlcXVlc3RJRAogICAgICAgIEVsZW1lbnQgPT4gJ1N1cnZleScgICMgU3VydmV5LCBRdWVzdGlvbiwgQW5zd2VyLCBSZXF1ZXN0CiAgICApOwoKPWN1dAoKc3ViIEVsZW1lbnRFeGlzdHMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoRWxlbWVudElEIEVsZW1lbnQpKSB7CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIG15ICVMb29rdXBUYWJsZSA9ICgKICAgICAgICBTdXJ2ZXkgICA9PiAnc3VydmV5JywKICAgICAgICBRdWVzdGlvbiA9PiAnc3VydmV5X3F1ZXN0aW9uJywKICAgICAgICBBbnN3ZXIgICA9PiAnc3VydmV5X2Fuc3dlcicsCiAgICAgICAgUmVxdWVzdCAgPT4gJ3N1cnZleV9yZXF1ZXN0JywKICAgICk7CgogICAgbXkgJFRhYmxlID0gJExvb2t1cFRhYmxleyAkUGFyYW17RWxlbWVudH0gfTsKICAgIGlmICggISRUYWJsZSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkVsZW1lbnQ6ICckUGFyYW17RWxlbWVudH0nIGlzIG5vdCB2YWxpZCEiLAogICAgICAgICk7CgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBteSAkU1FMID0gJwogICAgICAgICAgICBTRUxFQ1QgQ09VTlQoaWQpCiAgICAgICAgICAgIEZST00gJzsKICAgICRTUUwgLj0gJFRhYmxlOwogICAgJFNRTCAuPSAnIFdIRVJFIGlkID0gPyc7CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGNvdW50IGVsZW1lbnQKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICRTUUwsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte0VsZW1lbnRJRH0gXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICRFbGVtZW50RXhpc3RzID0gJ05vJzsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgIGlmICggJFJvd1swXSApIHsKICAgICAgICAgICAgJEVsZW1lbnRFeGlzdHMgPSAnWWVzJzsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuICRFbGVtZW50RXhpc3RzOwp9Cgo9aGVhZDIgR2V0UmljaFRleHREb2N1bWVudENvbXBsZXRlKCkKCmdldCBzb21lIHRleHQgcmVhZHkgdG8gc2hvdyBhcyByaWNoLXRleHQgYXR0YWNobWVudCBpbi1saW5lCgogICAgbXkgJFJpY2hUZXh0RG9jdW1lbnRDb21wbGV0ZSA9ICRTdXJ2ZXlPYmplY3QtPkdldFJpY2hUZXh0RG9jdW1lbnRDb21wbGV0ZSgKICAgICAgICBUZXh0ID0+ICRSaWNoVGV4dCwKICAgICk7Cgo9Y3V0CgpzdWIgR2V0UmljaFRleHREb2N1bWVudENvbXBsZXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRleHQpKSB7CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50IHBhcmFtZXRlciEiLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGNsZWFuIEhUTUwgc3RyaW5nCiAgICBteSAkVGV4dCA9ICRQYXJhbXtUZXh0fTsKICAgICRUZXh0ID1+IHN7XEFcJGh0bWxcL3RleHRcJFxzKC4qKX17JDF9eG1zOwoKICAgICMgZ2V0IGRvY3VtZW50IGNvbXBsZXRlCiAgICBteSAkSFRNTERvY3VtZW50Q29tcGxldGUgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SFRNTFV0aWxzJyktPkRvY3VtZW50Q29tcGxldGUoCiAgICAgICAgU3RyaW5nICA9PiAkVGV4dCwKICAgICAgICBDaGFyc2V0ID0+ICd1dGYtOCcsCiAgICApOwoKICAgIHJldHVybiAkSFRNTERvY3VtZW50Q29tcGxldGU7Cn0KCj1oZWFkMiBfQnVpbGRTZW5kQ29uZGl0aW9uU3RyZygpCgpidWlsZCBzZW5kIGNvbmRpdGlvbiBzdHJpbmcgd2l0aCB0aGUgc2luZ2xlIGl0ZW1zCgogICAgbXkgJVNlbmRDb25kaXRpb25zID0gJFN1cnZleU9iamVjdC0+X0J1aWxkU2VuZENvbmRpdGlvblN0cmcoCiAgICAgICAgVGlja2V0VHlwZUlEcyAgICAgICAgICA9PiBbMSwgMiwgM10sICMgKG9wdGlvbmFsKQogICAgICAgIFNlcnZpY2VJRHMgICAgICAgICAgICAgPT4gWzEsIDIsIDNdLCAjIChvcHRpb25hbCkKICAgICAgICBDdXN0b21lclVzZXJDb25kaXRpb25zID0+IHsKICAgICAgICAgICAgJ1VzZXJGaXJzdG5hbWUnID0+IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAnTmVnYXRpb24nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ1JlZ0V4cFZhbHVlJyA9PiAnXk1pJwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAnTmVnYXRpb24nID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJ1JlZ0V4cFZhbHVlJyA9PiAnXkthJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgIF0sCiAgICAgICAgfSwgIyAob3B0aW9uYWwpCiAgICApOwoKPWN1dAoKc3ViIF9CdWlsZFNlbmRDb25kaXRpb25TdHJnIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBidWlsZCBzZW5kIGNvbmRpdGlvbiBoYXNoCiAgICBteSAlU2VuZENvbmRpdGlvbnM7CgogICAgSVRFTToKICAgIGZvciBteSAkSXRlbSAocXcoVGlja2V0VHlwZUlEcyBTZXJ2aWNlSURzIEN1c3RvbWVyVXNlckNvbmRpdGlvbnMpKSB7CiAgICAgICAgbmV4dCBJVEVNIGlmICggIUlzQXJyYXlSZWZXaXRoRGF0YSggJFBhcmFteyRJdGVtfSApICYmICFJc0hhc2hSZWZXaXRoRGF0YSggJFBhcmFteyRJdGVtfSApICk7CgogICAgICAgICRTZW5kQ29uZGl0aW9uc3skSXRlbX0gPSAkUGFyYW17JEl0ZW19OwogICAgfQoKICAgICMgZHVtcCBzZW5kIGNvbmRpdGlvbnMgYXMgc3RyaW5nCiAgICBteSAkU2VuZENvbmRpdGlvblN0cmcgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6WUFNTCcpLT5EdW1wKCBEYXRhID0+IFwlU2VuZENvbmRpdGlvbnMgKTsKCiAgICAjIE1ha2Ugc3VyZSB0aGUgcmVzdWx0aW5nIHN0cmluZyBoYXMgdGhlIFVURi04IGZsYWcuIFlBTUwgb25seSBzZXRzIGl0IGlmCiAgICAjICAgcGFydCBvZiB0aGUgZGF0YSBhbHJlYWR5IGhhZCBpdC4KICAgIHV0Zjg6OnVwZ3JhZGUoJFNlbmRDb25kaXRpb25TdHJnKTsKCiAgICByZXR1cm4gJFNlbmRDb25kaXRpb25TdHJnOwp9Cgo9aGVhZDIgX1NlbmRDb25kaXRpb25DaGVja0N1c3RvbWVyRmllbGQoKQoKVGhpcyBmdW5jdGlvbiBjb2xsZWN0cyBzb21lIGZpZWxkIGNvbmZpZyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjdXN0b21lciB1c2VyIG1hcC4KSW4gT1RPQk8gMTAsIHRoZXJlIGlzIGEgZnVuY3Rpb24gaW4gdGhlIEN1c3RvbWVyVXNlci5wbSB0aGF0IHNob3VsZCBiZSB1c2VkIGluc3RlYWQhISEKCiAgICBteSAlRmllbGRDb25maWcgPSAkU3VydmV5T2JqZWN0LT5fU2VuZENvbmRpdGlvbkNoZWNrQ3VzdG9tZXJGaWVsZCgKICAgICAgICBGaWVsZE5hbWUgPT4gJ1VzZXJFbWFpbCcsCiAgICAgICAgU291cmNlICAgID0+ICdDdXN0b21lclVzZXInLCAjIG9wdGlvbmFsCiAgICApOwoKUmV0dXJucyBvbmUgZmllbGQgY29uZmlnIGluZm9ybWF0aW9uLgoKICAgICVGaWVsZENvbmZpZyA9ICgKICAgICAgICBMYWJlbCAgICAgICAgID0+ICdFbWFpbCcsCiAgICAgICAgRGF0YWJhc2VGaWVsZCA9PiAnZW1haWwnLAogICAgICAgIFN0b3JhZ2VUeXBlICAgPT4gJ3ZhcicsCiAgICApOwoKPWN1dAoKc3ViIF9TZW5kQ29uZGl0aW9uQ2hlY2tDdXN0b21lckZpZWxkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgaWYgKCAhJFBhcmFte0ZpZWxkTmFtZX0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkIEZpZWxkTmFtZSEiCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgbXkgJEN1c3RvbWVyVXNlck9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDdXN0b21lclVzZXInKTsKCiAgICBTT1VSQ0U6CiAgICBmb3IgbXkgJENvdW50ICggJycsIDEgLi4gMTAgKSB7CiAgICAgICAgbmV4dCBTT1VSQ0UgaWYgISRDdXN0b21lclVzZXJPYmplY3QtPnsiQ3VzdG9tZXJVc2VyJENvdW50In07CiAgICAgICAgbmV4dCBTT1VSQ0UgaWYgJFBhcmFte1NvdXJjZX0gJiYgJFBhcmFte1NvdXJjZX0gbmUgIkN1c3RvbWVyVXNlciRDb3VudCI7CgogICAgICAgICMgU2VhcmNoIHRoZSByaWdodCBmaWVsZCBhbmQgcmV0dXJuIHRoZSBsYWJlbC4KICAgICAgICBFTlRSWToKICAgICAgICBmb3IgbXkgJEVudHJ5ICggQHsgJEN1c3RvbWVyVXNlck9iamVjdC0+eyJDdXN0b21lclVzZXIkQ291bnQifS0+e0N1c3RvbWVyVXNlck1hcH0tPntNYXB9IH0gKSB7CiAgICAgICAgICAgIG5leHQgRU5UUlkgaWYgJFBhcmFte0ZpZWxkTmFtZX0gbmUgJEVudHJ5LT5bMF07CgogICAgICAgICAgICBteSAlRmllbGRDb25maWcgPSAoCiAgICAgICAgICAgICAgICBMYWJlbCAgICAgICAgID0+ICRFbnRyeS0+WzFdLAogICAgICAgICAgICAgICAgRGF0YWJhc2VGaWVsZCA9PiAkRW50cnktPlsyXSwKICAgICAgICAgICAgICAgIFN0b3JhZ2VUeXBlICAgPT4gJEVudHJ5LT5bNV0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm4gJUZpZWxkQ29uZmlnOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm47Cn0KCj1oZWFkMiBfU2VuZENvbmRpdGlvbkdldEZpZWxkU2VsZWN0aW9ucygpCgpSZXR1cm5zIHRoZSBzZWxlY3Rpb25zIGZvciB0aGUgZ2l2ZW4gZmllbGQgKG1lcmdlZCBmcm9tIGFsbCBzb3VyY2VzKS4KSW4gT1RPQk8gMTAsIHRoZXJlIGlzIGEgZnVuY3Rpb24gaW4gdGhlIEN1c3RvbWVyVXNlci5wbSB0aGF0IHNob3VsZCBiZSB1c2VkIGluc3RlYWQhISEKCiAgICBteSAlU2VsZWN0aW9uc0RhdGEgPSAkU3VydmV5T2JqZWN0LT5fU2VuZENvbmRpdGlvbkdldEZpZWxkU2VsZWN0aW9ucygKICAgICAgICBGaWVsZE5hbWUgPT4gJ1VzZXJFbWFpbCcsCiAgICApOwoKPWN1dAoKc3ViIF9TZW5kQ29uZGl0aW9uR2V0RmllbGRTZWxlY3Rpb25zIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgaWYgKCAhJFBhcmFte0ZpZWxkTmFtZX0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkIEZpZWxkTmFtZSEiCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgbXkgJEN1c3RvbWVyVXNlck9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDdXN0b21lclVzZXInKTsKCiAgICBteSAlU2VsZWN0aW9uc0RhdGE7CgogICAgQ09VTlQ6CiAgICBmb3IgbXkgJENvdW50ICggJycsIDEgLi4gMTAgKSB7CiAgICAgICAgbmV4dCBDT1VOVCBpZiAhJEN1c3RvbWVyVXNlck9iamVjdC0+eyJDdXN0b21lclVzZXIkQ291bnQifTsKICAgICAgICBuZXh0IENPVU5UCiAgICAgICAgICAgIGlmICEkQ3VzdG9tZXJVc2VyT2JqZWN0LT57IkN1c3RvbWVyVXNlciRDb3VudCJ9LT57Q3VzdG9tZXJVc2VyTWFwfS0+e1NlbGVjdGlvbnN9LT57ICRQYXJhbXtGaWVsZE5hbWV9IH07CgogICAgICAgICVTZWxlY3Rpb25zRGF0YSA9ICgKICAgICAgICAgICAgJVNlbGVjdGlvbnNEYXRhLAogICAgICAgICAgICAleyAkQ3VzdG9tZXJVc2VyT2JqZWN0LT57IkN1c3RvbWVyVXNlciRDb3VudCJ9LT57Q3VzdG9tZXJVc2VyTWFwfS0+e1NlbGVjdGlvbnN9LT57ICRQYXJhbXtGaWVsZE5hbWV9IH0gfQogICAgICAgICk7CiAgICB9CgogICAgIyBNYWtlIHN1cmUgdGhlIGVuY29kaW5nIHN0YW1wIGlzIHNldC4KICAgIGZvciBteSAkS2V5ICggc29ydCBrZXlzICVTZWxlY3Rpb25zRGF0YSApIHsKICAgICAgICAkU2VsZWN0aW9uc0RhdGF7JEtleX0gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RW5jb2RlJyktPkVuY29kZUlucHV0KCAkU2VsZWN0aW9uc0RhdGF7JEtleX0gKTsKICAgIH0KCiAgICByZXR1cm4gJVNlbGVjdGlvbnNEYXRhOwp9CgoxOwoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UT0JPIHByb2plY3QgKEw8aHR0cHM6Ly9vdG9iby5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dD4uCgo9Y3V0Cg==</File>
        <File Location="Kernel/System/Survey/Answer.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpTdXJ2ZXk6OkFuc3dlcjsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKCj1oZWFkMSBOQU1FCgpLZXJuZWw6OlN5c3RlbTo6U3VydmV5OjpBbnN3ZXIgLSBzdWIgbW9kdWxlIG9mIEtlcm5lbDo6U3lzdGVtOjpTdXJ2ZXkKCj1oZWFkMSBTWU5PUFNJUwoKQWxsIHN1cnZleSBhbnN3ZXIgZnVuY3Rpb25zLgoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKCj1oZWFkMiBBbnN3ZXJBZGQoKQoKdG8gYWRkIGEgbmV3IGFuc3dlciB0byBhIHF1ZXN0aW9uCgogICAgbXkgJFN1Y2Nlc3MgPSAkU3VydmV5T2JqZWN0LT5BbnN3ZXJBZGQoCiAgICAgICAgVXNlcklEID0+IDEsCiAgICAgICAgUXVlc3Rpb25JRCA9PiAxMCwKICAgICAgICBBbnN3ZXIgPT4gJ1RoZSBBbnN3ZXInLAogICAgKTsKCj1jdXQKCnN1YiBBbnN3ZXJBZGQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVXNlcklEIFF1ZXN0aW9uSUQgQW5zd2VyKSkgewogICAgICAgIGlmICggIWRlZmluZWQgJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGluc2VydCBhbnN3ZXIKICAgIHJldHVybiAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RG8oCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgSU5TRVJUIElOVE8gc3VydmV5X2Fuc3dlciAocXVlc3Rpb25faWQsIGFuc3dlciwgcG9zaXRpb24sIGNyZWF0ZV90aW1lLCBjcmVhdGVfYnksCiAgICAgICAgICAgICAgICBjaGFuZ2VfdGltZSwgY2hhbmdlX2J5KQogICAgICAgICAgICBWQUxVRVMgKCA/LCA/LCAyNTUsIGN1cnJlbnRfdGltZXN0YW1wLCA/LCBjdXJyZW50X3RpbWVzdGFtcCwgPyknLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte1F1ZXN0aW9uSUR9LCBcJFBhcmFte0Fuc3dlcn0sIFwkUGFyYW17VXNlcklEfSwgXCRQYXJhbXtVc2VySUR9LCBdLAogICAgKTsKfQoKPWhlYWQyIEFuc3dlckRlbGV0ZSgpCgp0byBkZWxldGUgYSBhbnN3ZXIgZnJvbSBhIHF1ZXN0aW9uCgogICAgbXkgJFN1Y2Nlc3MgPSAkU3VydmV5T2JqZWN0LT5BbnN3ZXJEZWxldGUoCiAgICAgICAgUXVlc3Rpb25JRCA9PiAxMCwKICAgICAgICBBbnN3ZXJJRCA9PiA0LAogICAgKTsKCj1jdXQKCnN1YiBBbnN3ZXJEZWxldGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoUXVlc3Rpb25JRCBBbnN3ZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZGVsZXRlIGFuc3dlcgogICAgcmV0dXJuICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5EbygKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBERUxFVEUgRlJPTSBzdXJ2ZXlfYW5zd2VyCiAgICAgICAgICAgIFdIRVJFIGlkID0gPwogICAgICAgICAgICAgICAgQU5EIHF1ZXN0aW9uX2lkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17QW5zd2VySUR9LCBcJFBhcmFte1F1ZXN0aW9uSUR9LCBdLAogICAgKTsKfQoKPWhlYWQyIEFuc3dlckdldCgpCgp0byBnZXQgYWxsIGF0dHJpYnV0ZXMgb2YgYSBhbnN3ZXIKCiAgICBteSAlQW5zd2VyID0gJFN1cnZleU9iamVjdC0+QW5zd2VyR2V0KAogICAgICAgIEFuc3dlcklEID0+IDEyMwogICAgKTsKCnJldHVybnM6CgogICAgJUFuc3dlciA9ICgKICAgICAgICBBbnN3ZXJJRCAgID0+IDEsCiAgICAgICAgUXVlc3Rpb25JRCA9PiAyLAogICAgICAgIEFuc3dlciAgICAgPT4gQ2hlY2tCb3hPbmUsCiAgICAgICAgUG9zaXRpb24gICA9PiAyNTUsCiAgICAgICAgQ3JlYXRlVGltZSA9PiAnMjAxNy0wMS0wMSAxMjowMDowMCcsCiAgICAgICAgQ3JlYXRlQnkgICA9PiAxLAogICAgICAgIENoYW5nZVRpbWUgPT4gJzIwMTctMDEtMDEgMTI6MDA6MDAnLAogICAgICAgIENoYW5nZUJ5ICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgQW5zd2VyR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtBbnN3ZXJJRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFF1ZXN0aW9uSUQhJywKICAgICAgICApOwoKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGdldCBhbnN3ZXIKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCBpZCwgcXVlc3Rpb25faWQsIGFuc3dlciwgcG9zaXRpb24sIGNyZWF0ZV90aW1lLCBjcmVhdGVfYnksIGNoYW5nZV90aW1lLCBjaGFuZ2VfYnkKICAgICAgICAgICAgRlJPTSBzdXJ2ZXlfYW5zd2VyCiAgICAgICAgICAgIFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte0Fuc3dlcklEfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJURhdGE7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkRGF0YXtBbnN3ZXJJRH0gICA9ICRSb3dbMF07CiAgICAgICAgJERhdGF7UXVlc3Rpb25JRH0gPSAkUm93WzFdOwogICAgICAgICREYXRhe0Fuc3dlcn0gICAgID0gJFJvd1syXTsKICAgICAgICAkRGF0YXtQb3NpdGlvbn0gICA9ICRSb3dbM107CiAgICAgICAgJERhdGF7Q3JlYXRlVGltZX0gPSAkUm93WzRdOwogICAgICAgICREYXRhe0NyZWF0ZUJ5fSAgID0gJFJvd1s1XTsKICAgICAgICAkRGF0YXtDaGFuZ2VUaW1lfSA9ICRSb3dbNl07CiAgICAgICAgJERhdGF7Q2hhbmdlQnl9ICAgPSAkUm93WzddOwogICAgfQoKICAgIHJldHVybiAlRGF0YTsKfQoKPWhlYWQyIEFuc3dlclVwZGF0ZSgpCgp0byB1cGRhdGUgYW4gZXhpc3RpbmcgYW5zd2VyCgogICAgbXkgJFN1Y2Nlc3MgPSAkU3VydmV5T2JqZWN0LT5BbnN3ZXJVcGRhdGUoCiAgICAgICAgVXNlcklEID0+IDEsCiAgICAgICAgQW5zd2VySUQgPT4gNiwKICAgICAgICBRdWVzdGlvbklEID0+IDQsCiAgICAgICAgQW5zd2VyID0+ICdUaGUgQW5zd2VyJywKICAgICk7Cgo9Y3V0CgpzdWIgQW5zd2VyVXBkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFVzZXJJRCBBbnN3ZXJJRCBRdWVzdGlvbklEIEFuc3dlcikpIHsKICAgICAgICBpZiAoICFkZWZpbmVkICRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyB1cGRhdGUgYW5zd2VyCiAgICByZXR1cm4gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFVQREFURSBzdXJ2ZXlfYW5zd2VyCiAgICAgICAgICAgIFNFVCBhbnN3ZXIgPSA/LCBjaGFuZ2VfdGltZSA9IGN1cnJlbnRfdGltZXN0YW1wLCBjaGFuZ2VfYnkgPSA/CiAgICAgICAgICAgIFdIRVJFIGlkID0gPwogICAgICAgICAgICAgICAgQU5EIHF1ZXN0aW9uX2lkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17QW5zd2VyfSwgXCRQYXJhbXtVc2VySUR9LCBcJFBhcmFte0Fuc3dlcklEfSwgXCRQYXJhbXtRdWVzdGlvbklEfSwgXSwKICAgICk7Cn0KCj1oZWFkMiBBbnN3ZXJMaXN0KCkKCnRvIGdldCBhIGFycmF5IGxpc3Qgb2YgYWxsIGFuc3dlciBpdGVtcwoKICAgIG15IEBMaXN0ID0gJFN1cnZleU9iamVjdC0+QW5zd2VyTGlzdCgKICAgICAgICBRdWVzdGlvbklEID0+IDEKICAgICk7CgpyZXR1cm5zOgoKICAgIEBMaXN0ID0gKAogICAgICAgIHsKICAgICAgICAgICAgQW5zd2VySUQgICA9PiAxLAogICAgICAgICAgICBRdWVzdGlvbklEID0+IDIsCiAgICAgICAgICAgIEFuc3dlciAgICAgPT4gJ1RoZSBBbnN3ZXInLAogICAgICAgIH0sCiAgICAgICAgLi4uCiAgICApOwoKPWN1dAoKc3ViIEFuc3dlckxpc3QgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte1F1ZXN0aW9uSUR9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBRdWVzdGlvbklEIScsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBnZXQgYW5zd2VyIGxpc3QKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCBpZCwgcXVlc3Rpb25faWQsIGFuc3dlcgogICAgICAgICAgICBGUk9NIHN1cnZleV9hbnN3ZXIKICAgICAgICAgICAgV0hFUkUgcXVlc3Rpb25faWQgPSA/CiAgICAgICAgICAgIE9SREVSIEJZIHBvc2l0aW9uJywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtRdWVzdGlvbklEfSBdLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15IEBMaXN0OwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgbXkgJURhdGE7CiAgICAgICAgJERhdGF7QW5zd2VySUR9ICAgPSAkUm93WzBdOwogICAgICAgICREYXRhe1F1ZXN0aW9uSUR9ID0gJFJvd1sxXTsKICAgICAgICAkRGF0YXtBbnN3ZXJ9ICAgICA9ICRSb3dbMl07CgogICAgICAgIHB1c2ggQExpc3QsIFwlRGF0YTsKICAgIH0KCiAgICByZXR1cm4gQExpc3Q7Cn0KCj1oZWFkMiBBbnN3ZXJTb3J0KCkKCnRvIHNvcnQgYWxsIGFuc3dlcnMgZnJvbSBhIHF1ZXN0aW9uCgogICAgbXkgJFN1Y2Nlc3MgPSAkU3VydmV5T2JqZWN0LT5BbnN3ZXJTb3J0KAogICAgICAgIFF1ZXN0aW9uSUQgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgQW5zd2VyU29ydCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17UXVlc3Rpb25JRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFF1ZXN0aW9uSUQhJywKICAgICAgICApOwoKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGdldCBhbnN3ZXIgbGlzdAogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkCiAgICAgICAgICAgIEZST00gc3VydmV5X2Fuc3dlcgogICAgICAgICAgICBXSEVSRSBxdWVzdGlvbl9pZCA9ID8KICAgICAgICAgICAgT1JERVIgQlkgcG9zaXRpb24nLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte1F1ZXN0aW9uSUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgQExpc3Q7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBwdXNoIEBMaXN0LCAkUm93WzBdOwogICAgfQoKICAgIG15ICRDb3VudGVyID0gMTsKICAgIGZvciBteSAkQW5zd2VySUQgKEBMaXN0KSB7CgogICAgICAgICMgdXBkYXRlIHBvc2l0aW9uCiAgICAgICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgVVBEQVRFIHN1cnZleV9hbnN3ZXIKICAgICAgICAgICAgICAgIFNFVCBwb3NpdGlvbiA9ID8KICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPycsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJENvdW50ZXIsIFwkQW5zd2VySUQgXSwKICAgICAgICApOwoKICAgICAgICAkQ291bnRlcisrOwogICAgfQoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgQW5zd2VyVXAoKQoKdG8gbW92ZSBhIGFuc3dlciB1cAoKICAgIG15ICRTdWNjZXNzID0gJFN1cnZleU9iamVjdC0+QW5zd2VyVXAoCiAgICAgICAgUXVlc3Rpb25JRCA9PiA0LAogICAgICAgIEFuc3dlcklEID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIEFuc3dlclVwIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFF1ZXN0aW9uSUQgQW5zd2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBkYXRhYmFzZSBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZ2V0IHBvc2l0aW9uCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBTRUxFQ1QgcG9zaXRpb24KICAgICAgICAgICAgRlJPTSBzdXJ2ZXlfYW5zd2VyCiAgICAgICAgICAgIFdIRVJFIGlkID0gPwogICAgICAgICAgICAgICAgQU5EIHF1ZXN0aW9uX2lkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte0Fuc3dlcklEfSwgXCRQYXJhbXtRdWVzdGlvbklEfSwgXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICRQb3NpdGlvbjsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRQb3NpdGlvbiA9ICRSb3dbMF07CiAgICB9CgogICAgcmV0dXJuIGlmICRQb3NpdGlvbiA8IDI7CgogICAgbXkgJFBvc2l0aW9uVXAgPSAkUG9zaXRpb24gLSAxOwoKICAgICMgZ2V0IGFuc3dlcgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkCiAgICAgICAgICAgIEZST00gc3VydmV5X2Fuc3dlcgogICAgICAgICAgICBXSEVSRSBxdWVzdGlvbl9pZCA9ID8gQU5EIHBvc2l0aW9uID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1F1ZXN0aW9uSUR9LCBcJFBvc2l0aW9uVXAsIF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAkQW5zd2VySUREb3duOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJEFuc3dlcklERG93biA9ICRSb3dbMF07CiAgICB9CgogICAgcmV0dXJuIGlmICEkQW5zd2VySUREb3duOwoKICAgICMgdXBkYXRlIHBvc2l0aW9uCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgVVBEQVRFIHN1cnZleV9hbnN3ZXIKICAgICAgICAgICAgU0VUIHBvc2l0aW9uID0gPwogICAgICAgICAgICBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBvc2l0aW9uLCBcJEFuc3dlcklERG93biwgXSwKICAgICk7CgogICAgIyB1cGRhdGUgcG9zaXRpb24KICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5EbygKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBVUERBVEUgc3VydmV5X2Fuc3dlcgogICAgICAgICAgICBTRVQgcG9zaXRpb24gPSA/CiAgICAgICAgICAgIFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUG9zaXRpb25VcCwgXCRQYXJhbXtBbnN3ZXJJRH0sIF0sCiAgICApOwoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgQW5zd2VyRG93bigpCgp0byBtb3ZlIGEgYW5zd2VyIGRvd24KCiAgICBteSAkU3VjY2VzcyA9ICRTdXJ2ZXlPYmplY3QtPkFuc3dlckRvd24oCiAgICAgICAgUXVlc3Rpb25JRCA9PiA0LAogICAgICAgIEFuc3dlcklEID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIEFuc3dlckRvd24gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoUXVlc3Rpb25JRCBBbnN3ZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBnZXQgcG9zaXRpb24KICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCBwb3NpdGlvbgogICAgICAgICAgICBGUk9NIHN1cnZleV9hbnN3ZXIKICAgICAgICAgICAgV0hFUkUgaWQgPSA/CiAgICAgICAgICAgICAgICBBTkQgcXVlc3Rpb25faWQgPSA/JywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17QW5zd2VySUR9LCBcJFBhcmFte1F1ZXN0aW9uSUR9LCBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFBvc2l0aW9uOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJFBvc2l0aW9uID0gJFJvd1swXTsKICAgIH0KCiAgICByZXR1cm4gaWYgISRQb3NpdGlvbjsKCiAgICBteSAkUG9zaXRpb25Eb3duID0gJFBvc2l0aW9uICsgMTsKCiAgICAjIGdldCBhbnN3ZXIKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCBpZAogICAgICAgICAgICBGUk9NIHN1cnZleV9hbnN3ZXIKICAgICAgICAgICAgV0hFUkUgcXVlc3Rpb25faWQgPSA/CiAgICAgICAgICAgICAgICBBTkQgcG9zaXRpb24gPSA/JywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17UXVlc3Rpb25JRH0sIFwkUG9zaXRpb25Eb3duLCBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJEFuc3dlcklEVXA7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkQW5zd2VySURVcCA9ICRSb3dbMF07CiAgICB9CgogICAgcmV0dXJuIGlmICEkQW5zd2VySURVcDsKCiAgICAjIHVwZGF0ZSBwb3NpdGlvbgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFVQREFURSBzdXJ2ZXlfYW5zd2VyCiAgICAgICAgICAgIFNFVCBwb3NpdGlvbiA9ID8KICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQb3NpdGlvbiwgXCRBbnN3ZXJJRFVwLCBdLAogICAgKTsKCiAgICAjIHVwZGF0ZSBwb3NpdGlvbgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFVQREFURSBzdXJ2ZXlfYW5zd2VyCiAgICAgICAgICAgIFNFVCBwb3NpdGlvbiA9ID8KICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQb3NpdGlvbkRvd24sIFwkUGFyYW17QW5zd2VySUR9LCBdLAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIEFuc3dlckNvdW50KCkKCnRvIGNvdW50IGFsbCBhbnN3ZXJzIG9mIGEgcXVlc3Rpb24KCiAgICBteSAkQ291bnRBbnN3ZXIgPSAkU3VydmV5T2JqZWN0LT5BbnN3ZXJDb3VudCgKICAgICAgICBRdWVzdGlvbklEID0+IDEyMwogICAgKTsKCj1jdXQKCnN1YiBBbnN3ZXJDb3VudCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17UXVlc3Rpb25JRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFF1ZXN0aW9uSUQhJywKICAgICAgICApOwoKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGNvdW50IGFuc3dlcnMKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCBDT1VOVChpZCkKICAgICAgICAgICAgRlJPTSBzdXJ2ZXlfYW5zd2VyCiAgICAgICAgICAgIFdIRVJFIHF1ZXN0aW9uX2lkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1F1ZXN0aW9uSUR9IF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAkQ291bnRBbnN3ZXI7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkQ291bnRBbnN3ZXIgPSAkUm93WzBdOwogICAgfQoKICAgIHJldHVybiAkQ291bnRBbnN3ZXI7Cn0KCj1oZWFkMiBQdWJsaWNBbnN3ZXJTZXQoKQoKdG8gc2F2ZSBhIHB1YmxpYyB2b3RlCgogICAgbXkgJFN1Y2Nlc3MgPSAkU3VydmV5T2JqZWN0LT5QdWJsaWNBbnN3ZXJTZXQoCiAgICAgICAgUHVibGljU3VydmV5S2V5ID0+ICdhVmtkRTgyRHcycXc2ZXJDZGEnLAogICAgICAgIFF1ZXN0aW9uSUQgPT4gNCwKICAgICAgICBWb3RlVmFsdWUgPT4gJ1RoZSBWYWx1ZScsCiAgICApOwoKPWN1dAoKc3ViIFB1YmxpY0Fuc3dlclNldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhQdWJsaWNTdXJ2ZXlLZXkgUXVlc3Rpb25JRCBWb3RlVmFsdWUpKSB7CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBnZXQgcmVxdWVzdAogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkCiAgICAgICAgICAgIEZST00gc3VydmV5X3JlcXVlc3QKICAgICAgICAgICAgV0hFUkUgcHVibGljX3N1cnZleV9rZXkgPSA/CiAgICAgICAgICAgICAgICBBTkQgdmFsaWRfaWQgPSAxJywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17UHVibGljU3VydmV5S2V5fSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFJlcXVlc3RJRDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRSZXF1ZXN0SUQgPSAkUm93WzBdOwogICAgfQoKICAgIHJldHVybiBpZiAhJFJlcXVlc3RJRDsKCiAgICAjIFByZXZlbnQgdG8gd3JpdGUgc29tZXRoaW5nIHRoYXQgb3JhY2xlIHN0b3JlIGFzIE5VTEwgaW4gZGF0YWJhc2UuCiAgICAjIFNlZSBidWcgIzk1NzUuCiAgICBpZiAoICggJERCT2JqZWN0LT57J0RCOjpUeXBlJ30gZXEgJ29yYWNsZScgKSAmJiAoICRQYXJhbXtWb3RlVmFsdWV9IGVxICcnICkgKSB7CiAgICAgICAgJFBhcmFte1ZvdGVWYWx1ZX0gPSAwOwogICAgfQoKICAgICMgaW5zZXJ0IHZvdGUKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5EbygKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBJTlNFUlQgSU5UTyBzdXJ2ZXlfdm90ZSAocmVxdWVzdF9pZCwgcXVlc3Rpb25faWQsIHZvdGVfdmFsdWUsIGNyZWF0ZV90aW1lKQogICAgICAgICAgICBWQUxVRVMgKCA/LCA/LCA/LCBjdXJyZW50X3RpbWVzdGFtcCknLAogICAgICAgIEJpbmQgPT4gWyBcJFJlcXVlc3RJRCwgXCRQYXJhbXtRdWVzdGlvbklEfSwgXCRQYXJhbXtWb3RlVmFsdWV9LCBdLAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKMTsKCj1oZWFkMSBURVJNUyBBTkQgQ09ORElUSU9OUwoKVGhpcyBzb2Z0d2FyZSBpcyBwYXJ0IG9mIHRoZSBPVE9CTyBwcm9qZWN0IChMPGh0dHBzOi8vb3RvYm8ub3JnLz4pLgoKVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQ+LgoKPWN1dAo=</File>
        <File Location="Kernel/System/Survey/Question.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpTdXJ2ZXk6OlF1ZXN0aW9uOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKb3VyICRPYmplY3RNYW5hZ2VyRGlzYWJsZWQgPSAxOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpTdXJ2ZXk6OlF1ZXN0aW9uIC0gc3ViIG1vZHVsZSBvZiBLZXJuZWw6OlN5c3RlbTo6U3VydmV5Cgo9aGVhZDEgU1lOT1BTSVMKCkFsbCBzdXJ2ZXkgcXVlc3Rpb24gZnVuY3Rpb25zLgoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKCj1oZWFkMiBRdWVzdGlvbkFkZCgpCgp0byBhZGQgYSBuZXcgcXVlc3Rpb24gdG8gYSBzdXJ2ZXkKCiAgICBteSAkU3VjY2VzcyA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uQWRkKAogICAgICAgIFVzZXJJRCA9PiAxLAogICAgICAgIFN1cnZleUlEID0+IDEwLAogICAgICAgIFF1ZXN0aW9uID0+ICdUaGUgUXVlc3Rpb24nLAogICAgICAgIEFuc3dlclJlcXVpcmVkID0+IDEsICMgb3IgMAogICAgICAgIFR5cGUgPT4gJ1JhZGlvJywKICAgICk7Cgo9Y3V0CgpzdWIgUXVlc3Rpb25BZGQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVXNlcklEIFN1cnZleUlEIFF1ZXN0aW9uIFR5cGUpKSB7CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBpZiAhJFBhcmFte1F1ZXN0aW9ufTsKCiAgICAjIGluc2VydCBhIG5ldyBxdWVzdGlvbgogICAgIyBpZiB3ZSBkaWRuJ3QgZ2V0IGFuIEFuc3dlciBQYXJhbWV0ZXIgKGUuZy4ganVzdCB1bmRlZmluZWQpCiAgICAjIG9yIGl0IHdhcyBzb21ldGhpbmcgZWxzZSB0aGFuIDAgb3IgMQogICAgIyB3ZSBhc3N1bWUgaXQncyBhIHJlcXVpcmVkIGFuc3dlcgogICAgaWYgKAogICAgICAgICFkZWZpbmVkICRQYXJhbXtBbnN3ZXJSZXF1aXJlZH0KICAgICAgICB8fAogICAgICAgICggJFBhcmFte0Fuc3dlclJlcXVpcmVkfSBuZSAnMCcgJiYgJFBhcmFte0Fuc3dlclJlcXVpcmVkfSBuZSAnMScgKQogICAgICAgICkKICAgIHsKICAgICAgICAkUGFyYW17QW5zd2VyUmVxdWlyZWR9ID0gMTsKICAgIH0KCiAgICByZXR1cm4gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIElOU0VSVCBJTlRPIHN1cnZleV9xdWVzdGlvbiAoc3VydmV5X2lkLCBxdWVzdGlvbiwgcXVlc3Rpb25fdHlwZSwgcG9zaXRpb24sCiAgICAgICAgICAgICAgICBhbnN3ZXJfcmVxdWlyZWQsIGNyZWF0ZV90aW1lLCBjcmVhdGVfYnksIGNoYW5nZV90aW1lLCBjaGFuZ2VfYnkpCiAgICAgICAgICAgIFZBTFVFUyAoPywgPywgPywgMjU1LCA/LCBjdXJyZW50X3RpbWVzdGFtcCwgPywgY3VycmVudF90aW1lc3RhbXAsID8pJywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtTdXJ2ZXlJRH0sIFwkUGFyYW17UXVlc3Rpb259LCBcJFBhcmFte1R5cGV9LCBcJFBhcmFte0Fuc3dlclJlcXVpcmVkfSwKICAgICAgICAgICAgXCRQYXJhbXtVc2VySUR9LCAgIFwkUGFyYW17VXNlcklEfSwKICAgICAgICBdLAogICAgKTsKfQoKPWhlYWQyIFF1ZXN0aW9uRGVsZXRlKCkKCnRvIGRlbGV0ZSBhIHF1ZXN0aW9uIGZyb20gYSBzdXJ2ZXkKCiAgICBteSAkU3VjY2VzcyA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uRGVsZXRlKAogICAgICAgIFN1cnZleUlEID0+IDEsCiAgICAgICAgUXVlc3Rpb25JRCA9PiAxMCwKICAgICk7Cgo9Y3V0CgpzdWIgUXVlc3Rpb25EZWxldGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoU3VydmV5SUQgUXVlc3Rpb25JRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBkZWxldGUgYWxsIGFuc3dlcnMgb2YgYSBxdWVzdGlvbgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIERFTEVURSBGUk9NIHN1cnZleV9hbnN3ZXIKICAgICAgICAgICAgV0hFUkUgcXVlc3Rpb25faWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtRdWVzdGlvbklEfSBdLAogICAgKTsKCiAgICAjIGRlbGV0ZSB0aGUgcXVlc3Rpb24KICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5EbygKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBERUxFVEUgRlJPTSBzdXJ2ZXlfcXVlc3Rpb24KICAgICAgICAgICAgV0hFUkUgaWQgPSA/CiAgICAgICAgICAgICAgICBBTkQgc3VydmV5X2lkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17UXVlc3Rpb25JRH0sIFwkUGFyYW17U3VydmV5SUR9LCBdLAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIFF1ZXN0aW9uR2V0KCkKCnRvIGdldCBhbGwgYXR0cmlidXRlcyBvZiBhIHF1ZXN0aW9uCgogICAgbXkgJVF1ZXN0aW9uID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25HZXQoCiAgICAgICAgUXVlc3Rpb25JRCA9PiAxMjMKICAgICk7CgpyZXR1cm5zOgoKICAgICVRdWVzdGlvbiA9ICgKICAgICAgICBRdWVzdGlvbklEICAgICA9PiAxLAogICAgICAgIFN1cnZleUlEICAgICAgID0+IDIsCiAgICAgICAgUXVlc3Rpb24gICAgICAgPT4gJ1F1ZXN0aW9uJywKICAgICAgICBUeXBlICAgICAgICAgICA9PiAnWWVzTm8nLAogICAgICAgIFBvc2l0aW9uICAgICAgID0+IDEyLAogICAgICAgIEFuc3dlclJlcXVpcmVkID0+IDEsCiAgICAgICAgQ3JlYXRlVGltZSAgICAgPT4gJzIwMTctMDEtMDEgMTI6MDA6MDAnLAogICAgICAgIENyZWF0ZUJ5ICAgICAgID0+IDEsCiAgICAgICAgQ2hhbmdlVGltZSAgICAgPT4gJzIwMTctMDEtMDEgMTI6MDA6MDAnLAogICAgICAgIENoYW5nZUJ5ICAgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIFF1ZXN0aW9uR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtRdWVzdGlvbklEfSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ05lZWQgUXVlc3Rpb25JRCEnLAogICAgICAgICk7CgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGdldCBkYXRhYmFzZSBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZ2V0IHF1ZXN0aW9uCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBTRUxFQ1QgaWQsIHN1cnZleV9pZCwgcXVlc3Rpb24sIHF1ZXN0aW9uX3R5cGUsIHBvc2l0aW9uLCBhbnN3ZXJfcmVxdWlyZWQsIGNyZWF0ZV90aW1lLAogICAgICAgICAgICAgICAgY3JlYXRlX2J5LCBjaGFuZ2VfdGltZSwgY2hhbmdlX2J5CiAgICAgICAgICAgIEZST00gc3VydmV5X3F1ZXN0aW9uCiAgICAgICAgICAgIFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1F1ZXN0aW9uSUR9IF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAlRGF0YTsKCiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkRGF0YXtRdWVzdGlvbklEfSAgICAgPSAkUm93WzBdOwogICAgICAgICREYXRhe1N1cnZleUlEfSAgICAgICA9ICRSb3dbMV07CiAgICAgICAgJERhdGF7UXVlc3Rpb259ICAgICAgID0gJFJvd1syXTsKICAgICAgICAkRGF0YXtUeXBlfSAgICAgICAgICAgPSAkUm93WzNdOwogICAgICAgICREYXRhe1Bvc2l0aW9ufSAgICAgICA9ICRSb3dbNF07CiAgICAgICAgJERhdGF7QW5zd2VyUmVxdWlyZWR9ID0gJFJvd1s1XTsKICAgICAgICAkRGF0YXtDcmVhdGVUaW1lfSAgICAgPSAkUm93WzZdOwogICAgICAgICREYXRhe0NyZWF0ZUJ5fSAgICAgICA9ICRSb3dbN107CiAgICAgICAgJERhdGF7Q2hhbmdlVGltZX0gICAgID0gJFJvd1s4XTsKICAgICAgICAkRGF0YXtDaGFuZ2VCeX0gICAgICAgPSAkUm93WzldOwogICAgfQoKICAgIHJldHVybiAlRGF0YTsKfQoKPWhlYWQyIFF1ZXN0aW9uVXBkYXRlKCkKCnRvIHVwZGF0ZSBhbiBleGlzdGluZyBxdWVzdGlvbgoKICAgIG15ICRTdWNjZXNzID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25VcGRhdGUoCiAgICAgICAgVXNlcklEID0+IDEsCiAgICAgICAgUXVlc3Rpb25JRCA9PiA0LAogICAgICAgIFN1cnZleUlEID0+IDMsCiAgICAgICAgQW5zd2VyUmVxdWlyZWQgPT4gJzEnLCAjIG9yICcwJwogICAgICAgIFF1ZXN0aW9uID0+ICdUaGUgUXVlc3Rpb24nLAogICAgKTsKCj1jdXQKCnN1YiBRdWVzdGlvblVwZGF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhVc2VySUQgUXVlc3Rpb25JRCBTdXJ2ZXlJRCBRdWVzdGlvbikpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIG15ICRBbnN3ZXJSZXF1aXJlZCA9IDE7CiAgICBpZiAoCiAgICAgICAgZGVmaW5lZCAkUGFyYW17QW5zd2VyUmVxdWlyZWR9CiAgICAgICAgJiYgKCAkUGFyYW17QW5zd2VyUmVxdWlyZWR9IGVxICcxJyB8fCAkUGFyYW17QW5zd2VyUmVxdWlyZWR9IGVxICcwJyApCiAgICAgICAgKQogICAgewogICAgICAgICRBbnN3ZXJSZXF1aXJlZCA9ICRQYXJhbXtBbnN3ZXJSZXF1aXJlZH07CiAgICB9CgogICAgIyB1cGRhdGUgcXVlc3Rpb24KICAgIHJldHVybiAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RG8oCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgVVBEQVRFIHN1cnZleV9xdWVzdGlvbgogICAgICAgICAgICBTRVQgcXVlc3Rpb24gPSA/LCBhbnN3ZXJfcmVxdWlyZWQgPSA/LCBjaGFuZ2VfdGltZSA9IGN1cnJlbnRfdGltZXN0YW1wLAogICAgICAgICAgICAgICAgY2hhbmdlX2J5ID0gPwogICAgICAgICAgICBXSEVSRSBpZCA9ID8KICAgICAgICAgICAgICAgIEFORCBzdXJ2ZXlfaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtRdWVzdGlvbn0sIFwkQW5zd2VyUmVxdWlyZWQsIFwkUGFyYW17VXNlcklEfSwgXCRQYXJhbXtRdWVzdGlvbklEfSwKICAgICAgICAgICAgXCRQYXJhbXtTdXJ2ZXlJRH0sCiAgICAgICAgXSwKICAgICk7Cn0KCj1oZWFkMiBRdWVzdGlvbkxpc3QoKQoKdG8gZ2V0IGEgYXJyYXkgbGlzdCBvZiBhbGwgcXVlc3Rpb24gaXRlbXMKCiAgICBteSBATGlzdCA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uTGlzdCgKICAgICAgICBTdXJ2ZXlJRCA9PiAxCiAgICApOwoKcmV0dXJuczoKICAgIEBMaXN0ID0gKAogICAgICAgIHsKICAgICAgICAgICAgUXVlc3Rpb25JRCAgICAgPT4gMTIzLCwKICAgICAgICAgICAgU3VydmV5SUQgICAgICAgPT4gMTIzLAogICAgICAgICAgICBRdWVzdGlvbiAgICAgICA9PiAnUXVlc3Rpb24nCiAgICAgICAgICAgIFR5cGUgICAgICAgICAgID0+ICdZZXNObycsCiAgICAgICAgICAgIEFuc3dlclJlcXVpcmVkID0+IDEsCiAgICAgICAgfSwKICAgICAgICAuLi4KICAgICk7Cgo9Y3V0CgpzdWIgUXVlc3Rpb25MaXN0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtTdXJ2ZXlJRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFN1cnZleUlEIScsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBnZXQgYWxsIHF1ZXN0aW9ucyBvZiBhIHN1cnZleQogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkLCBzdXJ2ZXlfaWQsIHF1ZXN0aW9uLCBxdWVzdGlvbl90eXBlLCBhbnN3ZXJfcmVxdWlyZWQKICAgICAgICAgICAgRlJPTSBzdXJ2ZXlfcXVlc3Rpb24KICAgICAgICAgICAgV0hFUkUgc3VydmV5X2lkID0gPwogICAgICAgICAgICBPUkRFUiBCWSBwb3NpdGlvbicsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17U3VydmV5SUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgQExpc3Q7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBteSAlRGF0YTsKICAgICAgICAkRGF0YXtRdWVzdGlvbklEfSAgICAgPSAkUm93WzBdOwogICAgICAgICREYXRhe1N1cnZleUlEfSAgICAgICA9ICRSb3dbMV07CiAgICAgICAgJERhdGF7UXVlc3Rpb259ICAgICAgID0gJFJvd1syXTsKICAgICAgICAkRGF0YXtUeXBlfSAgICAgICAgICAgPSAkUm93WzNdOwogICAgICAgICREYXRhe0Fuc3dlclJlcXVpcmVkfSA9ICRSb3dbNF0gfHwgMDsKCiAgICAgICAgcHVzaCBATGlzdCwgXCVEYXRhOwogICAgfQoKICAgIHJldHVybiBATGlzdDsKfQoKPWhlYWQyIFF1ZXN0aW9uU29ydCgpCgp0byBzb3J0IGFsbCBxdWVzdGlvbnMgZnJvbSBhIHN1cnZleQoKICAgIG15ICRTdWNjZXNzID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25Tb3J0KAogICAgICAgIFN1cnZleUlEID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIFF1ZXN0aW9uU29ydCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17U3VydmV5SUR9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBTdXJ2ZXlJRCEnCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBnZXQgYWxsIHF1ZXN0aW9uIG9mIGEgc3VydmV5IChzb3J0ZWQgYnkgcG9zaXRpb24pCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBTRUxFQ1QgaWQgRlJPTSBzdXJ2ZXlfcXVlc3Rpb24KICAgICAgICAgICAgV0hFUkUgc3VydmV5X2lkID0gPwogICAgICAgICAgICBPUkRFUiBCWSBwb3NpdGlvbicsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17U3VydmV5SUR9IF0sCiAgICApOwoKICAgIG15IEBMaXN0OwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgcHVzaCBATGlzdCwgJFJvd1swXTsKICAgIH0KCiAgICBteSAkQ291bnRlciA9IDE7CiAgICBmb3IgbXkgJFF1ZXN0aW9uSUQgKEBMaXN0KSB7CiAgICAgICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgVVBEQVRFIHN1cnZleV9xdWVzdGlvbgogICAgICAgICAgICAgICAgU0VUIHBvc2l0aW9uID0gPwogICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICAgICAgQmluZCA9PiBbIFwkQ291bnRlciwgXCRRdWVzdGlvbklEIF0sCiAgICAgICAgKTsKCiAgICAgICAgJENvdW50ZXIrKzsKICAgIH0KCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIFF1ZXN0aW9uVXAoKQoKdG8gbW92ZSBhIHF1ZXN0aW9uIHVwCgogICAgbXkgJFN1Y2Nlc3MgPSAkU3VydmV5T2JqZWN0LT5RdWVzdGlvblVwKAogICAgICAgIFN1cnZleUlEID0+IDEsCiAgICAgICAgUXVlc3Rpb25JRCA9PiA0LAogICAgKTsKCj1jdXQKCnN1YiBRdWVzdGlvblVwIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFN1cnZleUlEIFF1ZXN0aW9uSUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBkYXRhYmFzZSBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZ2V0IHBvc2l0aW9uCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBTRUxFQ1QgcG9zaXRpb24KICAgICAgICAgICAgRlJPTSBzdXJ2ZXlfcXVlc3Rpb24KICAgICAgICAgICAgV0hFUkUgaWQgPSA/CiAgICAgICAgICAgICAgICBBTkQgc3VydmV5X2lkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1F1ZXN0aW9uSUR9LCBcJFBhcmFte1N1cnZleUlEfSwgXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICRQb3NpdGlvbiA9IDA7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkUG9zaXRpb24gPSAkUm93WzBdOwogICAgfQoKICAgIHJldHVybiBpZiAkUG9zaXRpb24gPCAyOwoKICAgIG15ICRQb3NpdGlvblVwID0gJFBvc2l0aW9uIC0gMTsKCiAgICAjIGdldCBxdWVzdGlvbgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkCiAgICAgICAgICAgIEZST00gc3VydmV5X3F1ZXN0aW9uCiAgICAgICAgICAgIFdIRVJFIHN1cnZleV9pZCA9ID8KICAgICAgICAgICAgICAgIEFORCBwb3NpdGlvbiA9ID8nLAogICAgICAgIEJpbmQgID0+IFsgXCRQYXJhbXtTdXJ2ZXlJRH0sIFwkUG9zaXRpb25VcCBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFF1ZXN0aW9uSUREb3duOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJFF1ZXN0aW9uSUREb3duID0gJFJvd1swXTsKICAgIH0KCiAgICByZXR1cm4gaWYgISRRdWVzdGlvbklERG93bjsKCiAgICAjIHVwZGF0ZSBwb3NpdGlvbgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFVQREFURSBzdXJ2ZXlfcXVlc3Rpb24KICAgICAgICAgICAgU0VUIHBvc2l0aW9uID0gPwogICAgICAgICAgICBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBvc2l0aW9uLCBcJFF1ZXN0aW9uSUREb3duLCBdLAogICAgKTsKCiAgICAjIHVwZGF0ZSBwb3NpdGlvbgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFVQREFURSBzdXJ2ZXlfcXVlc3Rpb24KICAgICAgICAgICAgU0VUIHBvc2l0aW9uID0gPwogICAgICAgICAgICBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBvc2l0aW9uVXAsIFwkUGFyYW17UXVlc3Rpb25JRH0sIF0sCiAgICApOwoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgUXVlc3Rpb25Eb3duKCkKCnRvIG1vdmUgYSBxdWVzdGlvbiBkb3duCgogICAgbXkgJFN1Y2Nlc3MgPSAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkRvd24oCiAgICAgICAgU3VydmV5SUQgPT4gMSwKICAgICAgICBRdWVzdGlvbklEID0+IDQsCiAgICApOwoKPWN1dAoKc3ViIFF1ZXN0aW9uRG93biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhTdXJ2ZXlJRCBRdWVzdGlvbklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGdldCBwb3NpdGlvbgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIHBvc2l0aW9uCiAgICAgICAgICAgIEZST00gc3VydmV5X3F1ZXN0aW9uCiAgICAgICAgICAgIFdIRVJFIGlkID0gPwogICAgICAgICAgICAgICAgQU5EIHN1cnZleV9pZCA9ID8nLAogICAgICAgIEJpbmQgID0+IFsgXCRQYXJhbXtRdWVzdGlvbklEfSwgXCRQYXJhbXtTdXJ2ZXlJRH0sIF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAkUG9zaXRpb247CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkUG9zaXRpb24gPSAkUm93WzBdOwogICAgfQoKICAgIHJldHVybiBpZiAhJFBvc2l0aW9uOwoKICAgIG15ICRQb3NpdGlvbkRvd24gPSAkUG9zaXRpb24gKyAxOwoKICAgICMgZ2V0IHF1ZXN0aW9uCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBTRUxFQ1QgaWQKICAgICAgICAgICAgRlJPTSBzdXJ2ZXlfcXVlc3Rpb24KICAgICAgICAgICAgV0hFUkUgc3VydmV5X2lkID0gPwogICAgICAgICAgICAgICAgQU5EIHBvc2l0aW9uID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1N1cnZleUlEfSwgXCRQb3NpdGlvbkRvd24sIF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAkUXVlc3Rpb25JRFVwOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJFF1ZXN0aW9uSURVcCA9ICRSb3dbMF07CiAgICB9CgogICAgcmV0dXJuIGlmICEkUXVlc3Rpb25JRFVwOwoKICAgICMgdXBkYXRlIHBvc2l0aW9uCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgVVBEQVRFIHN1cnZleV9xdWVzdGlvbgogICAgICAgICAgICBTRVQgcG9zaXRpb24gPSA/CiAgICAgICAgICAgIFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUG9zaXRpb24sIFwkUXVlc3Rpb25JRFVwLCBdLAogICAgKTsKCiAgICAjIHVwZGF0ZSBwb3NpdGlvbgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFVQREFURSBzdXJ2ZXlfcXVlc3Rpb24KICAgICAgICAgICAgU0VUIHBvc2l0aW9uID0gPwogICAgICAgICAgICBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBvc2l0aW9uRG93biwgXCRQYXJhbXtRdWVzdGlvbklEfSwgXSwKICAgICk7CgogICAgcmV0dXJuIDE7Cn0KCj1oZWFkMiBRdWVzdGlvbkNvdW50KCkKCnRvIGNvdW50IGFsbCBxdWVzdGlvbnMgb2YgYSBzdXJ2ZXkKCiAgICBteSAkQ291bnRRdWVzdGlvbiA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uQ291bnQoCiAgICAgICAgU3VydmV5SUQgPT4gMTIzCiAgICApOwoKPWN1dAoKc3ViIFF1ZXN0aW9uQ291bnQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte1N1cnZleUlEfSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ05lZWQgU3VydmV5SUQhJywKICAgICAgICApOwoKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGNvdW50IHF1ZXN0aW9ucwogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIENPVU5UKGlkKQogICAgICAgICAgICBGUk9NIHN1cnZleV9xdWVzdGlvbgogICAgICAgICAgICBXSEVSRSBzdXJ2ZXlfaWQgPSA/JywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17U3VydmV5SUR9IF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAkQ291bnRRdWVzdGlvbjsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRDb3VudFF1ZXN0aW9uID0gJFJvd1swXTsKICAgIH0KCiAgICByZXR1cm4gJENvdW50UXVlc3Rpb247Cn0KCjE7Cgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RPQk8gcHJvamVjdCAoTDxodHRwczovL290b2JvLm9yZy8+KS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0Pi4KCj1jdXQK</File>
        <File Location="Kernel/System/Survey/Request.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpTdXJ2ZXk6OlJlcXVlc3Q7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgojIGNvcmUgbW9kdWxlcwp1c2UgTGlzdDo6VXRpbCBxdyhhbnkpOwoKIyBDUEFOIG1vZHVsZXMKCiMgT1RPQk8gbW9kdWxlcwp1c2UgS2VybmVsOjpTeXN0ZW06OlZhcmlhYmxlQ2hlY2sgcXcoOmFsbCk7CgpvdXIgJE9iamVjdE1hbmFnZXJEaXNhYmxlZCA9IDE7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpTeXN0ZW06OlN1cnZleTo6UmVxdWVzdCAtIHN1YiBtb2R1bGUgb2YgS2VybmVsOjpTeXN0ZW06OlN1cnZleQoKPWhlYWQxIERFU0NSSVBUSU9OCgpBbGwgc3VydmV5IHJlcXVlc3QgZnVuY3Rpb25zLgoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKCj1oZWFkMiBSZXF1ZXN0R2V0KCkKCnRvIGdldCBhbiBhcnJheSBsaXN0IG9mIHJlcXVlc3QgZWxlbWVudHMKCiAgICBteSAlUmVxdWVzdERhdGEgPSAkU3VydmV5T2JqZWN0LT5SZXF1ZXN0R2V0KAogICAgICAgIFB1YmxpY1N1cnZleUtleSA9PiAnQXc1ZGUzWGY1cUEnLAoKICAgICAgICBSZXF1ZXN0U2VuZFRpbWVOZXdlckRhdGUgICAgPT4gJzIwMTItMDEtMDEgMTI6MDA6MDAnLCAgICMgKG9wdGlvbmFsKQogICAgICAgIFJlcXVlc3RTZW5kVGltZU9sZGVyRGF0ZSAgICA9PiAnMjAxMi0wMS0zMSAxMjowMDowMCcsICAgIyAob3B0aW9uYWwpCiAgICAgICAgUmVxdWVzdFZvdGVUaW1lTmV3ZXJEYXRlICAgID0+ICcyMDEyLTAxLTAxIDEyOjAwOjAwJywgICAjIChvcHRpb25hbCkKICAgICAgICBSZXF1ZXN0Vm90ZVRpbWVPbGRlckRhdGUgICAgPT4gJzIwMTItMTItMzEgMTI6MDA6MDAnLCAgICMgKG9wdGlvbmFsKQogICAgICAgIFJlcXVlc3RDcmVhdGVUaW1lTmV3ZXJEYXRlICA9PiAnMjAxMi0wMS0wMSAxMjowMDowMCcsICAgIyAob3B0aW9uYWwpCiAgICAgICAgUmVxdWVzdENyZWF0ZVRpbWVPbGRlckRhdGUgID0+ICcyMDEyLTEyLTMxIDEyOjAwOjAwJywgICAjIChvcHRpb25hbCkKICAgICk7CgpyZXR1cm5zOgoKICAgICVSZXF1ZXN0RGF0YSA9ICgKICAgICAgICBSZXF1ZXN0SUQgICAgICAgPT4gMTIzLAogICAgICAgIFRpY2tldElEICAgICAgICA9PiAxMjMsCiAgICAgICAgU3VydmV5SUQgICAgICAgID0+IDEyMywKICAgICAgICBWYWxpZElEICAgICAgICAgPT4gMSwKICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJ2I0YzE0NTUyOTE5MDE4YjUxZWM3OTJjOWI4MTJiNjkxJywKICAgICAgICBTZW5kVG8gICAgICAgICAgPT4gJ21haWxAbG9jYWxob3N0LmNvbScsCiAgICAgICAgU2VuZFRpbWUgICAgICAgID0+ICcyMDE3LTAxLTAxIDEyOjAwOjAwJywKICAgICAgICBWb3RlVGltZSAgICAgICAgPT4gJzIwMTctMDEtMDIgMTI6MDA6MDAnLAogICAgKTsKCj1jdXQKCnN1YiBSZXF1ZXN0R2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtQdWJsaWNTdXJ2ZXlLZXl9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBQdWJsaWNTdXJ2ZXlLZXkhJywKICAgICAgICApOwoKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIHByZXBhcmUgc3FsCiAgICBteSAkU1FMU2VsZWN0ID0gJ1NFTEVDVCBpZCwgdGlja2V0X2lkLCBzdXJ2ZXlfaWQsIHZhbGlkX2lkLCBwdWJsaWNfc3VydmV5X2tleSwgc2VuZF90bywgc2VuZF90aW1lLCB2b3RlX3RpbWUnOwogICAgbXkgJFNRTEZyb20gICA9ICcgRlJPTSBzdXJ2ZXlfcmVxdWVzdCc7CiAgICBteSAkU1FMV2hlcmUgID0gIiBXSEVSRSBwdWJsaWNfc3VydmV5X2tleSA9ICckUGFyYW17UHVibGljU3VydmV5S2V5fSciOwoKICAgICMgc2V0IHRpbWUgcGFyYW1zCiAgICBteSAlVGltZVBhcmFtcyA9ICgKCiAgICAgICAgUmVxdWVzdFNlbmRUaW1lTmV3ZXJEYXRlICAgPT4gJ3NlbmRfdGltZSA+PScsCiAgICAgICAgUmVxdWVzdFNlbmRUaW1lT2xkZXJEYXRlICAgPT4gJ3NlbmRfdGltZSA8PScsCiAgICAgICAgUmVxdWVzdFZvdGVUaW1lTmV3ZXJEYXRlICAgPT4gJ3ZvdGVfdGltZSA+PScsCiAgICAgICAgUmVxdWVzdFZvdGVUaW1lT2xkZXJEYXRlICAgPT4gJ3ZvdGVfdGltZSA8PScsCiAgICAgICAgUmVxdWVzdENyZWF0ZVRpbWVOZXdlckRhdGUgPT4gJ2NyZWF0ZV90aW1lID49JywKICAgICAgICBSZXF1ZXN0Q3JlYXRlVGltZU9sZGVyRGF0ZSA9PiAnY3JlYXRlX3RpbWUgPD0nLAogICAgKTsKCiAgICAjIGNoZWNrIGFuZCBhZGQgdGltZSBwYXJhbXMgdG8gV0hFUkUKICAgIFRJTUVQQVJBTToKICAgIGZvciBteSAkVGltZVBhcmFtICggc29ydCBrZXlzICVUaW1lUGFyYW1zICkgewoKICAgICAgICBuZXh0IFRJTUVQQVJBTSBpZiAhJFBhcmFteyRUaW1lUGFyYW19OwoKICAgICAgICAjIGNoZWNrIGZvcm1hdAogICAgICAgIGlmICggJFBhcmFteyRUaW1lUGFyYW19ICF+IG17IFxBIFxkXGRcZFxkLVxkXGQtXGRcZCBccyBcZFxkOlxkXGQ6XGRcZCBceiB9eG1zICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiVGhlIHBhcmFtZXRlciAkVGltZVBhcmFtIGhhcyBhbiBpbnZhbGlkIGRhdGUgZm9ybWF0ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkUGFyYW17JFRpbWVQYXJhbX0gPSAkREJPYmplY3QtPlF1b3RlKCAkUGFyYW17JFRpbWVQYXJhbX0gKTsKCiAgICAgICAgIyBhZGQgdGltZSBwYXJhbWV0ZXIgdG8gV0hFUkUKICAgICAgICAkU1FMV2hlcmUgLj0gIiBBTkQgJFRpbWVQYXJhbXN7JFRpbWVQYXJhbX0gJyRQYXJhbXskVGltZVBhcmFtfSciOwogICAgfQoKICAgIG15ICRTUUwgPSAkU1FMU2VsZWN0IC49ICRTUUxGcm9tOwogICAgJFNRTCAuPSAkU1FMV2hlcmU7CgogICAgIyBnZXQgcmVxdWVzdCBsaXN0CiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgICA9PiAkU1FMLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJVJlcXVlc3REYXRhOwoKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRSZXF1ZXN0RGF0YXtSZXF1ZXN0SUR9ICAgICAgID0gJFJvd1swXTsKICAgICAgICAkUmVxdWVzdERhdGF7VGlja2V0SUR9ICAgICAgICA9ICRSb3dbMV07CiAgICAgICAgJFJlcXVlc3REYXRhe1N1cnZleUlEfSAgICAgICAgPSAkUm93WzJdOwogICAgICAgICRSZXF1ZXN0RGF0YXtWYWxpZElEfSAgICAgICAgID0gJFJvd1szXTsKICAgICAgICAkUmVxdWVzdERhdGF7UHVibGljU3VydmV5S2V5fSA9ICRSb3dbNF07CiAgICAgICAgJFJlcXVlc3REYXRhe1NlbmRUb30gICAgICAgICAgPSAkUm93WzVdOwogICAgICAgICRSZXF1ZXN0RGF0YXtTZW5kVGltZX0gICAgICAgID0gJFJvd1s2XTsKICAgICAgICAkUmVxdWVzdERhdGF7Vm90ZVRpbWV9ICAgICAgICA9ICRSb3dbN107CiAgICB9CgogICAgcmV0dXJuICVSZXF1ZXN0RGF0YTsKfQoKPWhlYWQyIFJlcXVlc3RTZW5kKCkKCnRvIHNlbmQgYSByZXF1ZXN0IHRvIGEgY3VzdG9tZXIgKGlmIG1hc3RlciBzdXJ2ZXkgaXMgc2V0KQoKICAgIG15ICRTdWNjZXNzID0gJFN1cnZleU9iamVjdC0+UmVxdWVzdFNlbmQoCiAgICAgICAgVGlja2V0SUQgPT4gMTIzLAogICAgKTsKCj1jdXQKCnN1YiBSZXF1ZXN0U2VuZCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17VGlja2V0SUR9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBUaWNrZXRJRCEnLAogICAgICAgICk7CgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGdldCBzeXN0ZW0gdGltZQogICAgbXkgJFN5c3RlbVRpbWUgPSAkS2VybmVsOjpPTS0+Q3JlYXRlKCdLZXJuZWw6OlN5c3RlbTo6RGF0ZVRpbWUnKS0+VG9FcG9jaCgpOwoKICAgICMgY3JlYXRlIFB1YmxpY1N1cnZleUtleQogICAgbXkgJFB1YmxpY1N1cnZleUtleTsKICAgIGlmICggISRQYXJhbXtQdWJsaWNTdXJ2ZXlLZXl9ICkgewogICAgICAgIG15ICRNRDUgPSBEaWdlc3Q6Ok1ENS0+bmV3KCk7CiAgICAgICAgJE1ENS0+YWRkKCAkU3lzdGVtVGltZSAuIGludCggcmFuZCg5OTk5OTk5OTkpICkgKTsKICAgICAgICAkUHVibGljU3VydmV5S2V5ID0gJE1ENS0+aGV4ZGlnZXN0KCk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkUHVibGljU3VydmV5S2V5ID0gJFBhcmFte1B1YmxpY1N1cnZleUtleX07CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGZpbmQgbWFzdGVyIHN1cnZleQogICAgbXkgJFN0YXR1cyA9ICdNYXN0ZXInOwogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkCiAgICAgICAgICAgIEZST00gc3VydmV5CiAgICAgICAgICAgIFdIRVJFIHN0YXR1cyA9ID8nLAogICAgICAgIEJpbmQgID0+IFsgXCRTdGF0dXMgXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICRTdXJ2ZXlJRDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRTdXJ2ZXlJRCA9ICRSb3dbMF07CiAgICB9CgogICAgIyByZXR1cm4sIG5vIG1hc3RlciBzdXJ2ZXkgZm91bmQKICAgIHJldHVybiBpZiAhJFN1cnZleUlEOwoKICAgICMgZ2V0IHRoZSBzdXJ2ZXkKICAgIG15ICVTdXJ2ZXkgPSAkU2VsZi0+U3VydmV5R2V0KAogICAgICAgIFN1cnZleUlEID0+ICRTdXJ2ZXlJRCwKICAgICk7CiAgICBteSAkU3ViamVjdCA9ICRTdXJ2ZXl7Tm90aWZpY2F0aW9uU3ViamVjdH07CiAgICBteSAkQm9keSAgICA9ICRTdXJ2ZXl7Tm90aWZpY2F0aW9uQm9keX07CgogICAgIyBmaXggbmV3IGxpbmVzCiAgICAkQm9keSA9fiBzLyhcblxyfFxyXHJcbnxcclxuKS9cbi9nOwoKICAgICMgZ2V0IHRpY2tldCBvYmplY3QKICAgIG15ICRUaWNrZXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0Jyk7CgogICAgIyB0aWNrZXQgZGF0YQogICAgbXkgJVRpY2tldCA9ICRUaWNrZXRPYmplY3QtPlRpY2tldEdldCgKICAgICAgICBUaWNrZXRJRCAgICAgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgRHluYW1pY0ZpZWxkcyA9PiAxLAogICAgKTsKCiAgICAjIGNoZWNrIGlmIHRpY2tldCBpcyBpbiBhIHNlbmQgcXVldWUKICAgIGlmICggJFN1cnZleXtRdWV1ZXN9ICYmIHJlZiAkU3VydmV5e1F1ZXVlc30gZXEgJ0FSUkFZJyAmJiBAeyAkU3VydmV5e1F1ZXVlc30gfSApIHsKICAgICAgICBteSAkRm91bmQ7CgogICAgICAgIFFVRVVFOgogICAgICAgIGZvciBteSAkUXVldWVJRCAoIEB7ICRTdXJ2ZXl7UXVldWVzfSB9ICkgewogICAgICAgICAgICBuZXh0IFFVRVVFIGlmICRUaWNrZXR7UXVldWVJRH0gIT0gJFF1ZXVlSUQ7CiAgICAgICAgICAgICRGb3VuZCA9IDE7CiAgICAgICAgICAgIGxhc3QgUVVFVUU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJ1F1ZXVlJyBpZiAhJEZvdW5kOwogICAgfQoKICAgICMgZ2V0IGNvbmZpZyBvYmplY3QKICAgIG15ICRDb25maWdPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwoKICAgICMgY2hlY2sgaWYgdGhlIGZvciBzZW5kIGNvbmRpdGlvbiB0aWNrZXQgdHlwZSBjaGVjayBpcyBlbmFibGVkCiAgICBpZiAoICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJykgKSB7CgogICAgICAgICMgY2hlY2sgaWYgdGlja2V0IGlzIGluIGEgc2VuZCB0aWNrZXQgdHlwZSBpZAogICAgICAgIGlmICggSXNBcnJheVJlZldpdGhEYXRhKCAkU3VydmV5e1RpY2tldFR5cGVJRHN9ICkgKSB7CgogICAgICAgICAgICByZXR1cm4gaWYgISRUaWNrZXR7VHlwZUlEfTsKCiAgICAgICAgICAgIG15ICRGb3VuZDsKCiAgICAgICAgICAgIFRJQ0tFVFRZUEU6CiAgICAgICAgICAgIGZvciBteSAkVGlja2V0VHlwZUlEICggQHsgJFN1cnZleXtUaWNrZXRUeXBlSURzfSB9ICkgewogICAgICAgICAgICAgICAgbmV4dCBUSUNLRVRUWVBFIGlmICRUaWNrZXR7VHlwZUlEfSAhPSAkVGlja2V0VHlwZUlEOwogICAgICAgICAgICAgICAgJEZvdW5kID0gMTsKICAgICAgICAgICAgICAgIGxhc3QgVElDS0VUVFlQRTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICdUeXBlJyBpZiAhJEZvdW5kOwogICAgICAgIH0KICAgIH0KCiAgICAjIGNoZWNrIGlmIHRoZSBzZW5kIGNvbmRpdGlvbiBzZXJ2aWNlIGNoZWNrIGlzIGVuYWJsZWQKICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblNlcnZpY2UnKSApIHsKCiAgICAgICAgIyBjaGVjayBpZiB0aWNrZXQgaXMgaW4gYSBzZW5kIHNlcnZpY2UKICAgICAgICBpZiAoIElzQXJyYXlSZWZXaXRoRGF0YSggJFN1cnZleXtTZXJ2aWNlSURzfSApICkgewoKICAgICAgICAgICAgcmV0dXJuIGlmICEkVGlja2V0e1NlcnZpY2VJRH07CgogICAgICAgICAgICBteSAkRm91bmQ7CgogICAgICAgICAgICBTRVJWSUNFOgogICAgICAgICAgICBmb3IgbXkgJFNlcnZpY2VJRCAoIEB7ICRTdXJ2ZXl7U2VydmljZUlEc30gfSApIHsKICAgICAgICAgICAgICAgIG5leHQgU0VSVklDRSBpZiAkVGlja2V0e1NlcnZpY2VJRH0gIT0gJFNlcnZpY2VJRDsKICAgICAgICAgICAgICAgICRGb3VuZCA9IDE7CiAgICAgICAgICAgICAgICBsYXN0IFNFUlZJQ0U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAnU2VydmljZScgaWYgISRGb3VuZDsKICAgICAgICB9CiAgICB9CgogICAgbXkgJUN1c3RvbWVyVXNlcjsKICAgIGlmICggJFRpY2tldHtDdXN0b21lclVzZXJJRH0gKSB7CiAgICAgICAgJUN1c3RvbWVyVXNlciA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDdXN0b21lclVzZXInKS0+Q3VzdG9tZXJVc2VyRGF0YUdldCgKICAgICAgICAgICAgVXNlciA9PiAkVGlja2V0e0N1c3RvbWVyVXNlcklEfSwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gaWYgJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OlNlbmRPbmx5VG9SZWFsQ3VzdG9tZXInKSAmJiAhJEN1c3RvbWVyVXNlcntVc2VyQ3VzdG9tZXJJRH07CiAgICB9CgogICAgIyBDaGVjayBpZiB0aGUgc2VuZCBjb25kaXRpb24gYnkgY3VzdG9tZXJ1c2VyIGZpZWxkcyBjaGVjayBpcyBlbmFibGVkLgogICAgaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uQ3VzdG9tZXJGaWVsZHMnKSApIHsKCiAgICAgICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSggJFN1cnZleXtDdXN0b21lclVzZXJDb25kaXRpb25zfSApICkgewoKICAgICAgICAgICAgIyBDaGVjayBpcyBhY3RpdmUgKyBkZWZpbmVkLCBidXQgdGhlcmUgaXMgbm8gY3VzdG9tZXIuCiAgICAgICAgICAgIHJldHVybiBpZiAhJFRpY2tldHtDdXN0b21lclVzZXJJRH07CgogICAgICAgICAgICBteSAkUmVzdWx0cyA9ICcnOwoKICAgICAgICAgICAgQVRUUklCVVRFOgogICAgICAgICAgICBmb3IgbXkgJEF0dHJpYnV0ZSAoIHNvcnQga2V5cyAleyAkU3VydmV5e0N1c3RvbWVyVXNlckNvbmRpdGlvbnN9IH0gKSB7CiAgICAgICAgICAgICAgICBuZXh0IEFUVFJJQlVURSBpZiAhJEF0dHJpYnV0ZTsKCiAgICAgICAgICAgICAgICBteSBAQ29uZGl0aW9ucyA9IEB7ICRTdXJ2ZXl7Q3VzdG9tZXJVc2VyQ29uZGl0aW9uc30tPnskQXR0cmlidXRlfSB9OwogICAgICAgICAgICAgICAgbmV4dCBBVFRSSUJVVEUgaWYgIUBDb25kaXRpb25zOwoKICAgICAgICAgICAgICAgIG15ICRSZXN1bHQgPSAnJzsKCiAgICAgICAgICAgICAgICBDT05ESVRJT046CiAgICAgICAgICAgICAgICBmb3IgbXkgJENvbmRpdGlvbiAoQENvbmRpdGlvbnMpIHsKICAgICAgICAgICAgICAgICAgICBuZXh0IENPTkRJVElPTiBpZiAhJENvbmRpdGlvbjsKCiAgICAgICAgICAgICAgICAgICAgbXkgJFJlZ0V4cFZhbHVlID0gJENvbmRpdGlvbi0+e1JlZ0V4cFZhbHVlfTsKICAgICAgICAgICAgICAgICAgICBteSAkTmVnYXRpb24gICAgPSAkQ29uZGl0aW9uLT57TmVnYXRpb259OwoKICAgICAgICAgICAgICAgICAgICBteSAkSXNNYXRjaGVkID0gKCAkQ3VzdG9tZXJVc2VyeyRBdHRyaWJ1dGV9ID1+IG17JFJlZ0V4cFZhbHVlfWkgKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCROZWdhdGlvbikgewogICAgICAgICAgICAgICAgICAgICAgICAkSXNNYXRjaGVkID0gISRJc01hdGNoZWQ7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAjIENvbWJpbmUgY29uZGl0aW9ucyBmb3IgdGhpcyBmaWVsZCBieSBPUi4KICAgICAgICAgICAgICAgICAgICBpZiAoJElzTWF0Y2hlZCkgewoKICAgICAgICAgICAgICAgICAgICAgICAgJFJlc3VsdCAuPSAnMSB8fCAnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJFJlc3VsdCAuPSAnMCB8fCAnOwoKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJFJlc3VsdCA9IHN1YnN0ciAkUmVzdWx0LCAwLCAtNDsKCiAgICAgICAgICAgICAgICAjIENvbWJpbmUgYWxsIGNvbmRpdGlvbnMgYnkgQU5ELgogICAgICAgICAgICAgICAgJFJlc3VsdHMgLj0gIigke1Jlc3VsdH0pICYmICI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRSZXN1bHRzID0gc3Vic3RyICRSZXN1bHRzLCAwLCAtNDsKCiAgICAgICAgICAgICMgQmxvY2sgc3VydmV5IGVtYWlsIGlmIGNvbmRpdGlvbnMgZXZhbHVhdGVzIHRvIGZhbHNlLgogICAgICAgICAgICByZXR1cm4gaWYgIWV2YWwoJFJlc3VsdHMpOyAgICAjIyBubyBjcml0aWMgcXcoQnVpbHRpbkZ1bmN0aW9uczo6UHJvaGliaXRTdHJpbmd5RXZhbCkKICAgICAgICB9CiAgICB9CgogICAgZm9yIG15ICREYXRhICggc29ydCBrZXlzICVUaWNrZXQgKSB7CiAgICAgICAgaWYgKCBkZWZpbmVkICRUaWNrZXR7JERhdGF9ICkgewogICAgICAgICAgICAkU3ViamVjdCA9fiBzLzxPVE9CT19USUNLRVRfJERhdGE+LyRUaWNrZXR7JERhdGF9L2dpOwogICAgICAgICAgICAkQm9keSAgICA9fiBzLzxPVE9CT19USUNLRVRfJERhdGE+LyRUaWNrZXR7JERhdGF9L2dpOwoKICAgICAgICAgICAgIyBmaWx0ZXIgZm9yIG5ldyByaWNoIHRleHQgY29udGVudAogICAgICAgICAgICAkQm9keSA9fiBzLyZsdDtPVE9CT19USUNLRVRfJERhdGEmZ3Q7LyRUaWNrZXR7JERhdGF9L2c7CiAgICAgICAgfQogICAgfQoKICAgICMgY2xlYW51cAogICAgJFN1YmplY3QgPX4gcy88T1RPQk9fVElDS0VUXy4rPz4vLS9naTsKICAgICRCb2R5ICAgID1+IHMvPE9UT0JPX1RJQ0tFVF8uKz8+Ly0vZ2k7CgogICAgIyByZXBsYWNlIGNvbmZpZyBvcHRpb25zCiAgICAkU3ViamVjdCA9fiBzezxPVE9CT19DT05GSUdfKC4rPyk+fXskQ29uZmlnT2JqZWN0LT5HZXQoJDEpfWVneDsKICAgICRCb2R5ICAgID1+IHN7PE9UT0JPX0NPTkZJR18oLis/KT59eyRDb25maWdPYmplY3QtPkdldCgkMSl9ZWd4OwoKICAgICMgZmlsdGVyIGZvciBuZXcgcmljaCB0ZXh0IGNvbnRlbnQKICAgICRCb2R5ID1+IHN7Jmx0O09UT0JPX0NPTkZJR18oLis/KSZndDt9eyRDb25maWdPYmplY3QtPkdldCgkMSl9ZWd4OwoKICAgICMgY2xlYW51cAogICAgJFN1YmplY3QgPX4gcy88T1RPQk9fQ09ORklHXy4rPz4vLS9naTsKICAgICRCb2R5ICAgID1+IHMvPE9UT0JPX0NPTkZJR18uKz8+Ly0vZ2k7CgogICAgIyBmaWx0ZXIgZm9yIG5ldyByaWNoIHRleHQgY29udGVudAogICAgJEJvZHkgPX4gcy8mbHQ7T1RPQk9fQ09ORklHXy4rPyZndDsvLS9naTsKCiAgICAjIGdldCBjdXN0b21lciBkYXRhIGFuZCByZXBsYWNlIGl0IHdpdGggPE9UT0JPX0NVU1RPTUVSX0RBVEFfLi4uCiAgICBpZiAoJUN1c3RvbWVyVXNlcikgewoKICAgICAgICAjIHJlcGxhY2UgY3VzdG9tZXIgc3R1ZmYgd2l0aCB0YWdzCiAgICAgICAgQ1VTVE9NRVI6CiAgICAgICAgZm9yIG15ICREYXRhICggc29ydCBrZXlzICVDdXN0b21lclVzZXIgKSB7CiAgICAgICAgICAgIG5leHQgQ1VTVE9NRVIgaWYgISRDdXN0b21lclVzZXJ7JERhdGF9OwoKICAgICAgICAgICAgJFN1YmplY3QgPX4gcy88T1RPQk9fQ1VTVE9NRVJfREFUQV8kRGF0YT4vJEN1c3RvbWVyVXNlcnskRGF0YX0vZ2k7CiAgICAgICAgICAgICRCb2R5ICAgID1+IHMvPE9UT0JPX0NVU1RPTUVSX0RBVEFfJERhdGE+LyRDdXN0b21lclVzZXJ7JERhdGF9L2dpOwoKICAgICAgICAgICAgIyBmaWx0ZXIgZm9yIG5ldyByaWNoIHRleHQgY29udGVudAogICAgICAgICAgICAkQm9keSA9fiBzLyZsdDtPVE9CT19DVVNUT01FUl9EQVRBXyREYXRhJmd0Oy8kQ3VzdG9tZXJVc2VyeyREYXRhfS9naTsKICAgICAgICB9CiAgICB9CgogICAgIyBjbGVhbnVwIGFsbCBub3QgbmVlZGVkIDxPVE9CT19DVVNUT01FUl9EQVRBXyB0YWdzCiAgICAkU3ViamVjdCA9fiBzLzxPVE9CT19DVVNUT01FUl9EQVRBXy4rPz4vLS9naTsKICAgICRCb2R5ICAgID1+IHMvPE9UT0JPX0NVU1RPTUVSX0RBVEFfLis/Pi8tL2dpOwoKICAgICMgZmlsdGVyIGZvciBuZXcgcmljaCB0ZXh0IGNvbnRlbnQKICAgICRCb2R5ID1+IHMvJmx0O09UT0JPX0NVU1RPTUVSX0RBVEFfLis/Jmd0Oy8tL2dpOwoKICAgICMgcmVwbGFjZSBrZXkKICAgICRTdWJqZWN0ID1+IHMvPE9UT0JPX1B1YmxpY1N1cnZleUtleT4vJFB1YmxpY1N1cnZleUtleS9naTsKICAgICRCb2R5ICAgID1+IHMvPE9UT0JPX1B1YmxpY1N1cnZleUtleT4vJFB1YmxpY1N1cnZleUtleS9naTsKCiAgICAjIGZpbHRlciBmb3IgbmV3IHJpY2ggdGV4dCBjb250ZW50CiAgICAkQm9keSA9fiBzLyZsdDtPVE9CT19QdWJsaWNTdXJ2ZXlLZXkmZ3Q7LyRQdWJsaWNTdXJ2ZXlLZXkvZ2k7CgogICAgIyBHZXQgcmVxdWVzdCByZWNpcGllbnQuCiAgICBteSAkVG8gPSAkU2VsZi0+X0dldFJlcXVlc3RSZWNpcGllbnQoCiAgICAgICAgVXNlckVtYWlsID0+ICRDdXN0b21lclVzZXJ7VXNlckVtYWlsfSAvLyAnJywKICAgICAgICBUaWNrZXRJRCAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICk7CgogICAgcmV0dXJuIGlmICEkVG87CgogICAgIyBjaGVjayBpZiBub3Qgc3VydmV5IHNob3VsZCBiZSBzZW5kCiAgICBteSAkU2VuZE5vU3VydmV5UmVnRXhwID0gJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OlNlbmROb1N1cnZleVJlZ0V4cCcpOwoKICAgIHJldHVybiBpZiAkU2VuZE5vU3VydmV5UmVnRXhwICYmICRUbyA9fiAvJFNlbmROb1N1cnZleVJlZ0V4cC9pOwoKICAgICMgT25seSBpZiB3ZSBoYXZlbid0IGJlZW4gY2FsbGVkIGJ5IENST04KICAgIGlmICggISRQYXJhbXtUcmlnZ2VyU2VuZFJlcXVlc3RzfSApIHsKICAgICAgICBteSAkQW1vdW50T2ZTdXJ2ZXlzUGVyMzBEYXlzID0gJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OkFtb3VudE9mU3VydmV5c1BlcjMwRGF5cycpOwoKICAgICAgICAjIGlmIHdlIHNob3VsZCBqdXN0IHNlbmQgYSBjZXJ0YWluIGFtb3VudCBvZiBzdXJ2ZXlzIHBlciAzMCBkYXlzICYgcmVjaXBpZW50CiAgICAgICAgaWYgKCRBbW91bnRPZlN1cnZleXNQZXIzMERheXMpIHsKCiAgICAgICAgICAgICMgQ3JlYXRlIGEgbmV3IERhdGVUaW1lIG9iamVjdCAoY3VycmVudCB0aW1lKS4KICAgICAgICAgICAgbXkgJERhdGVUaW1lT2JqZWN0ID0gJEtlcm5lbDo6T00tPkNyZWF0ZSgnS2VybmVsOjpTeXN0ZW06OkRhdGVUaW1lJyk7CgogICAgICAgICAgICAjIEZpbmQgYWxsIHN1cnZleXMgdGhhdCB3ZXJlIGNyZWF0ZWQgaW4gdGhlIGxhc3QgMzAgZGF5cwogICAgICAgICAgICAkRGF0ZVRpbWVPYmplY3QtPlN1YnRyYWN0KAogICAgICAgICAgICAgICAgRGF5cyA9PiAzMCwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgICAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgICAgICAgICBTRUxFQ1QgY3JlYXRlX3RpbWUKICAgICAgICAgICAgICAgICAgICBGUk9NIHN1cnZleV9yZXF1ZXN0CiAgICAgICAgICAgICAgICAgICAgV0hFUkUgTE9XRVIoc2VuZF90bykgPSA/CiAgICAgICAgICAgICAgICAgICAgICAgIEFORCBjcmVhdGVfdGltZSA+PSA/CiAgICAgICAgICAgICAgICAgICAgT1JERVIgQlkgY3JlYXRlX3RpbWUgREVTQycsCiAgICAgICAgICAgICAgICBCaW5kID0+IFsgXCRUbywgXCREYXRlVGltZU9iamVjdC0+VG9TdHJpbmcoKSwgXSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgICAgICAgICBteSBAUm93czsKICAgICAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgICAgICAgICBwdXNoIEBSb3dzLCAkUm93WzBdOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIElmIHdlIGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbW91bnQgb2Ygc3VydmV5cyBwZXIgbW9udGgKICAgICAgICAgICAgaWYgKCBzY2FsYXIgQFJvd3MgPj0gJEFtb3VudE9mU3VydmV5c1BlcjMwRGF5cyApIHsKCiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBpZiBhIHN1cnZleSBpcyBzZW50IGluIHRoZSBsYXN0IHRpbWUKICAgIG15ICRTZW5kUGVyaW9kID0gJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OlNlbmRQZXJpb2QnKTsKICAgIGlmICgkU2VuZFBlcmlvZCkgewogICAgICAgIG15ICRMYXN0U2VudERhdGVUaW1lOwoKICAgICAgICAjIGdldCBzZW5kIHRpbWUKICAgICAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgICAgIFNFTEVDVCBzZW5kX3RpbWUKICAgICAgICAgICAgICAgIEZST00gc3VydmV5X3JlcXVlc3QKICAgICAgICAgICAgICAgIFdIRVJFIExPV0VSKHNlbmRfdG8pID0gPwogICAgICAgICAgICAgICAgT1JERVIgQlkgc2VuZF90aW1lIERFU0MnLAogICAgICAgICAgICBCaW5kICA9PiBbIFwkVG8gXSwKICAgICAgICAgICAgTGltaXQgPT4gMSwKICAgICAgICApOwoKICAgICAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgICAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAgICAgJExhc3RTZW50RGF0ZVRpbWUgPSAkS2VybmVsOjpPTS0+Q3JlYXRlKAogICAgICAgICAgICAgICAgJ0tlcm5lbDo6U3lzdGVtOjpEYXRlVGltZScsCiAgICAgICAgICAgICAgICBPYmplY3RQYXJhbXMgPT4gewogICAgICAgICAgICAgICAgICAgIFN0cmluZyA9PiAkUm93WzBdLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIGlmICgkTGFzdFNlbnREYXRlVGltZSkgewogICAgICAgICAgICBteSAkRGF0ZVRpbWVPYmplY3QgPSAkS2VybmVsOjpPTS0+Q3JlYXRlKAogICAgICAgICAgICAgICAgJ0tlcm5lbDo6U3lzdGVtOjpEYXRlVGltZScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkTGFzdFNlbnREYXRlVGltZS0+QWRkKAogICAgICAgICAgICAgICAgU2Vjb25kcyA9PiAkU2VuZFBlcmlvZCAqIDI0ICogNjAgKiA2MCwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybiBpZiAkTGFzdFNlbnREYXRlVGltZSA+ICREYXRlVGltZU9iamVjdDsKICAgICAgICB9CiAgICB9CiAgICBteSAkU2VuZEluSG91cnNBZnRlckNsb3NlID0gJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OlNlbmRJbkhvdXJzQWZ0ZXJDbG9zZScpOwoKICAgICMgSWYgbm8gRGVsYXllZCBTZW5kaW5nIGlzIGNvbmZpZ3VyZWQKICAgICMgc2VuZCBpbW1lZGlhdGVseSwgbG9nIGl0IHRvIFRpY2tldCBIaXN0b3J5IGFuZCBpbnNlcnQgaXQgdG8gc3VydmV5X3JlcXVlc3RzCiAgICAjIGluY2x1ZGluZyBzZW50X3RpbWUKICAgIGlmICggISRTZW5kSW5Ib3Vyc0FmdGVyQ2xvc2UgJiYgISRQYXJhbXtUcmlnZ2VyU2VuZFJlcXVlc3RzfSApIHsKCiAgICAgICAgIyBpbnNlcnQgcmVxdWVzdAogICAgICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgICAgIElOU0VSVCBJTlRPIHN1cnZleV9yZXF1ZXN0ICh0aWNrZXRfaWQsIHN1cnZleV9pZCwgdmFsaWRfaWQsIHB1YmxpY19zdXJ2ZXlfa2V5LAogICAgICAgICAgICAgICAgICAgIHNlbmRfdG8sIHNlbmRfdGltZSwgY3JlYXRlX3RpbWUpCiAgICAgICAgICAgICAgICBWQUxVRVMgKD8sID8sIDEsID8sID8sIGN1cnJlbnRfdGltZXN0YW1wLCBjdXJyZW50X3RpbWVzdGFtcCknLAogICAgICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtUaWNrZXRJRH0sIFwkU3VydmV5SUQsIFwkUHVibGljU3VydmV5S2V5LCBcJFRvIF0sCiAgICAgICAgKTsKCiAgICAgICAgIyBsb2cgYWN0aW9uIG9uIHRpY2tldAogICAgICAgICRUaWNrZXRPYmplY3QtPkhpc3RvcnlBZGQoCiAgICAgICAgICAgIFRpY2tldElEICAgICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICBDcmVhdGVVc2VySUQgPT4gMSwKICAgICAgICAgICAgSGlzdG9yeVR5cGUgID0+ICdNaXNjJywKICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICJTZW50IGN1c3RvbWVyIHN1cnZleSB0byAnJFRvJy4iLAogICAgICAgICk7CiAgICB9CgogICAgIyBJZiB3ZSBzaG91bGQgc2VuZCBkZWxheWVkIGp1c3QgQ1JPTiBqb2JzIGRlbGl2ZXIgIlRyaWdnZXJTZW5kUmVxdWVzdHMiLAogICAgIyBzbyB3ZSB3ZXJlIGNhbGxlZCBieSBhIGNsb3NlZCB0aWNrZXQKICAgICMgYW5kIGhhdmUgdG8gY3JlYXRlIHRoZSBzdXJ2ZXlfcmVxdWVzdCByZWNvcmQgd2l0aCBubyBzZW5kX3RpbWUKICAgICMgKHdpbGwgYmUgZmlsbGVkIGluIGJ5IENST04gam9iIGFzIHNvb24gYXMgaXQgcmVhbGx5IGdvdCBkZWxpdmVyZWQpCiAgICAjIGFkZGl0aW9uYWxseSBubyBUaWNrZXQgSGlzdG9yeSB5ZXQsIGNhdXNlIG5vIHNlbmQgaGFzIGhhcHBlbmVkCiAgICBlbHNpZiAoICRTZW5kSW5Ib3Vyc0FmdGVyQ2xvc2UgJiYgISRQYXJhbXtUcmlnZ2VyU2VuZFJlcXVlc3RzfSApIHsKCiAgICAgICAgIyBpbnNlcnQgcmVxdWVzdAogICAgICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgICAgIElOU0VSVCBJTlRPIHN1cnZleV9yZXF1ZXN0ICh0aWNrZXRfaWQsIHN1cnZleV9pZCwgdmFsaWRfaWQsIHB1YmxpY19zdXJ2ZXlfa2V5LAogICAgICAgICAgICAgICAgICAgIHNlbmRfdG8sIGNyZWF0ZV90aW1lKQogICAgICAgICAgICAgICAgVkFMVUVTICg/LCA/LCAxLCA/LCA/LCBjdXJyZW50X3RpbWVzdGFtcCknLAogICAgICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtUaWNrZXRJRH0sIFwkU3VydmV5SUQsIFwkUHVibGljU3VydmV5S2V5LCBcJFRvLCBdLAogICAgICAgICk7CgogICAgfQoKICAgICMgaGVyZSB3ZSBnb3QgY2FsbGVkIGJ5IENST04sIGFuZCBubyBtYXR0ZXIgaWYgU2VuZEluSG91cnNBZnRlckNsb3NlIGlzIGNvbmZpZ3VyZWQKICAgICMgb3Igbm90LCB3ZSBoYXZlIHRvIHNlbmQgdGhlIHN1cnZleSByZXF1ZXN0cyB0aGF0IHdlcmVuJ3Qgc2VudCB5ZXQKICAgICMgdGhpcyB0aW1lIHdlIGhhdmUgdG8gdXBkYXRlIHRoZSBzdXJ2ZXlfcmVxdWVzdCBsaW5lCiAgICAjIHRvIGZpbGwgaW4gdGhlIHNlbmRfdGltZSBhbmQgY3JlYXRlIHRoZSBUaWNrZXQgSGlzdG9yeSBlbnRyeQogICAgZWxzaWYgKAogICAgICAgICRQYXJhbXtUcmlnZ2VyU2VuZFJlcXVlc3RzfQogICAgICAgICYmICRQYXJhbXtTdXJ2ZXlSZXF1ZXN0SUR9CiAgICAgICAgJiYgJFBhcmFte1N1cnZleVJlcXVlc3RJRH0gPX4gL15cZCskLwogICAgICAgICkKICAgIHsKICAgICAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgICAgICBVUERBVEUgc3VydmV5X3JlcXVlc3QKICAgICAgICAgICAgICAgIFNFVCBzZW5kX3RpbWUgPSBjdXJyZW50X3RpbWVzdGFtcAogICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17U3VydmV5UmVxdWVzdElEfSBdLAogICAgICAgICk7CgogICAgICAgICMgbG9nIGFjdGlvbiBvbiB0aWNrZXQKICAgICAgICAkVGlja2V0T2JqZWN0LT5IaXN0b3J5QWRkKAogICAgICAgICAgICBUaWNrZXRJRCAgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgQ3JlYXRlVXNlcklEID0+IDEsCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICA9PiAnTWlzYycsCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAiU2VudCBjdXN0b21lciBzdXJ2ZXkgdG8gJyRUbycuIiwKICAgICAgICApOwogICAgfQoKICAgICMgZ2V0IGNoYXJzZXQKICAgIG15ICRDaGFyc2V0ID0gJENvbmZpZ09iamVjdC0+R2V0KCdEZWZhdWx0Q2hhcnNldCcpIHx8ICd1dGYtOCc7CgogICAgIyBnZXQgSFRNTFV0aWxzIG9iamVjdAogICAgbXkgJEhUTUxVdGlsc09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpIVE1MVXRpbHMnKTsKCiAgICAjIGNsZWFuIEhUTUwgYW5kIGNvbnZlcnQgdGhlIEZpZWxkIGluIEhUTUwgKFxuIC0tPjxicj4pCiAgICAkQm9keSA9fiBze1xBXCRodG1sXC90ZXh0XCRccyguKil9eyQxfXhtczsKICAgIGlmICggISQxICkgewoKICAgICAgICAjIGNvbnZlcnQgYm9keSB0byBIVE1MCiAgICAgICAgJEJvZHkgPSAkSFRNTFV0aWxzT2JqZWN0LT5Ub0hUTUwoCiAgICAgICAgICAgIFN0cmluZyA9PiAkQm9keSwKICAgICAgICApOwogICAgfQoKICAgICMgcHJlcGFyZSBIVE1MIGxpbmtzCiAgICAkSFRNTFV0aWxzT2JqZWN0LT5MaW5rUXVvdGUoCiAgICAgICAgU3RyaW5nID0+IFwkQm9keSwKICAgICk7CgogICAgIyBjb21wbGV0ZSBIVE1MIGRvY3VtZW50CiAgICAkQm9keSA9ICRIVE1MVXRpbHNPYmplY3QtPkRvY3VtZW50Q29tcGxldGUoCiAgICAgICAgU3RyaW5nICA9PiAkQm9keSwKICAgICAgICBDaGFyc2V0ID0+ICRDaGFyc2V0LAogICAgKTsKCiAgICAjIHNlbmQgc3VydmV5CiAgICBpZiAoICEkU2VuZEluSG91cnNBZnRlckNsb3NlIHx8ICRQYXJhbXtUcmlnZ2VyU2VuZFJlcXVlc3RzfSApIHsKICAgICAgICByZXR1cm4gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkVtYWlsJyktPlNlbmQoCiAgICAgICAgICAgIEZyb20gICAgID0+ICRTdXJ2ZXl7Tm90aWZpY2F0aW9uU2VuZGVyfSwKICAgICAgICAgICAgVG8gICAgICAgPT4gJFRvLAogICAgICAgICAgICBTdWJqZWN0ICA9PiAkU3ViamVjdCwKICAgICAgICAgICAgTWltZVR5cGUgPT4gJ3RleHQvaHRtbCcsCiAgICAgICAgICAgIENoYXJzZXQgID0+ICRDaGFyc2V0LAogICAgICAgICAgICBCb2R5ICAgICA9PiAkQm9keSwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgUmVxdWVzdENvdW50KCkKCnRvIGNvdW50IGFsbCByZXF1ZXN0cyBvZiBhIHN1cnZleQoKICAgIG15ICRSZXF1ZXN0Q291bnQgPSAkU3VydmV5T2JqZWN0LT5SZXF1ZXN0Q291bnQoCiAgICAgICAgUXVlc3Rpb25JRCA9PiAxMjMsCiAgICAgICAgVmFsaWRJRCA9PiAwLCAgICAgICAjICgwfDF8YWxsKQogICAgKTsKCj1jdXQKCnN1YiBSZXF1ZXN0Q291bnQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoU3VydmV5SUQgVmFsaWRJRCkpIHsKICAgICAgICBpZiAoICFkZWZpbmVkICRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGNvdW50IHJlcXVlc3RzCiAgICBteSAkU1FMID0gJwogICAgICAgIFNFTEVDVCBDT1VOVChpZCkKICAgICAgICBGUk9NIHN1cnZleV9yZXF1ZXN0CiAgICAgICAgV0hFUkUgc3VydmV5X2lkID0gPyc7CgogICAgIyBhZGQgdmFsaWQgcGFydAogICAgaWYgKCAhJFBhcmFte1ZhbGlkSUR9ICkgewogICAgICAgICRTUUwgLj0gIiBBTkQgdmFsaWRfaWQgPSAwIjsKICAgIH0KICAgIGVsc2lmICggJFBhcmFte1ZhbGlkSUR9IGVxIDEgKSB7CiAgICAgICAgJFNRTCAuPSAiIEFORCB2YWxpZF9pZCA9IDEiOwogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBhc2sgZGF0YWJhc2UKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICRTUUwsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1N1cnZleUlEfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFJlcXVlc3RDb3VudDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRSZXF1ZXN0Q291bnQgPSAkUm93WzBdOwogICAgfQoKICAgIHJldHVybiAkUmVxdWVzdENvdW50Owp9Cgo9aGVhZDIgUmVxdWVzdERlbGV0ZSgpCgpkZWxldGUgcmVxdWVzdCBieSBpZAoKICAgIG15ICRWb3RlRGVsZXRlID0gJFN1cnZleU9iamVjdC0+UmVxdWVzdERlbGV0ZSgKICAgICAgICBSZXF1ZXN0SUQgPT4gMTIzLAogICAgKTsKCj1jdXQKCnN1YiBSZXF1ZXN0RGVsZXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFJlcXVlc3RJRCkpIHsKICAgICAgICBpZiAoICFkZWZpbmVkICRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGNvdW50IHZvdGVzCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgU1FMICAgPT4gJ0RFTEVURSBGUk9NIHN1cnZleV9yZXF1ZXN0IFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1JlcXVlc3RJRH0gXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKPWJlZ2luIEludGVybmFsOgoKPWhlYWQyIF9HZXRSZXF1ZXN0UmVjaXBpZW50KCkKCkV4dHJhY3RzIGFuZCBjaGVja3MgdGhlIHJlY2lwaWVudCBmb3IgdGhlIHJlcXVlc3QuCgogICAgbXkgJFJlY2lwaWVudCA9ICRTdXJ2ZXlPYmplY3QtPl9HZXRSZXF1ZXN0UmVjaXBpZW50KAogICAgICAgIFVzZXJFbWFpbCA9PiAnVXNlciA8dXNlckBleGFtcGxlLmNvbT4nLCAgICAgIyBvcHRpb25hbAogICAgICAgIFRpY2tldElEICA9PiAxMjMsICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvcHRpb25hbAogICAgKQoKUmV0dXJuczoKCiAgICAkUmVjaXBpZW50ID0gJ3VzZXJAZXhhbXBsZS5jb20nOyAgICAjIG9yIGZhbHNlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCgo9Y3V0CgpzdWIgX0dldFJlcXVlc3RSZWNpcGllbnQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte1VzZXJFbWFpbH0gJiYgISRQYXJhbXtUaWNrZXRJRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkIFVzZXJFbWFpbCBvciBUaWNrZXRJRCIsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIG15ICRUb1N0cmluZyA9ICRQYXJhbXtVc2VyRW1haWx9OwoKICAgIGlmICggISRUb1N0cmluZyApIHsKICAgICAgICBteSAkQXJ0aWNsZU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6OkFydGljbGUnKTsKCiAgICAgICAgIyBTaW5jZSB3ZSBjYW4ndCBmaWx0ZXIgYnkgbXVsdGlwbGUgQ2hhbm5lbHMsIHdlIG5lZWQgdG8gZ2V0IGFsbCBhcnRpY2xlcyB2aXNpYmxlIHRvIHRoZSBjdXN0b21lci4KICAgICAgICBteSBAQXJ0aWNsZXMgPSAkQXJ0aWNsZU9iamVjdC0+QXJ0aWNsZUxpc3QoCiAgICAgICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgKTsKCiAgICAgICAgbXkgJENvbW11bmljYXRpb25DaGFubmVsT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNvbW11bmljYXRpb25DaGFubmVsJyk7CgogICAgICAgIG15IEBNSU1FQmFzZUNoYW5uZWxJRHM7CiAgICAgICAgZm9yIG15ICRDaGFubmVsIChxdyhFbWFpbCBJbnRlcm5hbCBQaG9uZSkpIHsKICAgICAgICAgICAgbXkgJUNvbW11bmljYXRpb25DaGFubmVsID0gJENvbW11bmljYXRpb25DaGFubmVsT2JqZWN0LT5DaGFubmVsR2V0KAogICAgICAgICAgICAgICAgQ2hhbm5lbE5hbWUgPT4gJENoYW5uZWwsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHB1c2ggQE1JTUVCYXNlQ2hhbm5lbElEcywgJENvbW11bmljYXRpb25DaGFubmVse0NoYW5uZWxJRH07CiAgICAgICAgfQoKICAgICAgICAjIEZpbHRlciBhcnRpY2xlcyB0aGF0IGFyZSBNSU1FQmFzZSBvbmx5LgogICAgICAgIG15IEBNSU1FQmFzZUFydGljbGVzOwogICAgICAgIGZvciBteSAkQXJ0aWNsZSAoQEFydGljbGVzKSB7CiAgICAgICAgICAgIGlmICggYW55IHsgJEFydGljbGUtPntDb21tdW5pY2F0aW9uQ2hhbm5lbElEfSA9PSAkXyB9IEBNSU1FQmFzZUNoYW5uZWxJRHMgKSB7CiAgICAgICAgICAgICAgICBwdXNoIEBNSU1FQmFzZUFydGljbGVzLCAkQXJ0aWNsZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBGaW5kIGxhc3QgYXJ0aWNsZSB2aXNpYmxlIGZvciBjdXN0b21lciB0aGF0IGhhcyBGcm9tL1RvIGZpZWxkLgogICAgICAgIFNFTkRFUl9UWVBFOgogICAgICAgIGZvciBteSAkU2VuZGVyVHlwZSAocXcoY3VzdG9tZXIgYWdlbnQpKSB7CgogICAgICAgICAgICAjIENoZWNrIGZvciBhcnRpY2xlcyBjcmVhdGVkIGJ5IGN1c3RvbWVyCiAgICAgICAgICAgIG15ICRTZW5kZXJUeXBlSUQgPSAkQXJ0aWNsZU9iamVjdC0+QXJ0aWNsZVNlbmRlclR5cGVMb29rdXAoCiAgICAgICAgICAgICAgICBTZW5kZXJUeXBlID0+ICRTZW5kZXJUeXBlLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgQVJUSUNMRToKICAgICAgICAgICAgZm9yIG15ICRBcnRpY2xlICggcmV2ZXJzZSBATUlNRUJhc2VBcnRpY2xlcyApIHsKICAgICAgICAgICAgICAgIGlmICggJEFydGljbGUtPntTZW5kZXJUeXBlSUR9ID09ICRTZW5kZXJUeXBlSUQgKSB7CiAgICAgICAgICAgICAgICAgICAgbXkgJEFydGljbGVCYWNrZW5kT2JqZWN0ID0gJEFydGljbGVPYmplY3QtPkJhY2tlbmRGb3JBcnRpY2xlKAogICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICAgICAgQXJ0aWNsZUlEID0+ICRBcnRpY2xlLT57QXJ0aWNsZUlEfSwKICAgICAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICAgICBteSAlQXJ0aWNsZURhdGEgPSAkQXJ0aWNsZUJhY2tlbmRPYmplY3QtPkFydGljbGVHZXQoCiAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgICAgICBBcnRpY2xlSUQgPT4gJEFydGljbGUtPntBcnRpY2xlSUR9LAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gMSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIGlmICggJFNlbmRlclR5cGUgZXEgJ2N1c3RvbWVyJyApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJFRvU3RyaW5nID0gJEFydGljbGVEYXRhe0Zyb219OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJFRvU3RyaW5nID0gJEFydGljbGVEYXRhe1RvfTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGxhc3QgU0VOREVSX1RZUEUgaWYgJFRvU3RyaW5nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgcGFyc2UgdGhlIHRvIHN0cmluZwogICAgbXkgJFRvOwogICAgZm9yIG15ICRUb1BhcnNlciAoIE1haWw6OkFkZHJlc3MtPnBhcnNlKCRUb1N0cmluZykgKSB7CiAgICAgICAgJFRvID0gJFRvUGFyc2VyLT5hZGRyZXNzKCk7CiAgICB9CgogICAgIyByZXR1cm4gaWYgbm8gdG8gaXMgZm91bmQKICAgIHJldHVybiBpZiAhJFRvOwoKICAgICMgY2hlY2sgaWYgaXQncyBhIHZhbGlkIGVtYWlsIGFkZHJlc3MgKG1pbiBpcyBuZWVkZWQpCiAgICByZXR1cm4gaWYgJFRvICF+IC9ALzsKCiAgICBteSAkVmFsaWRFbWFpbCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDaGVja0l0ZW0nKS0+Q2hlY2tFbWFpbCgKICAgICAgICBBZGRyZXNzID0+ICRUbywKICAgICk7CiAgICByZXR1cm4gaWYgISRWYWxpZEVtYWlsOwoKICAgICMgY29udmVydCB0byBsb3dlciBjYXNlcwogICAgJFRvID0gbGMgJFRvOwoKICAgICMgY2hlY2sgcmVjaXBpZW50IGJsYWNrbGlzdAogICAgbXkgJFJlY2lwaWVudEJsYWNrbGlzdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU3VydmV5OjpOb3RpZmljYXRpb25SZWNpcGllbnRCbGFja2xpc3QnKTsKICAgIGlmICgKICAgICAgICBkZWZpbmVkICRSZWNpcGllbnRCbGFja2xpc3QKICAgICAgICAmJiByZWYgJFJlY2lwaWVudEJsYWNrbGlzdCBlcSAnQVJSQVknCiAgICAgICAgJiYgQHskUmVjaXBpZW50QmxhY2tsaXN0fQogICAgICAgICkKICAgIHsKICAgICAgICBmb3IgbXkgJFJlY2lwaWVudCAoIEB7JFJlY2lwaWVudEJsYWNrbGlzdH0gKSB7CiAgICAgICAgICAgIHJldHVybiBpZiBkZWZpbmVkICRSZWNpcGllbnQgJiYgbGVuZ3RoICRSZWNpcGllbnQgJiYgJFRvIGVxIGxjICRSZWNpcGllbnQ7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAkVG87Cn0KCjE7Cgo9ZW5kIEludGVybmFsOgoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UT0JPIHByb2plY3QgKEw8aHR0cHM6Ly9vdG9iby5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dD4uCgo9Y3V0Cg==</File>
        <File Location="Kernel/System/Survey/Vote.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpTdXJ2ZXk6OlZvdGU7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpvdXIgJE9iamVjdE1hbmFnZXJEaXNhYmxlZCA9IDE7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpTeXN0ZW06OlN1cnZleTo6Vm90ZSAtIHN1YiBtb2R1bGUgb2YgS2VybmVsOjpTeXN0ZW06OlN1cnZleQoKPWhlYWQxIFNZTk9QU0lTCgpBbGwgc3VydmV5IHZvdGUgZnVuY3Rpb25zLgoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKCj1oZWFkMiBWb3RlR2V0KCkKCnRvIGdldCBhbGwgYXR0cmlidXRlcyBvZiBhIHZvdGUKCiAgICBteSBAVm90ZSA9ICRTdXJ2ZXlPYmplY3QtPlZvdGVHZXQoCiAgICAgICAgUmVxdWVzdElEID0+IDEzLAogICAgICAgIFF1ZXN0aW9uSUQgPT4gMjMKICAgICk7CgpyZXR1cm5zOgoKICAgIEBWb3RlID0gKAogICAgICAgIHsKICAgICAgICAgICAgUmVxdWVzdElEID0+IDEyMywKICAgICAgICAgICAgVm90ZVZhbHVlID0+ICdZZXMnLAogICAgICAgIH0sCiAgICAgICAgLi4uCiAgICApOwoKPWN1dAoKc3ViIFZvdGVHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoUmVxdWVzdElEIFF1ZXN0aW9uSUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBkYXRhYmFzZSBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZ2V0IHZvdGUKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCBpZCwgdm90ZV92YWx1ZQogICAgICAgICAgICBGUk9NIHN1cnZleV92b3RlCiAgICAgICAgICAgIFdIRVJFIHJlcXVlc3RfaWQgPSA/CiAgICAgICAgICAgICAgICBBTkQgcXVlc3Rpb25faWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtSZXF1ZXN0SUR9LCBcJFBhcmFte1F1ZXN0aW9uSUR9LCBdLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15IEBMaXN0OwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgbXkgJURhdGE7CiAgICAgICAgJERhdGF7UmVxdWVzdElEfSA9ICRSb3dbMF07CiAgICAgICAgJERhdGF7Vm90ZVZhbHVlfSA9ICRSb3dbMV0gfHwgJy0nOwoKICAgICAgICBwdXNoIEBMaXN0LCBcJURhdGE7CiAgICB9CgogICAgcmV0dXJuIEBMaXN0Owp9Cgo9aGVhZDIgVm90ZUdldEFsbCgpCgp0byBnZXQgYWxsIHZvdGVzIGZvciBhIHJlcXVlc3QgaWQsIGluY2x1ZGluZyBxdWVzdGlvbiBkYXRhCgogICAgbXkgQExpc3QgPSAkU3VydmV5T2JqZWN0LT5Wb3RlR2V0QWxsKAogICAgICAgIFJlcXVlc3RJRCA9PiAxLAogICAgKTsKCiAgICBSZXR1cm5zOgogICAgICAgIFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJ1ZvdGVJRCcgICAgICAgPT4gMSwKICAgICAgICAgICAgICAgICdWb3RlVmFsdWUnICAgID0+ICdUZXN0dmFsdWUnLAogICAgICAgICAgICAgICAgJ1F1ZXN0aW9uSUQnICAgPT4gMSwKICAgICAgICAgICAgICAgICdRdWVzdGlvbicgICAgID0+ICdGdW5ueSBxdWVzdGlvbiAjMScsCiAgICAgICAgICAgICAgICAnUXVlc3Rpb25UeXBlJyA9PiAnQ2hlY2tib3gnLAogICAgICAgICAgICB9LAogICAgICAgICAgICAuLi4KICAgICAgICBdCgo9Y3V0CgpzdWIgVm90ZUdldEFsbCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFJlcXVlc3RJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUCiAgICAgICAgICAgICAgICBzdm90ZS5pZCwgc3ZvdGUucXVlc3Rpb25faWQsIHN2b3RlLnZvdGVfdmFsdWUsCiAgICAgICAgICAgICAgICBzcXVlc3Rpb24ucXVlc3Rpb24sIHNxdWVzdGlvbi5xdWVzdGlvbl90eXBlCiAgICAgICAgICAgIEZST00KICAgICAgICAgICAgICAgIHN1cnZleV92b3RlIHN2b3RlLAogICAgICAgICAgICAgICAgc3VydmV5X3F1ZXN0aW9uIHNxdWVzdGlvbgogICAgICAgICAgICBXSEVSRQogICAgICAgICAgICAgICAgc3ZvdGUucmVxdWVzdF9pZCA9ID8gQU5EIHN2b3RlLnF1ZXN0aW9uX2lkID0gc3F1ZXN0aW9uLmlkCiAgICAgICAgICAgIE9SREVSIEJZIHN2b3RlLnF1ZXN0aW9uX2lkIEFTQycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17UmVxdWVzdElEfSwgXSwKICAgICk7CgogICAgbXkgQExpc3Q7CgogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CgogICAgICAgIG15ICVWb3RlRGF0YSA9ICgKICAgICAgICAgICAgVm90ZUlEICAgICAgID0+ICRSb3dbMF0sCiAgICAgICAgICAgIFZvdGVWYWx1ZSAgICA9PiAkUm93WzJdIHx8ICctJywKICAgICAgICAgICAgUXVlc3Rpb25JRCAgID0+ICRSb3dbMV0sCiAgICAgICAgICAgIFF1ZXN0aW9uICAgICA9PiAkUm93WzNdLAogICAgICAgICAgICBRdWVzdGlvblR5cGUgPT4gJFJvd1s0XSwKICAgICAgICApOwoKICAgICAgICBwdXNoIEBMaXN0LCBcJVZvdGVEYXRhOwogICAgfQoKICAgIHJldHVybiBATGlzdDsKfQoKPWhlYWQyIFZvdGVMaXN0KCkKCnRvIGdldCBhIGFycmF5IGxpc3Qgb2YgYWxsIHZvdGUgaXRlbXMKCiAgICBteSBATGlzdCA9ICRTdXJ2ZXlPYmplY3QtPlZvdGVMaXN0KAogICAgICAgIFN1cnZleUlEID0+IDEKICAgICk7CgpyZXR1cm5zOgoKICAgIEBMaXN0ID0gKAogICAgICAgIHsKICAgICAgICAgICAgUmVxdWVzdElEID0+IDEyMywKICAgICAgICAgICAgVGlja2V0SUQgID0+IDEyMywKICAgICAgICAgICAgU2VuZFRpbWUgID0+ICcyMDE3LTAxLTAxIDEyOjAwOjAwJywKICAgICAgICAgICAgVm90ZVRpbWUgID0+ICcyMDE3LTAxLTAyIDEyOjAwOjAwJywKICAgICAgICB9LAogICAgICAgIC4uLgogICAgKTsKCj1jdXQKCnN1YiBWb3RlTGlzdCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17U3VydmV5SUR9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBTdXJ2ZXlJRCEnLAogICAgICAgICk7CgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGdldCBkYXRhYmFzZSBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZ2V0IHZvdGUgbGlzdAogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIGlkLCB0aWNrZXRfaWQsIHNlbmRfdGltZSwgdm90ZV90aW1lCiAgICAgICAgICAgIEZST00gc3VydmV5X3JlcXVlc3QKICAgICAgICAgICAgV0hFUkUgc3VydmV5X2lkID0gPwogICAgICAgICAgICAgICAgQU5EIHZhbGlkX2lkID0gMAogICAgICAgICAgICBPUkRFUiBCWSB2b3RlX3RpbWUgREVTQycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17U3VydmV5SUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgQExpc3Q7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBteSAlRGF0YTsKICAgICAgICAkRGF0YXtSZXF1ZXN0SUR9ID0gJFJvd1swXTsKICAgICAgICAkRGF0YXtUaWNrZXRJRH0gID0gJFJvd1sxXTsKICAgICAgICAkRGF0YXtTZW5kVGltZX0gID0gJFJvd1syXTsKICAgICAgICAkRGF0YXtWb3RlVGltZX0gID0gJFJvd1szXTsKCiAgICAgICAgcHVzaCBATGlzdCwgXCVEYXRhOwogICAgfQoKICAgIHJldHVybiBATGlzdDsKfQoKPWhlYWQyIFZvdGVBdHRyaWJ1dGVHZXQoKQoKdG8gZ2V0IGFsbCBhdHRyaWJ1dGVzIG9mIGEgdm90ZQoKICAgIG15ICRWb3RlQXR0cmlidXRlQ29udGVudCA9ICRTdXJ2ZXlPYmplY3QtPlZvdGVBdHRyaWJ1dGVHZXQoCiAgICAgICAgVm90ZUlEID0+IDEzLAogICAgKTsKCnJldHVybnM6CiAgICAkVm90ZUF0dHJpYnV0ZUNvbnRlbnQgPSAnWWVzJzsKCj1jdXQKCnN1YiBWb3RlQXR0cmlidXRlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFZvdGVJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBnZXQgdm90ZSBhdHRyaWJ1dGUKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCB2b3RlX3ZhbHVlCiAgICAgICAgICAgIEZST00gc3VydmV5X3ZvdGUKICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17Vm90ZUlEfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFZvdGVBdHRyaWJ1dGVDb250ZW50ID0gJHsgJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgfVswXTsKCiAgICByZXR1cm4gJFZvdGVBdHRyaWJ1dGVDb250ZW50Owp9Cgo9aGVhZDIgVm90ZUNvdW50KCkKCnRvIGNvdW50IGFsbCB2b3RlcyBvZiBhIHN1cnZleQoKICAgIG15ICRWb3RlQ291bnQgPSAkU3VydmV5T2JqZWN0LT5Wb3RlQ291bnQoCiAgICAgICAgUXVlc3Rpb25JRCA9PiAxMjMsCiAgICAgICAgVm90ZVZhbHVlID0+ICdUaGUgVmFsdWUnLAogICAgKTsKCj1jdXQKCnN1YiBWb3RlQ291bnQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoUXVlc3Rpb25JRCBWb3RlVmFsdWUpKSB7CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBjb3VudCB2b3RlcwogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgU0VMRUNUIENPVU5UKHZvdGVfdmFsdWUpCiAgICAgICAgICAgIEZST00gc3VydmV5X3ZvdGUKICAgICAgICAgICAgV0hFUkUgcXVlc3Rpb25faWQgPSA/IEFORCB2b3RlX3ZhbHVlID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1F1ZXN0aW9uSUR9LCBcJFBhcmFte1ZvdGVWYWx1ZX0sIF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAkVm90ZUNvdW50OwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJFZvdGVDb3VudCA9ICRSb3dbMF07CiAgICB9CgogICAgcmV0dXJuICRWb3RlQ291bnQ7Cn0KCj1oZWFkMiBWb3RlRGVsZXRlKCkKCmRlbGV0ZSB2b3RlIGJ5IHJlcXVlc3QgaWQKCiAgICBteSAkVm90ZURlbGV0ZSA9ICRTdXJ2ZXlPYmplY3QtPlZvdGVEZWxldGUoCiAgICAgICAgUmVxdWVzdElEID0+IDEyMywKICAgICk7Cgo9Y3V0CgpzdWIgVm90ZURlbGV0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhSZXF1ZXN0SUQpKSB7CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBjb3VudCB2b3RlcwogICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgIFNRTCAgID0+ICdERUxFVEUgRlJPTSBzdXJ2ZXlfdm90ZSBXSEVSRSByZXF1ZXN0X2lkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte1JlcXVlc3RJRH0gXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKMTsKCj1oZWFkMSBURVJNUyBBTkQgQ09ORElUSU9OUwoKVGhpcyBzb2Z0d2FyZSBpcyBwYXJ0IG9mIHRoZSBPVE9CTyBwcm9qZWN0IChMPGh0dHBzOi8vb3RvYm8ub3JnLz4pLgoKVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQ+LgoKPWN1dAo=</File>
        <File Location="Kernel/System/Ticket/Event/SurveySendRequest.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6OkV2ZW50OjpTdXJ2ZXlTZW5kUmVxdWVzdDsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpMb2cnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6OkFydGljbGUnLAopOwoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoRXZlbnQgQ29uZmlnKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CiAgICBpZiAoICEkUGFyYW17RGF0YX0tPntUaWNrZXRJRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkIFRpY2tldElEISIsCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgbG9vcCBQcm90ZWN0aW9uLCBSZXF1ZXN0U2VuZCBjYWxscyBIaXN0b3J5QWRkCiAgICAjIHNvIHdlIGNhbid0IGxpc3RlbiBvbiBIaXN0b3J5QWRkIEV2ZW50cyBpbiBvcmRlciB0bwogICAgIyBwcmV2ZW50IGRlZXAgcmVjdXJzaW9uCiAgICByZXR1cm4gMSBpZiAkUGFyYW17RXZlbnR9IGVxICdIaXN0b3J5QWRkJzsKCiAgICAjIGdldCB0aWNrZXQgb2JqZWN0CiAgICBteSAkVGlja2V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldCcpOwoKICAgICMgZ2V0IHRpY2tldCBkYXRhCiAgICBteSAlVGlja2V0ID0gJFRpY2tldE9iamVjdC0+VGlja2V0R2V0KAogICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtEYXRhfXtUaWNrZXRJRH0sCiAgICApOwoKICAgIHJldHVybiAxIGlmICRUaWNrZXR7U3RhdGVUeXBlfSBuZSAnY2xvc2VkJzsKCiAgICAjIHNlbmQgYWxzbyBzdXJ2ZXkgcmVxdWVzdCBvbiB0aWNrZXQgY3JlYXRpb24gKG9uIGZpcnN0IGFydGljbGUpCiAgICBpZiAoICRQYXJhbXtFdmVudH0gZXEgJ0FydGljbGVDcmVhdGUnICkgewoKICAgICAgICBteSBAQXJ0aWNsZXMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0OjpBcnRpY2xlJyktPkFydGljbGVMaXN0KAogICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17RGF0YX17VGlja2V0SUR9LAogICAgICAgICk7CgogICAgICAgIHJldHVybiAxIGlmIHNjYWxhciBAQXJ0aWNsZXMgIT0gMTsKICAgIH0KCiAgICAjIHNlbmQgcmVxdWVzdAogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpLT5SZXF1ZXN0U2VuZCgKICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17RGF0YX0tPntUaWNrZXRJRH0sCiAgICApOwoKICAgIHJldHVybiAxOwp9CgoxOwo=</File>
        <File Location="scripts/test/Console/Command/Maint/Survey/RequestsDelete.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKIyBnZXQgbmVlZGVkIG9iamVjdHMKbXkgJERCT2JqZWN0ICAgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKbXkgJENvbmZpZ09iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwpteSAkU3VydmV5T2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKbXkgJFRpY2tldE9iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0Jyk7Cm15ICRDb21tYW5kT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNvbnNvbGU6OkNvbW1hbmQ6Ok1haW50OjpTdXJ2ZXk6OlJlcXVlc3RzRGVsZXRlJyk7CgojIGdldCBoZWxwZXIgb2JqZWN0CiRLZXJuZWw6Ok9NLT5PYmplY3RQYXJhbUFkZCgKICAgICdLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OkhlbHBlcicgPT4gewogICAgICAgIFJlc3RvcmVEYXRhYmFzZSA9PiAxLAogICAgfSwKKTsKbXkgJEhlbHBlciA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CgojIGdldCByYW5kb20KbXkgJFJhbmRvbU5hbWUgPSAkSGVscGVyLT5HZXRSYW5kb21JRCgpIC4gJ190ZXN0dXNlcic7CgojIHNldCBjb25maWcKJENvbmZpZ09iamVjdC0+U2V0KAogICAgVmFsaWQgPT4gMSwKICAgIEtleSAgID0+ICdTdXJ2ZXk6OkRlbGV0ZVBlcmlvZCcsCiAgICBWYWx1ZSA9PiA1MCwgICAgICAgICAgICAgICAgICAgICAgICMgb2xkZXIgNTAgZGF5cwopOwoKIyBjcmVhdGUgdGlja2V0Cm15ICRUaWNrZXRJRCA9ICRUaWNrZXRPYmplY3QtPlRpY2tldENyZWF0ZSgKICAgIFRpdGxlICAgICAgICA9PiAnU29tZSBUaWNrZXRfVGl0bGUnLAogICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgTG9jayAgICAgICAgID0+ICd1bmxvY2snLAogICAgUHJpb3JpdHkgICAgID0+ICczIG5vcm1hbCcsCiAgICBTdGF0ZSAgICAgICAgPT4gJ2Nsb3NlZCBzdWNjZXNzZnVsJywKICAgIEN1c3RvbWVyTm8gICA9PiAnMTIzNDY1JywKICAgIEN1c3RvbWVyVXNlciA9PiAndW5pdHRlc3RAb3RvYm8uY29tJywKICAgIE93bmVySUQgICAgICA9PiAxLAogICAgVXNlcklEICAgICAgID0+IDEsCik7CiRTZWxmLT5UcnVlKAogICAgJFRpY2tldElELAogICAgJ1RpY2tldENyZWF0ZSgpJywKKTsKCiMgYWRkIHN1cnZleQpteSAkU3VydmV5SUQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlBZGQoCiAgICBVc2VySUQgICAgICAgICAgICAgID0+IDEsCiAgICBUaXRsZSAgICAgICAgICAgICAgID0+ICdBIFRpdGxlJywKICAgIEludHJvZHVjdGlvbiAgICAgICAgPT4gJ1RoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIHN1cnZleScsCiAgICBEZXNjcmlwdGlvbiAgICAgICAgID0+ICdUaGUgaW50ZXJuYWwgZGVzY3JpcHRpb24gb2YgdGhlIHN1cnZleScsCiAgICBOb3RpZmljYXRpb25TZW5kZXIgID0+ICdxdWFsaXR5QGV4YW1wbGUuY29tJywKICAgIE5vdGlmaWNhdGlvblN1YmplY3QgPT4gJ0hlbHAgdXMgd2l0aCB5b3VyIGZlZWRiYWNrIScsCiAgICBOb3RpZmljYXRpb25Cb2R5ICAgID0+ICdEZWFyIGN1c3RvbWVyLi4uJywKKTsKJFNlbGYtPlRydWUoCiAgICAkU3VydmV5SUQsCiAgICAnU3VydmV5QWRkKCknLAopOwoKIyBhZGQgcXVlc3Rpb24KbXkgJFF1ZXN0aW9uSUQgPSAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkFkZCgKICAgIFVzZXJJRCAgICAgICAgID0+IDEsCiAgICBTdXJ2ZXlJRCAgICAgICA9PiAkU3VydmV5SUQsCiAgICBRdWVzdGlvbiAgICAgICA9PiAnVGhlIFF1ZXN0aW9uJywKICAgIEFuc3dlclJlcXVpcmVkID0+IDEsCiAgICBUeXBlICAgICAgICAgICA9PiAnUmFkaW8nLAopOwokU2VsZi0+VHJ1ZSgKICAgICRRdWVzdGlvbklELAogICAgJ1F1ZXN0aW9uQWRkKCknLAopOwoKbXkgJE9sZGVyRGF0ZVRpbWVPYmplY3QgPSAkS2VybmVsOjpPTS0+Q3JlYXRlKCdLZXJuZWw6OlN5c3RlbTo6RGF0ZVRpbWUnKTsKJE9sZGVyRGF0ZVRpbWVPYmplY3QtPlN1YnRyYWN0KAogICAgRGF5cyA9PiA1MCwKKTsKJE9sZGVyRGF0ZVRpbWVPYmplY3QtPlNldCgKICAgIEhvdXIgICA9PiAnMjMnLAogICAgTWludXRlID0+ICc1OScsCiAgICBTZWNvbmQgPT4gJzU5JywKKTsKCm15ICRSZXF1ZXN0Q3JlYXRlVGltZU9sZGVyRGF0ZSA9ICRPbGRlckRhdGVUaW1lT2JqZWN0LT5Ub1N0cmluZygpOwoKIyBhZGQgcmVxdWVzdHMKZm9yICggMSAuLi4gMTAgKSB7CgogICAgIyBpbnNlcnQgZGF0YQogICAgbXkgJEluc2VydFJlcXVlc3RzID0gJERCT2JqZWN0LT5EbygKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBJTlNFUlQgSU5UTyBzdXJ2ZXlfcmVxdWVzdCAodGlja2V0X2lkLCBzdXJ2ZXlfaWQsIHZhbGlkX2lkLCBwdWJsaWNfc3VydmV5X2tleSwKICAgICAgICAgICAgICAgIHNlbmRfdG8sIHNlbmRfdGltZSwgdm90ZV90aW1lLCBjcmVhdGVfdGltZSkKICAgICAgICAgICAgVkFMVUVTICg/LCA/LCAxLCA/LCA/LCBjdXJyZW50X3RpbWVzdGFtcCwgY3VycmVudF90aW1lc3RhbXAsID8pJywKICAgICAgICBCaW5kID0+IFsgXCRUaWNrZXRJRCwgXCRTdXJ2ZXlJRCwgXCRIZWxwZXItPkdldFJhbmRvbUlEKCksIFwkUmFuZG9tTmFtZSwgXCRSZXF1ZXN0Q3JlYXRlVGltZU9sZGVyRGF0ZSBdLAogICAgKTsKICAgICRTZWxmLT5UcnVlKAogICAgICAgICRJbnNlcnRSZXF1ZXN0cywKICAgICAgICAiU3VydmV5IHJlcXVlc3RzIGFkZGVkLiIsCiAgICApOwp9CgojIGluaXQgcmVxdWVzdCBpZCBhcnJheQojIHNlbGVjdCBsYXRlc3QgcmVxdWVzdCBpZHMKbXkgQFJlcXVlc3RJRHM7CgokREJPYmplY3QtPlByZXBhcmUoCiAgICBTUUwgPT4gIlNFTEVDVCBpZCBGUk9NIHN1cnZleV9yZXF1ZXN0IFdIRVJFIGNyZWF0ZV90aW1lID0gJyRSZXF1ZXN0Q3JlYXRlVGltZU9sZGVyRGF0ZScgIiwKKTsKCndoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgcHVzaCBAUmVxdWVzdElEcywgJFJvd1swXTsKfQoKZm9yIG15ICRSZXF1ZXN0SUQgKEBSZXF1ZXN0SURzKSB7CgogICAgIyBpbnNlcnQgZGF0YQogICAgbXkgJEluc2VydFZvdGVzID0gJERCT2JqZWN0LT5EbygKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBJTlNFUlQgSU5UTyBzdXJ2ZXlfdm90ZSAocmVxdWVzdF9pZCwgcXVlc3Rpb25faWQsIHZvdGVfdmFsdWUsIGNyZWF0ZV90aW1lKQogICAgICAgICAgICBWQUxVRVMgKD8sID8sIDEsID8pJywKICAgICAgICBCaW5kID0+IFsgXCRSZXF1ZXN0SUQsIFwkUXVlc3Rpb25JRCwgXCRSZXF1ZXN0Q3JlYXRlVGltZU9sZGVyRGF0ZSBdLAogICAgKTsKICAgICRTZWxmLT5UcnVlKAogICAgICAgICRJbnNlcnRWb3RlcywKICAgICAgICAiU3VydmV5IHZvdGVzIGFkZGVkLiIsCiAgICApOwp9CgojIGluaXQgdm90ZSBpZCBhcnJheQojIHNlbGVjdCBsYXRlc3Qgdm90ZSBpZHMKbXkgQFZvdGVJRHM7CgokREJPYmplY3QtPlByZXBhcmUoCiAgICBTUUwgPT4gIlNFTEVDVCBpZCBGUk9NIHN1cnZleV92b3RlIFdIRVJFIGNyZWF0ZV90aW1lID0gJyRSZXF1ZXN0Q3JlYXRlVGltZU9sZGVyRGF0ZScgIiwKKTsKCndoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgcHVzaCBAVm90ZUlEcywgJFJvd1swXTsKfQoKIyBzdG9yZSBpZHMKbXkgJURlbGV0ZWRJRHMgPSAoCiAgICBSZXF1ZXN0SURzID0+IFxAUmVxdWVzdElEcywKICAgIFZvdGVJRHMgICAgPT4gXEBWb3RlSURzLAopOwoKIyBleGVjdXRlIGNvbW1hbmQKbXkgJEV4aXRDb2RlID0gJENvbW1hbmRPYmplY3QtPkV4ZWN1dGUoJy0tZm9yY2UnKTsKCiMgY2hlY2sgaWYgZGVsZXRlIGRvbmUKZm9yIG15ICRDaGVjayAoIHNvcnQga2V5cyAlRGVsZXRlZElEcyApIHsKCiAgICBmb3IgbXkgJERlbGV0ZWRSZXF1ZXN0SUQgKCBAeyAkRGVsZXRlZElEc3tSZXF1ZXN0SURzfSB9ICkgewoKICAgICAgICAkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgICAgIFNRTCAgPT4gIlNFTEVDVCBDT1VOVChpZCkgRlJPTSBzdXJ2ZXlfcmVxdWVzdCBXSEVSRSBpZCA9ID8gIiwKICAgICAgICAgICAgQmluZCA9PiBbIFwkRGVsZXRlZFJlcXVlc3RJRCBdCiAgICAgICAgKTsKCiAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgICAgICRTZWxmLT5JcygKICAgICAgICAgICAgICAgICRSb3dbMF0sCiAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgIlJlcXVlc3RzIGRlbGV0ZWQiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgbXkgJERlbGV0ZWRWb3RlSUQgKCBAeyAkRGVsZXRlZElEc3tWb3RlSURzfSB9ICkgewoKICAgICAgICAkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgICAgIFNRTCAgPT4gIlNFTEVDVCBDT1VOVChpZCkgRlJPTSBzdXJ2ZXlfdm90ZSBXSEVSRSBpZCA9ID8gIiwKICAgICAgICAgICAgQmluZCA9PiBbIFwkRGVsZXRlZFZvdGVJRCBdCiAgICAgICAgKTsKCiAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgICAgICRTZWxmLT5JcygKICAgICAgICAgICAgICAgICRSb3dbMF0sCiAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgIlZvdGVzIGRlbGV0ZWQiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KfQoKJFNlbGYtPklzKAogICAgJEV4aXRDb2RlLAogICAgMCwKICAgICJSZXF1ZXN0cyBkZWxldGUgLSBFeGl0Q29kZSIsCik7CgoxOwo=</File>
        <File Location="scripts/test/Console/Command/Maint/Survey/RequestsSend.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKbXkgQFRlc3RzID0gKAogICAgewogICAgICAgIE5hbWUgICAgID0+ICJObyBQYXJhbXMgJ1NlbmRJbkhvdXJzQWZ0ZXJDbG9zZScgZGlzYWJsZWQiLAogICAgICAgIFBhcmFtcyAgID0+IFtdLAogICAgICAgIENvbmZpZyAgID0+IDAsCiAgICAgICAgRXhpdENvZGUgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgPT4gIldyb25nIFBhcmFtICdTZW5kSW5Ib3Vyc0FmdGVyQ2xvc2UnIGRpc2FibGVkIiwKICAgICAgICBQYXJhbXMgICA9PiBbJy0tdGVzdCddLAogICAgICAgIENvbmZpZyAgID0+IDAsCiAgICAgICAgRXhpdENvZGUgPT4gMSwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgPT4gIkZvcmNlIHBhcmFtICdTZW5kSW5Ib3Vyc0FmdGVyQ2xvc2UnIGRpc2FibGVkIiwKICAgICAgICBQYXJhbXMgICA9PiBbJy0tZm9yY2UnXSwKICAgICAgICBDb25maWcgICA9PiAwLAogICAgICAgIEV4aXRDb2RlID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgID0+ICJObyBQYXJhbXMgJ1NlbmRJbkhvdXJzQWZ0ZXJDbG9zZScgZW5hYmxlZCIsCiAgICAgICAgUGFyYW1zICAgPT4gW10sCiAgICAgICAgQ29uZmlnICAgPT4gMSwKICAgICAgICBFeGl0Q29kZSA9PiAwLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lICAgICA9PiAiV3JvbmcgUGFyYW0gJ1NlbmRJbkhvdXJzQWZ0ZXJDbG9zZScgZW5hYmxlZCIsCiAgICAgICAgUGFyYW1zICAgPT4gWyctLXRlc3QnXSwKICAgICAgICBDb25maWcgICA9PiAxLAogICAgICAgIEV4aXRDb2RlID0+IDEsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgID0+ICJGb3JjZSBwYXJhbSAnU2VuZEluSG91cnNBZnRlckNsb3NlJyBlbmFibGVkIiwKICAgICAgICBQYXJhbXMgICA9PiBbJy0tZm9yY2UnXSwKICAgICAgICBDb25maWcgICA9PiAxLAogICAgICAgIEV4aXRDb2RlID0+IDAsCiAgICB9LAoKKTsKCiMgZ2V0IG5lZWRlZCBvYmplY3RzCm15ICRDb21tYW5kT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNvbnNvbGU6OkNvbW1hbmQ6Ok1haW50OjpTdXJ2ZXk6OlJlcXVlc3RzU2VuZCcpOwpteSAkQ29uZmlnT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7Cgpmb3IgbXkgJFRlc3QgKEBUZXN0cykgewoKICAgICMgc2V0IGNvbmZpZwogICAgJENvbmZpZ09iamVjdC0+U2V0KAogICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgS2V5ICAgPT4gJ1N1cnZleTo6U2VuZEluSG91cnNBZnRlckNsb3NlJywKICAgICAgICBWYWx1ZSA9PiAkVGVzdC0+e0NvbmZpZ30sCiAgICApOwoKICAgIG15ICRFeGl0Q29kZSA9ICRDb21tYW5kT2JqZWN0LT5FeGVjdXRlKCBAeyAkVGVzdC0+e1BhcmFtc30gfSApOwoKICAgICRTZWxmLT5JcygKICAgICAgICAkRXhpdENvZGUsCiAgICAgICAgJFRlc3QtPntFeGl0Q29kZX0sCiAgICAgICAgIiRUZXN0LT57TmFtZX0gLSBFeGl0Q29kZSIsCiAgICApOwp9CgoxOwo=</File>
        <File Location="scripts/test/Survey/Vote/VoteGetAll.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKJEtlcm5lbDo6T00tPk9iamVjdFBhcmFtQWRkKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyA9PiB7CiAgICAgICAgUmVzdG9yZURhdGFiYXNlID0+IDEsCiAgICB9LAopOwpteSAkSGVscGVyT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCm15ICRTdXJ2ZXlPYmplY3QgICAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKbXkgJFF1ZXVlT2JqZWN0ICAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlF1ZXVlJyk7Cm15ICREQk9iamVjdCAgICAgICAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwpteSAkVGlja2V0T2JqZWN0ICAgICAgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0Jyk7Cm15ICRBcnRpY2xlT2JqZWN0ICAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6OkFydGljbGUnKTsKbXkgJEFydGljbGVCYWNrZW5kT2JqZWN0ID0gJEFydGljbGVPYmplY3QtPkJhY2tlbmRGb3JDaGFubmVsKCBDaGFubmVsTmFtZSA9PiAnSW50ZXJuYWwnICk7CgokSGVscGVyT2JqZWN0LT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgVmFsaWQgPT4gMSwKICAgIEtleSAgID0+ICdTZW5kbWFpbE1vZHVsZScsCiAgICBWYWx1ZSA9PiAnS2VybmVsOjpTeXN0ZW06OkVtYWlsOjpEb05vdFNlbmRFbWFpbCcsCik7CgokSGVscGVyT2JqZWN0LT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgVmFsaWQgPT4gMSwKICAgIEtleSAgID0+ICdDaGVja0VtYWlsQWRkcmVzc2VzJywKICAgIFZhbHVlID0+IDAsCik7CgokSGVscGVyT2JqZWN0LT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgVmFsaWQgPT4gMSwKICAgIEtleSAgID0+ICdTdXJ2ZXk6OlNlbmRJbkhvdXJzQWZ0ZXJDbG9zZScsCiAgICBWYWx1ZSA9PiAwLAopOwoKbXkgJFF1ZXVlUmFuZCA9ICdTb21lUXVldWUnIC4gJEhlbHBlck9iamVjdC0+R2V0UmFuZG9tSUQoKTsKbXkgJFF1ZXVlSUQgICA9ICRRdWV1ZU9iamVjdC0+UXVldWVBZGQoCiAgICBOYW1lICAgICAgICAgICAgPT4gJFF1ZXVlUmFuZCwKICAgIFZhbGlkSUQgICAgICAgICA9PiAxLAogICAgR3JvdXBJRCAgICAgICAgID0+IDEsCiAgICBTeXN0ZW1BZGRyZXNzSUQgPT4gMSwKICAgIFNhbHV0YXRpb25JRCAgICA9PiAxLAogICAgU2lnbmF0dXJlSUQgICAgID0+IDEsCiAgICBVc2VySUQgICAgICAgICAgPT4gMSwKICAgIENvbW1lbnQgICAgICAgICA9PiAnU29tZSBDb21tZW50JywKKTsKCiRTZWxmLT5UcnVlKAogICAgJFF1ZXVlSUQsCiAgICAiUXVldWVBZGQoKSAtICRRdWV1ZVJhbmQsICRRdWV1ZUlEIiwKKTsKCiMgQ3JlYXRlIGEgdGlja2V0Cm15ICRUaWNrZXRJRCA9ICRUaWNrZXRPYmplY3QtPlRpY2tldENyZWF0ZSgKICAgIFRpdGxlICAgICAgICA9PiAnU29tZSBUaWNrZXRfVGl0bGUnLAogICAgUXVldWVJRCAgICAgID0+ICRRdWV1ZUlELAogICAgTG9jayAgICAgICAgID0+ICd1bmxvY2snLAogICAgUHJpb3JpdHkgICAgID0+ICczIG5vcm1hbCcsCiAgICBTdGF0ZSAgICAgICAgPT4gJ2Nsb3NlZCBzdWNjZXNzZnVsJywKICAgIEN1c3RvbWVyTm8gICA9PiAnMTIzNDY1JywKICAgIEN1c3RvbWVyVXNlciA9PiAndW5pdHRlc3RAb3RvYm8uY29tJywKICAgIE93bmVySUQgICAgICA9PiAxLAogICAgVXNlcklEICAgICAgID0+IDEsCik7CiRTZWxmLT5UcnVlKAogICAgJFRpY2tldElELAogICAgJ1RpY2tldENyZWF0ZSgpJywKKTsKCm15ICVBcnRpY2xlVGVtcGxhdGUgPSAoCiAgICBUaWNrZXRJRCAgICAgICAgICAgICA9PiAkVGlja2V0SUQsCiAgICBTZW5kZXJUeXBlICAgICAgICAgICA9PiAnYWdlbnQnLAogICAgSXNWaXNpYmxlRm9yQ3VzdG9tZXIgPT4gMSwKICAgIFVzZXJJRCAgICAgICAgICAgICAgID0+IDEsCiAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xJywKICAgIEhpc3RvcnlUeXBlICAgICAgICAgID0+ICdBZGROb3RlJywKICAgIEhpc3RvcnlDb21tZW50ICAgICAgID0+ICdTb21lIGZyZWUgdGV4dCEnLAogICAgTm9BZ2VudE5vdGlmeSAgICAgICAgPT4gMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB5b3UgZG9uJ3Qgd2FudCB0byBzZW5kIGFnZW50IG5vdGlmaWNhdGlvbnMKCik7CgpteSAkQXJ0aWNsZUlEID0gJEFydGljbGVCYWNrZW5kT2JqZWN0LT5BcnRpY2xlQ3JlYXRlKAogICAgJUFydGljbGVUZW1wbGF0ZSwKICAgIElzVmlzaWJsZUZvckN1c3RvbWVyID0+IDAsCiAgICBGcm9tICAgICAgICAgICAgICAgICA9PiAnU29tZSBBZ2VudCA8YWdlbnRAZXhhbXBsZS5jb20+JywKICAgIFRvICAgICAgICAgICAgICAgICAgID0+ICdTb21lIEN1c3RvbWVyIEEgPGFhYUBleGFtcGxlLmNvbT4nLAogICAgQ2MgICAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgQ3VzdG9tZXIgQiA8YmJiQGV4YW1wbGUuY29tPicsCiAgICBCY2MgICAgICAgICAgICAgICAgICA9PiAnU29tZSBDdXN0b21lciBDIDxjY2NAZXhhbXBsZS5jb20+JywKICAgIFJlcGx5VG8gICAgICAgICAgICAgID0+ICdTb21lIEN1c3RvbWVyIEQgPGRkZEBleGFtcGxlLmNvbT4nLAogICAgU3ViamVjdCAgICAgICAgICAgICAgPT4gIk9uZTEiLAogICAgQm9keSAgICAgICAgICAgICAgICAgPT4gIkJvZHkgVW5vIiwKICAgIE1lc3NhZ2VJRCAgICAgICAgICAgID0+ICc8YWJjLjEyM0BleGFtcGxlLmNvbT4nLAogICAgSW5SZXBseVRvICAgICAgICAgICAgPT4gJzxhYmMuMTJAZXhhbXBsZS5jb20+JywKICAgIFJlZmVyZW5jZXMgICAgICAgICAgID0+ICc8YWJjLjFAZXhhbXBsZS5jb20+IDxhYmMuMTJAZXhhbXBsZS5jb20+JywKKTsKCiMgQ3JlYXRlIHN1cnZleS4KbXkgJVN1cnZleURhdGEgPSAoCiAgICBUaXRsZSAgICAgICAgICAgICAgID0+ICdBIFRpdGxlJywKICAgIEludHJvZHVjdGlvbiAgICAgICAgPT4gJ1RoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIHN1cnZleScsCiAgICBEZXNjcmlwdGlvbiAgICAgICAgID0+ICdUaGUgaW50ZXJuYWwgZGVzY3JpcHRpb24gb2YgdGhlIHN1cnZleScsCiAgICBOb3RpZmljYXRpb25TZW5kZXIgID0+ICdxdWFsaXR5QHVuaXR0ZXN0LmNvbScsCiAgICBOb3RpZmljYXRpb25TdWJqZWN0ID0+ICdIZWxwIHVzIHdpdGggeW91ciBmZWVkYmFjayEgw4TDlsOcJywKICAgIE5vdGlmaWNhdGlvbkJvZHkgICAgPT4gJ0RlYXIgY3VzdG9tZXIuLi4gw6TDtsO8JywKKTsKCm15ICRTdXJ2ZXlJRCA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUFkZCgKICAgIFVzZXJJRCA9PiAxLAogICAgJVN1cnZleURhdGEsCik7CiRTZWxmLT5UcnVlKAogICAgJFN1cnZleUlELAogICAgIlN1cnZleUFkZCgpIiwKKTsKCmZvciAoIDEgLi4gMyApIHsKICAgIG15ICRRdWVzdGlvbkFkZCA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uQWRkKAogICAgICAgIFVzZXJJRCAgID0+IDEsCiAgICAgICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAogICAgICAgIFF1ZXN0aW9uID0+ICdUaGUgUXVlc3Rpb24nLAogICAgICAgIFR5cGUgICAgID0+ICdSYWRpbycsCiAgICApOwp9Cm15IEBMaXN0ID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25MaXN0KAogICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAopOwpmb3IgbXkgJFF1ZXN0aW9uIChATGlzdCkgewogICAgZm9yICggMSAuLiAzICkgewogICAgICAgICRTdXJ2ZXlPYmplY3QtPkFuc3dlckFkZCgKICAgICAgICAgICAgVXNlcklEICAgICAgICAgPT4gMSwKICAgICAgICAgICAgUXVlc3Rpb25JRCAgICAgPT4gJFF1ZXN0aW9uLT57UXVlc3Rpb25JRH0sCiAgICAgICAgICAgIEFuc3dlciAgICAgICAgID0+ICdUaGUgQW5zd2VyJywKICAgICAgICAgICAgQW5zd2VyUmVxdWlyZWQgPT4gMSwKICAgICAgICApOwogICAgfQp9CgpteSAkU3RhdHVzU2V0ID0gJFN1cnZleU9iamVjdC0+U3VydmV5U3RhdHVzU2V0KAogICAgU3VydmV5SUQgID0+ICRTdXJ2ZXlJRCwKICAgIE5ld1N0YXR1cyA9PiAnTWFzdGVyJwopOwokU2VsZi0+SXMoCiAgICAkU3RhdHVzU2V0LAogICAgJ1N0YXR1c1NldCcsCiAgICAiU3VydmV5U3RhdHVzU2V0KCkiLAopOwoKbXkgJFN1Y2Nlc3MgPSAkU3VydmV5T2JqZWN0LT5SZXF1ZXN0U2VuZCgKICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKKTsKJFNlbGYtPlRydWUoCiAgICAkU3VjY2VzcywKICAgICJSZXF1ZXN0U2VuZCgpIiwKKTsKCiMgR2V0IHRoZSBSZXF1ZXN0SUQuCnJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgU1FMID0+ICcKICAgICAgICBTRUxFQ1QgaWQsIHB1YmxpY19zdXJ2ZXlfa2V5CiAgICAgICAgRlJPTSBzdXJ2ZXlfcmVxdWVzdAogICAgICAgIFdIRVJFIHRpY2tldF9pZCA9ID8KICAgICAgICAgICAgQU5EIHN1cnZleV9pZCA9ID8nLAogICAgQmluZCAgPT4gWyBcJFRpY2tldElELCBcJFN1cnZleUlEIF0sCiAgICBMaW1pdCA9PiAxLAopOwpteSAkUmVxdWVzdElEOwpteSAkUmVxdWVzdEtleTsKd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAkUmVxdWVzdElEICA9ICRSb3dbMF07CiAgICAkUmVxdWVzdEtleSA9ICRSb3dbMV07Cn0KCiMgQWRkIHNvbWUgYW5zd2VycyB0byB0aGUgcXVlc3Rpb25zCm15IEBRdWVzdGlvbkxpc3QgPSAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkxpc3QoCiAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCik7Cgpmb3IgbXkgJENvdW50ICggMSAuLiAxMCApIHsKCiAgICAjIFNpbXVsYXRlIHZvdGVzLgogICAgZm9yIG15ICRRdWVzdGlvbiAoQFF1ZXN0aW9uTGlzdCkgewogICAgICAgIG15ICRTdWNjZXNzID0gJFN1cnZleU9iamVjdC0+UHVibGljQW5zd2VyU2V0KAogICAgICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFJlcXVlc3RLZXksCiAgICAgICAgICAgIFF1ZXN0aW9uSUQgICAgICA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgVm90ZVZhbHVlICAgICAgID0+ICdUaGUgVmFsdWUnLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAiUHVibGljQW5zd2VyU2V0KCkgJENvdW50IGZvciBRdWVzdGlvbiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSIsCiAgICAgICAgKTsKICAgIH0KCiAgICBteSBAVm90ZXNMaXN0ID0gJFN1cnZleU9iamVjdC0+Vm90ZUdldEFsbCgKICAgICAgICBSZXF1ZXN0SUQgPT4gJFJlcXVlc3RJRCwKICAgICk7CiAgICAkU2VsZi0+SXMoCiAgICAgICAgc2NhbGFyIEBWb3Rlc0xpc3QsCiAgICAgICAgc2NhbGFyIEBRdWVzdGlvbkxpc3QgKiAkQ291bnQsCiAgICAgICAgIlZvdGVHZXRBbGwoKSAkQ291bnQgcmVjb3JkcyIsCiAgICApOwoKICAgIG15ICRSZWNvcmROdW1iZXIgPSAxOwogICAgZm9yIG15ICRWb3RlIChAVm90ZXNMaXN0KSB7CgogICAgICAgIGZvciBteSAkQXR0cmlidXRlIChxdyhWb3RlSUQgVm90ZVZhbHVlIFF1ZXN0aW9uSUQgUXVlc3Rpb24gUXVlc3Rpb25UeXBlKSkgewogICAgICAgICAgICAkU2VsZi0+SXNOb3QoCiAgICAgICAgICAgICAgICAkVm90ZS0+eyRBdHRyaWJ1dGV9IC8vICcnLAogICAgICAgICAgICAgICAgJycsCiAgICAgICAgICAgICAgICAiVm90ZUdldEFsbCgpICRDb3VudCB2b3RlICRSZWNvcmROdW1iZXIgJEF0dHJpYnV0ZSIsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgICRSZWNvcmROdW1iZXIrKzsKICAgIH0KfQoKMTsK</File>
        <File Location="scripts/test/Survey/GetRequestRecipient.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKJEtlcm5lbDo6T00tPk9iamVjdFBhcmFtQWRkKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyA9PiB7CiAgICAgICAgUmVzdG9yZURhdGFiYXNlID0+IDEsCiAgICB9LAopOwpteSAkSGVscGVyT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKbXkgJENvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CgojIERvIG5vdCBjaGVjayBlbWFpbHMuCiRDb25maWdPYmplY3QtPlNldCgKICAgIEtleSAgID0+ICdDaGVja0VtYWlsQWRkcmVzc2VzJywKICAgIFZhbHVlID0+IDAsCik7CgojIEdldCBUaWNrZXQgb2JqZWN0LgpteSAkVGlja2V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldCcpOwoKIyBDcmVhdGUgc29tZSB0aWNrZXRzLgpteSAkVGlja2V0SUQxID0gJFRpY2tldE9iamVjdC0+VGlja2V0Q3JlYXRlKAogICAgVGl0bGUgICAgICAgID0+ICdTb21lIFRpY2tldCBUaXRsZScsCiAgICBRdWV1ZSAgICAgICAgPT4gJ1JhdycsCiAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICBQcmlvcml0eSAgICAgPT4gJzMgbm9ybWFsJywKICAgIFN0YXRlICAgICAgICA9PiAnbmV3JywKICAgIEN1c3RvbWVySUQgICA9PiAnMTIzNDY1JywKICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAZXhhbXBsZS5jb20nLAogICAgT3duZXJJRCAgICAgID0+IDEsCiAgICBVc2VySUQgICAgICAgPT4gMSwKKTsKJFNlbGYtPklzTm90KAogICAgJFRpY2tldElEMSwKICAgIHVuZGVmLAogICAgIlRpY2tldENyZWF0ZSgpIGZvciBUaWNrZXRJRCAkVGlja2V0SUQxIiwKKTsKCm15ICRUaWNrZXRJRDIgPSAkVGlja2V0T2JqZWN0LT5UaWNrZXRDcmVhdGUoCiAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgIFF1ZXVlICAgICAgICA9PiAnUmF3JywKICAgIExvY2sgICAgICAgICA9PiAndW5sb2NrJywKICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgU3RhdGUgICAgICAgID0+ICduZXcnLAogICAgQ3VzdG9tZXJJRCAgID0+ICcxMjM0NjUnLAogICAgQ3VzdG9tZXJVc2VyID0+ICdjdXN0b21lckBleGFtcGxlLmNvbScsCiAgICBPd25lcklEICAgICAgPT4gMSwKICAgIFVzZXJJRCAgICAgICA9PiAxLAopOwokU2VsZi0+SXNOb3QoCiAgICAkVGlja2V0SUQyLAogICAgdW5kZWYsCiAgICAiVGlja2V0Q3JlYXRlKCkgZm9yIFRpY2tldElEICRUaWNrZXRJRDIiLAopOwoKbXkgJFRpY2tldElEMyA9ICRUaWNrZXRPYmplY3QtPlRpY2tldENyZWF0ZSgKICAgIFRpdGxlICAgID0+ICdTb21lIFRpY2tldCBUaXRsZScsCiAgICBRdWV1ZSAgICA9PiAnUmF3JywKICAgIExvY2sgICAgID0+ICd1bmxvY2snLAogICAgUHJpb3JpdHkgPT4gJzMgbm9ybWFsJywKICAgIFN0YXRlICAgID0+ICduZXcnLAogICAgT3duZXJJRCAgPT4gMSwKICAgIFVzZXJJRCAgID0+IDEsCik7CiRTZWxmLT5Jc05vdCgKICAgICRUaWNrZXRJRDMsCiAgICB1bmRlZiwKICAgICJUaWNrZXRDcmVhdGUoKSBmb3IgVGlja2V0SUQgJFRpY2tldElEMyIsCik7CgpteSAkQXJ0aWNsZU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6OkFydGljbGUnKTsKCm15ICRBcnRpY2xlUGhvbmVCYWNrZW5kT2JqZWN0ID0gJEFydGljbGVPYmplY3QtPkJhY2tlbmRGb3JDaGFubmVsKAogICAgQ2hhbm5lbE5hbWUgPT4gJ1Bob25lJywKKTsKCiMgQ3JlYXRlIGFydGljbGVzIGZvciB0aGUgdGlja2V0cy4KbXkgJEFydGljbGVJRDEgPSAkQXJ0aWNsZVBob25lQmFja2VuZE9iamVjdC0+QXJ0aWNsZUNyZWF0ZSgKICAgIFRpY2tldElEICAgICAgICAgICAgID0+ICRUaWNrZXRJRDEsCiAgICBJc1Zpc2libGVGb3JDdXN0b21lciA9PiAxLAogICAgU2VuZGVyVHlwZSAgICAgICAgICAgPT4gJ2N1c3RvbWVyJywKICAgIEZyb20gICAgICAgICAgICAgICAgID0+ICdTb21lIEN1c3RvbWVyIDxlbWFpbEBleGFtcGxlLmNvbT4nLAogICAgVG8gICAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgQWdlbnQgPGFnZW50QGV4YW1wbGUuY29tPicsCiAgICBTdWJqZWN0ICAgICAgICAgICAgICA9PiAnc29tZSBzaG9ydCBkZXNjcmlwdGlvbicsCiAgICBCb2R5ICAgICAgICAgICAgICAgICA9PiAndGhlIG1lc3NhZ2UgdGV4dCcsCiAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNScsCiAgICBIaXN0b3J5VHlwZSAgICAgICAgICA9PiAnQWRkTm90ZScsCiAgICBIaXN0b3J5Q29tbWVudCAgICAgICA9PiAnU29tZSBmcmVlIHRleHQhJywKICAgIFVzZXJJRCAgICAgICAgICAgICAgID0+IDEsCik7CiRTZWxmLT5Jc05vdCgKICAgICRUaWNrZXRJRDMsCiAgICB1bmRlZiwKICAgICJBcnRpY2xlQ3JlYXRlKCkgZm9yIEFydGljbGVJRCAkQXJ0aWNsZUlEMSIsCik7CgpteSAkQXJ0aWNsZUludGVybmFsQmFja2VuZE9iamVjdCA9ICRBcnRpY2xlT2JqZWN0LT5CYWNrZW5kRm9yQ2hhbm5lbCgKICAgIENoYW5uZWxOYW1lID0+ICdJbnRlcm5hbCcsCik7Cm15ICRBcnRpY2xlSUQyID0gJEFydGljbGVJbnRlcm5hbEJhY2tlbmRPYmplY3QtPkFydGljbGVDcmVhdGUoCiAgICBUaWNrZXRJRCAgICAgICAgICAgICA9PiAkVGlja2V0SUQyLAogICAgSXNWaXNpYmxlRm9yQ3VzdG9tZXIgPT4gMSwKICAgIFNlbmRlclR5cGUgICAgICAgICAgID0+ICdhZ2VudCcsCiAgICBGcm9tICAgICAgICAgICAgICAgICA9PiAnU29tZSBBZ2VudCA8YWdlbnRAZXhhbXBsZS5jb20+JywKICAgIFRvICAgICAgICAgICAgICAgICAgID0+ICdTb21lIEN1c3RvbWVyIDxlbWFpbEBleGFtcGxlLmNvbT4nLAogICAgU3ViamVjdCAgICAgICAgICAgICAgPT4gJ3NvbWUgc2hvcnQgZGVzY3JpcHRpb24nLAogICAgQm9keSAgICAgICAgICAgICAgICAgPT4gJ3RoZSBtZXNzYWdlIHRleHQnLAogICAgQ29udGVudFR5cGUgICAgICAgICAgPT4gJ3RleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMTUnLAogICAgSGlzdG9yeVR5cGUgICAgICAgICAgPT4gJ0FkZE5vdGUnLAogICAgSGlzdG9yeUNvbW1lbnQgICAgICAgPT4gJ1NvbWUgZnJlZSB0ZXh0IScsCiAgICBVc2VySUQgICAgICAgICAgICAgICA9PiAxLAopOwokU2VsZi0+SXNOb3QoCiAgICAkVGlja2V0SUQzLAogICAgdW5kZWYsCiAgICAiQXJ0aWNsZUNyZWF0ZSgpIGZvciBBcnRpY2xlSUQgJEFydGljbGVJRDIiLAopOwoKbXkgQFRlc3RzID0gKAogICAgewogICAgICAgIE5hbWUgICAgPT4gJ05vIFBhcmFtcycsCiAgICAgICAgUGFyYW0gICA9PiB7fSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgID0+ICdXcm9uZyBVc2VyRU1haWwnLAogICAgICAgIFBhcmFtID0+IHsKICAgICAgICAgICAgVXNlckVtYWlsID0+ICdVc2VyJywKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgPT4gJ1dyb25nIFRpY2tldElEJywKICAgICAgICBQYXJhbSA9PiB7CiAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRDMsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgID0+ICdVc2VyRW1haWwnLAogICAgICAgIFBhcmFtID0+IHsKICAgICAgICAgICAgVXNlckVtYWlsID0+ICdVc2VyIDx1c2VyQGhvbWUuY29tPicsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzICAgICAgICAgPT4gMSwKICAgICAgICBFeHBlY3RlZFJlc3VsdHMgPT4gJ3VzZXJAaG9tZS5jb20nLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lICA9PiAnVXNlckVtYWlsIE11bHRpcGxlJywKICAgICAgICBQYXJhbSA9PiB7CiAgICAgICAgICAgIFVzZXJFbWFpbCA9PiAnVXNlciA8dXNlckBleGFtcGxlLmNvbT4sIFVzZXIyIDx1c2VyMkBob21lLmNvbT4nLAogICAgICAgIH0sCiAgICAgICAgU3VjY2VzcyAgICAgICAgID0+IDEsCiAgICAgICAgRXhwZWN0ZWRSZXN1bHRzID0+ICd1c2VyMkBob21lLmNvbScsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgID0+ICdUaWNrZXRJRCBMYXN0IGFydGljbGUgY3VzdG9tZXInLAogICAgICAgIFBhcmFtID0+IHsKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElEMSwKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgICAgICAgICA9PiAxLAogICAgICAgIEV4cGVjdGVkUmVzdWx0cyA9PiAnZW1haWxAZXhhbXBsZS5jb20nLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lICA9PiAnVGlja2V0SUQgTGFzdCBhcnRpY2xlIGFnZW50JywKICAgICAgICBQYXJhbSA9PiB7CiAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRDIsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzICAgICAgICAgPT4gMSwKICAgICAgICBFeHBlY3RlZFJlc3VsdHMgPT4gJ2VtYWlsQGV4YW1wbGUuY29tJywKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgPT4gJ1VzZXJFbWFpbCAoQmxhY2tMaXN0KScsCiAgICAgICAgUGFyYW0gPT4gewogICAgICAgICAgICBVc2VyRW1haWwgPT4gJ1VzZXIgPHVzZXJAZXhhbXBsZS5jb20+JywKICAgICAgICB9LAogICAgICAgIEJsYWNrTGlzdCA9PiBbJ3VzZXJAZXhhbXBsZS5jb20nXSwKICAgICAgICBTdWNjZXNzICAgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgPT4gJ1VzZXJFbWFpbCBNdWx0aXBsZSAoQmxhY2tMaXN0KScsCiAgICAgICAgUGFyYW0gPT4gewogICAgICAgICAgICBVc2VyRW1haWwgPT4gJ1VzZXIgPHVzZXJAZXhhbXBsZS5jb20+LCBVc2VyMiA8dXNlcjJAZXhhbXBsZS5jb20+JywKICAgICAgICB9LAogICAgICAgIEJsYWNrTGlzdCA9PiBbJ3VzZXIyQGV4YW1wbGUuY29tJ10sCiAgICAgICAgU3VjY2VzcyAgID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgID0+ICdUaWNrZXRJRCBMYXN0IGFydGljbGUgY3VzdG9tZXIgKEJsYWNrTGlzdCknLAogICAgICAgIFBhcmFtID0+IHsKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElEMSwKICAgICAgICB9LAogICAgICAgIEJsYWNrTGlzdCA9PiBbJ2VtYWlsQGV4YW1wbGUuY29tJ10sCiAgICAgICAgU3VjY2VzcyAgID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgID0+ICdUaWNrZXRJRCBMYXN0IGFydGljbGUgYWdlbnQgKEJsYWNrTGlzdCknLAogICAgICAgIFBhcmFtID0+IHsKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElEMiwKICAgICAgICB9LAogICAgICAgIEJsYWNrTGlzdCA9PiBbJ2VtYWlsQGV4YW1wbGUuY29tJ10sCiAgICAgICAgU3VjY2VzcyAgID0+IDAsCiAgICB9LAoKICAgIHsKICAgICAgICBOYW1lICA9PiAndWMgVXNlckVtYWlsIChCbGFja0xpc3QpJywKICAgICAgICBQYXJhbSA9PiB7CiAgICAgICAgICAgIFVzZXJFbWFpbCA9PiAnVXNlciA8VXNlckBleGFtcGxlLmNvbT4nLAogICAgICAgIH0sCiAgICAgICAgQmxhY2tMaXN0ID0+IFsndXNlckBleGFtcGxlLmNvbSddLAogICAgICAgIFN1Y2Nlc3MgICA9PiAwLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lICA9PiAndWMgVXNlckVtYWlsIE11bHRpcGxlIChCbGFja0xpc3QpJywKICAgICAgICBQYXJhbSA9PiB7CiAgICAgICAgICAgIFVzZXJFbWFpbCA9PiAnVXNlciA8dXNlckBleGFtcGxlLmNvbT4sIFVzZXIyIDxVc2VyMkBleGFtcGxlLmNvbT4nLAogICAgICAgIH0sCiAgICAgICAgQmxhY2tMaXN0ID0+IFsndXNlcjJAZXhhbXBsZS5jb20nXSwKICAgICAgICBTdWNjZXNzICAgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgPT4gJ1VzZXJFbWFpbCAodWMgQmxhY2tMaXN0KScsCiAgICAgICAgUGFyYW0gPT4gewogICAgICAgICAgICBVc2VyRW1haWwgPT4gJ1VzZXIgPHVzZXJAZXhhbXBsZS5jb20+JywKICAgICAgICB9LAogICAgICAgIEJsYWNrTGlzdCA9PiBbJ1VzZXJAZXhhbXBsZS5jb20nXSwKICAgICAgICBTdWNjZXNzICAgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgPT4gJ1VzZXJFbWFpbCBNdWx0aXBsZSAodWMgQmxhY2tMaXN0KScsCiAgICAgICAgUGFyYW0gPT4gewogICAgICAgICAgICBVc2VyRW1haWwgPT4gJ1VzZXIgPHVzZXJAZXhhbXBsZS5jb20+LCBVc2VyMiA8dXNlcjJAZXhhbXBsZS5jb20+JywKICAgICAgICB9LAogICAgICAgIEJsYWNrTGlzdCA9PiBbJ1VzZXIyQGV4YW1wbGUuY29tJ10sCiAgICAgICAgU3VjY2VzcyAgID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgID0+ICdUaWNrZXRJRCBMYXN0IGFydGljbGUgY3VzdG9tZXIgKHVjIEJsYWNrTGlzdCknLAogICAgICAgIFBhcmFtID0+IHsKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElEMSwKICAgICAgICB9LAogICAgICAgIEJsYWNrTGlzdCA9PiBbJ2VtYWlsQGV4YW1wbGUuY29tJ10sCiAgICAgICAgU3VjY2VzcyAgID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgID0+ICdUaWNrZXRJRCBMYXN0IGFydGljbGUgYWdlbnQgKHVjIEJsYWNrTGlzdCknLAogICAgICAgIFBhcmFtID0+IHsKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElEMiwKICAgICAgICB9LAogICAgICAgIEJsYWNrTGlzdCA9PiBbJ2VtYWlsQGV4YW1wbGUuY29tJ10sCiAgICAgICAgU3VjY2VzcyAgID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgID0+ICd1YyBVc2VyRW1haWwgKHVjIEJsYWNrTGlzdCknLAogICAgICAgIFBhcmFtID0+IHsKICAgICAgICAgICAgVXNlckVtYWlsID0+ICdVc2VyIDxVc2VyQGV4YW1wbGUuY29tPicsCiAgICAgICAgfSwKICAgICAgICBCbGFja0xpc3QgPT4gWydVc2VyQGV4YW1wbGUuY29tJ10sCiAgICAgICAgU3VjY2VzcyAgID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgID0+ICd1YyBVc2VyRW1haWwgTXVsdGlwbGUgKHVjIEJsYWNrTGlzdCknLAogICAgICAgIFBhcmFtID0+IHsKICAgICAgICAgICAgVXNlckVtYWlsID0+ICdVc2VyIDx1c2VyQGV4YW1wbGUuY29tPiwgVXNlcjIgPFVzZXIyQGV4YW1wbGUuY29tPicsCiAgICAgICAgfSwKICAgICAgICBCbGFja0xpc3QgPT4gWydVc2VyMkBleGFtcGxlLmNvbSddLAogICAgICAgIFN1Y2Nlc3MgICA9PiAwLAogICAgfSwKKTsKCm15ICRTdXJ2ZXlPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3VydmV5Jyk7CgpURVNUOgpmb3IgbXkgJFRlc3QgKEBUZXN0cykgewoKICAgICMgU2V0IGJsYWNrbGlzdC4KICAgICRDb25maWdPYmplY3QtPlNldCgKICAgICAgICBLZXkgICA9PiAnU3VydmV5OjpOb3RpZmljYXRpb25SZWNpcGllbnRCbGFja2xpc3QnLAogICAgICAgIFZhbHVlID0+ICRUZXN0LT57QmxhY2tMaXN0fSAvLyBbXSwKICAgICk7CgogICAgIyBFeGVjdXRlIGFjdHVhbCB0ZXN0LgogICAgbXkgJFJlY2lwaWVudCA9ICRTdXJ2ZXlPYmplY3QtPl9HZXRSZXF1ZXN0UmVjaXBpZW50KCAleyAkVGVzdC0+e1BhcmFtfSB9ICk7CgogICAgaWYgKCAhJFRlc3QtPntTdWNjZXNzfSApIHsKICAgICAgICAkU2VsZi0+SXMoCiAgICAgICAgICAgICRSZWNpcGllbnQsCiAgICAgICAgICAgIHVuZGVmLAogICAgICAgICAgICAiJFRlc3QtPntOYW1lfSAtIF9HZXRSZXF1ZXN0UmVjaXBpZW50KCkiLAogICAgICAgICk7CgogICAgICAgIG5leHQgVEVTVDsKICAgIH0KICAgICRTZWxmLT5JcygKICAgICAgICAkUmVjaXBpZW50LAogICAgICAgICRUZXN0LT57RXhwZWN0ZWRSZXN1bHRzfSwKICAgICAgICAiJFRlc3QtPntOYW1lfSAtIF9HZXRSZXF1ZXN0UmVjaXBpZW50KCkiLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="scripts/test/Survey/PublicAnswerSet.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKJEtlcm5lbDo6T00tPk9iamVjdFBhcmFtQWRkKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyA9PiB7CiAgICAgICAgUmVzdG9yZURhdGFiYXNlID0+IDEsCiAgICB9LAopOwpteSAkSGVscGVyID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCiMgc2V0IHNlbmQgcGVyaW9kIHRvIGFsd2F5cyBzZW5kIHN1cnZleQokSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgS2V5ICAgPT4gJ1N1cnZleTo6U2VuZFBlcmlvZCcsCiAgICBWYWx1ZSA9PiAwLAopOwoKIyBzZXQgc2VuZCBwZXJpb2QgdG8gYWx3YXlzIHNlbmQgc3VydmV5CiRIZWxwZXItPkNvbmZpZ1NldHRpbmdDaGFuZ2UoCiAgICBLZXkgICA9PiAnQ2hlY2tFbWFpbEFkZHJlc3NlcycsCiAgICBWYWx1ZSA9PiAwLAopOwoKbXkgJFF1ZXVlUmFuZCA9ICdTb21lUXVldWUnIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKbXkgJFF1ZXVlSUQgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpRdWV1ZScpLT5RdWV1ZUFkZCgKICAgIE5hbWUgICAgICAgICAgICA9PiAkUXVldWVSYW5kLAogICAgVmFsaWRJRCAgICAgICAgID0+IDEsCiAgICBHcm91cElEICAgICAgICAgPT4gMSwKICAgIFN5c3RlbUFkZHJlc3NJRCA9PiAxLAogICAgU2FsdXRhdGlvbklEICAgID0+IDEsCiAgICBTaWduYXR1cmVJRCAgICAgPT4gMSwKICAgIFVzZXJJRCAgICAgICAgICA9PiAxLAogICAgQ29tbWVudCAgICAgICAgID0+ICdTb21lIENvbW1lbnQnLAopOwoKJFNlbGYtPlRydWUoCiAgICAkUXVldWVJRCwKICAgICJRdWV1ZUFkZCgpIC0gJFF1ZXVlUmFuZCwgJFF1ZXVlSUQiLAopOwoKbXkgJFN1cnZleU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKbXkgJFN1cnZleVRpdGxlICA9ICdTdXJ2ZXkgJyAuICRIZWxwZXItPkdldFJhbmRvbUlEKCk7Cm15ICRTdXJ2ZXlJRCAgICAgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlBZGQoCiAgICBVc2VySUQgICAgICAgICAgICAgID0+IDEsCiAgICBUaXRsZSAgICAgICAgICAgICAgID0+ICRTdXJ2ZXlUaXRsZSwKICAgIEludHJvZHVjdGlvbiAgICAgICAgPT4gJ1N1cnZleSBJbnRyb2R1Y3Rpb24nLAogICAgRGVzY3JpcHRpb24gICAgICAgICA9PiAnU3VydmV5IERlc2NyaXB0aW9uJywKICAgIE5vdGlmaWNhdGlvblNlbmRlciAgPT4gJ3N2aWtAZXhhbXBsZS5jb20nLAogICAgTm90aWZpY2F0aW9uU3ViamVjdCA9PiAnU3VydmV5IE5vdGlmaWNhdGlvbiBTdWJqZWN0JywKICAgIE5vdGlmaWNhdGlvbkJvZHkgICAgPT4gJ1N1cnZleSBOb3RpZmljYXRpb24gQm9keScsCiAgICBRdWV1ZXMgICAgICAgICAgICAgID0+IFskUXVldWVJRF0sCik7CiRTZWxmLT5UcnVlKAogICAgJFN1cnZleUlELAogICAgIlN1cnZleSBJRCAkU3VydmV5SUQgaXMgY3JlYXRlZCIsCik7CgpteSAkU3VjY2VzcyA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uQWRkKAogICAgVXNlcklEICAgICAgICAgPT4gMSwKICAgIFN1cnZleUlEICAgICAgID0+ICRTdXJ2ZXlJRCwKICAgIFF1ZXN0aW9uICAgICAgID0+ICdUaGUgUXVlc3Rpb24nLAogICAgQW5zd2VyUmVxdWlyZWQgPT4gMCwKICAgIFR5cGUgICAgICAgICAgID0+ICdUZXh0YXJlYScsCik7CgokU2VsZi0+VHJ1ZSgKICAgICRTdWNjZXNzLAogICAgIlF1ZXN0aW9uIGlzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LiIsCik7CgpteSBAUXVlc3Rpb25MaXN0ID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25MaXN0KAogICAgU3VydmV5SUQgPT4gJFN1cnZleUlECik7CgokU3VjY2VzcyA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleVN0YXR1c1NldCgKICAgIFN1cnZleUlEICA9PiAkU3VydmV5SUQsCiAgICBOZXdTdGF0dXMgPT4gJ01hc3RlcicKKTsKJFNlbGYtPlRydWUoCiAgICAkU3VjY2VzcywKICAgICJTdXJ2ZXkgc3RhdHVzIGlzIHNldCB0byBNYXN0ZXIgc3VjY2Vzc2Z1bGx5LiIsCik7CgpteSAkVGlja2V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldCcpOwpteSAkREJPYmplY3QgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgpteSAkVGlja2V0SUQgPSAkVGlja2V0T2JqZWN0LT5UaWNrZXRDcmVhdGUoCiAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgIFF1ZXVlSUQgICAgICA9PiAkUXVldWVJRCwKICAgIExvY2sgICAgICAgICA9PiAndW5sb2NrJywKICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgU3RhdGUgICAgICAgID0+ICduZXcnLAogICAgQ3VzdG9tZXJJRCAgID0+ICcxMjM0NjUnLAogICAgQ3VzdG9tZXJVc2VyID0+ICdjdXN0b21lckBleGFtcGxlLmNvbScsCiAgICBPd25lcklEICAgICAgPT4gMSwKICAgIFVzZXJJRCAgICAgICA9PiAxLAopOwokU2VsZi0+VHJ1ZSgKICAgICRUaWNrZXRJRCwKICAgICJUaWNrZXRDcmVhdGUoKSBmb3IgVGlja2V0SUQgJFRpY2tldElEIiwKKTsKCm15ICRBcnRpY2xlT2JqZWN0ICAgICAgICAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldDo6QXJ0aWNsZScpOwpteSAkQXJ0aWNsZUludGVybmFsQmFja2VuZE9iamVjdCA9ICRBcnRpY2xlT2JqZWN0LT5CYWNrZW5kRm9yQ2hhbm5lbCgKICAgIENoYW5uZWxOYW1lID0+ICdQaG9uZScsCik7CgpteSAkQXJ0aWNsZUlEID0gJEFydGljbGVJbnRlcm5hbEJhY2tlbmRPYmplY3QtPkFydGljbGVDcmVhdGUoCiAgICBUaWNrZXRJRCAgICAgICAgICAgICA9PiAkVGlja2V0SUQsCiAgICBJc1Zpc2libGVGb3JDdXN0b21lciA9PiAxLAogICAgU2VuZGVyVHlwZSAgICAgICAgICAgPT4gJ2N1c3RvbWVyJywKICAgIEZyb20gICAgICAgICAgICAgICAgID0+ICdTb21lIEN1c3RvbWVyIDxlbWFpbEBleGFtcGxlLmNvbT4nLAogICAgVG8gICAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgQWdlbnQgPGFnZW50QGV4YW1wbGUuY29tPicsCiAgICBTdWJqZWN0ICAgICAgICAgICAgICA9PiAnc29tZSBzaG9ydCBkZXNjcmlwdGlvbicsCiAgICBCb2R5ICAgICAgICAgICAgICAgICA9PiAndGhlIG1lc3NhZ2UgdGV4dCcsCiAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNScsCiAgICBIaXN0b3J5VHlwZSAgICAgICAgICA9PiAnQWRkTm90ZScsCiAgICBIaXN0b3J5Q29tbWVudCAgICAgICA9PiAnU29tZSBmcmVlIHRleHQhJywKICAgIFVzZXJJRCAgICAgICAgICAgICAgID0+IDEsCik7CiRTZWxmLT5UcnVlKAogICAgJEFydGljbGVJRCwKICAgICJBcnRpY2xlQ3JlYXRlKCkgZm9yIEFydGljbGVJRCAkQXJ0aWNsZUlEIiwKKTsKCiRTdWNjZXNzID0gJFN1cnZleU9iamVjdC0+UmVxdWVzdFNlbmQoCiAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCik7CiRTZWxmLT5UcnVlKAogICAgJFN1Y2Nlc3MsCiAgICAiUmVxdWVzdCBpcyBzZW50IHN1Y2Nlc3NmdWxseS4iLAopOwoKJERCT2JqZWN0LT5QcmVwYXJlKAogICAgU1FMID0+ICcKICAgICAgICBTRUxFQ1QgcHVibGljX3N1cnZleV9rZXkKICAgICAgICBGUk9NIHN1cnZleV9yZXF1ZXN0CiAgICAgICAgV0hFUkUgdGlja2V0X2lkID0gPycsCiAgICBCaW5kICA9PiBbIFwkVGlja2V0SUQgXSwKICAgIExpbWl0ID0+IDEsCik7CgpteSAkUHVibGljU3VydmV5S2V5Owp3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICRQdWJsaWNTdXJ2ZXlLZXkgPSAkUm93WzBdOwp9CgpteSAkVm90ZXMgICAgICA9IDM7Cm15ICRBbnN3ZXJUZXh0ID0gJ1NvbWUgYW5zd2VyJzsKZm9yIG15ICRUZXN0ICggJycsICRBbnN3ZXJUZXh0ICkgewogICAgZm9yICggMSAuLiAkVm90ZXMgKSB7CiAgICAgICAgJFN1Y2Nlc3MgPSAkU3VydmV5T2JqZWN0LT5QdWJsaWNBbnN3ZXJTZXQoCiAgICAgICAgICAgIFB1YmxpY1N1cnZleUtleSA9PiAkUHVibGljU3VydmV5S2V5LAogICAgICAgICAgICBRdWVzdGlvbklEICAgICAgPT4gJFF1ZXN0aW9uTGlzdFswXS0+e1F1ZXN0aW9uSUR9LAogICAgICAgICAgICBWb3RlVmFsdWUgICAgICAgPT4gJFRlc3QsCiAgICAgICAgKTsKCiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAiUHVibGljIGFuc3dlciBpcyBzZXQgc3VjY2Vzc2Z1bGx5LiIsCiAgICAgICAgKTsKICAgIH0KfQoKIwpteSAkVm90ZVZhbHVlID0gJyc7CmlmICggJERCT2JqZWN0LT57J0RCOjpUeXBlJ30gZXEgJ29yYWNsZScgKSB7CiAgICAkVm90ZVZhbHVlID0gMDsKfQoKbXkgJEFuc3dlck5vID0gJFN1cnZleU9iamVjdC0+Vm90ZUNvdW50KAogICAgUXVlc3Rpb25JRCA9PiAkUXVlc3Rpb25MaXN0WzBdLT57UXVlc3Rpb25JRH0sCiAgICBWb3RlVmFsdWUgID0+ICRWb3RlVmFsdWUsCik7CgokU2VsZi0+SXMoCiAgICAkQW5zd2VyTm8sCiAgICAkVm90ZXMsCiAgICAiQW5zd2VyTm8gY291bnQgaXMgYXMgZXhwZWN0ZWQuIiwKKTsKCm15ICVSZXF1ZXN0RGF0YSA9ICRTdXJ2ZXlPYmplY3QtPlJlcXVlc3RHZXQoCiAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFB1YmxpY1N1cnZleUtleSwKKTsKCm15IEBWb3RlID0gJFN1cnZleU9iamVjdC0+Vm90ZUdldCgKICAgIFJlcXVlc3RJRCAgPT4gJFJlcXVlc3REYXRhe1JlcXVlc3RJRH0sCiAgICBRdWVzdGlvbklEID0+ICRRdWVzdGlvbkxpc3RbMF0tPntRdWVzdGlvbklEfSwKKTsKCm15ICRBbnN3ZXJUZXh0Vm90ZSA9IHNjYWxhciBncmVwIHsgJF8tPntWb3RlVmFsdWV9IGVxICRBbnN3ZXJUZXh0IH0gQFZvdGU7CgokU2VsZi0+SXMoCiAgICAkQW5zd2VyVGV4dFZvdGUsCiAgICAkVm90ZXMsCiAgICAiQW5zd2VyIGNvdW50IHdpdGggc29tZSB0ZXh0IGlzIGFzIGV4cGVjdGVkLiIsCik7CgojIGNsZWFudXAgaXMgZG9uZSBieSBSZXN0b3JlRGF0YWJhc2UuCjE7Cg==</File>
        <File Location="scripts/test/Survey.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjUgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKJEtlcm5lbDo6T00tPk9iamVjdFBhcmFtQWRkKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyA9PiB7CiAgICAgICAgUmVzdG9yZURhdGFiYXNlID0+IDEsCiAgICB9LAopOwpteSAkSGVscGVyT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCiMgY3JlYXRlIGxvY2FsIGNvbmZpZyBvYmplY3QKbXkgJENvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CgojIHNldCBjb25maWcgdG8gbm90IHNlbmQgZW1haWxzCiRDb25maWdPYmplY3QtPlNldCgKICAgIEtleSAgID0+ICdTZW5kbWFpbE1vZHVsZScsCiAgICBWYWx1ZSA9PiAnS2VybmVsOjpTeXN0ZW06OkVtYWlsOjpEb05vdFNlbmRFbWFpbCcsCik7CgojIGRpc2FibGUgZW1haWwgY2hlY2sKJENvbmZpZ09iamVjdC0+U2V0KAogICAgS2V5ICAgPT4gJ0NoZWNrRW1haWxBZGRyZXNzZXMnLAogICAgVmFsdWUgPT4gMCwKKTsKCiRDb25maWdPYmplY3QtPlNldCgKICAgIEtleSAgID0+ICdTdXJ2ZXk6OlNlbmRJbkhvdXJzQWZ0ZXJDbG9zZScsCiAgICBWYWx1ZSA9PiAwLAopOwoKIyBGcmVlemUgVGltZQokSGVscGVyT2JqZWN0LT5GaXhlZFRpbWVTZXQoKTsKJFNlbGYtPlRydWUoCiAgICAxLAogICAgJy0tIFNldCBGaXhlZCBUaW1lIC0tJywKKTsKCiMgZ2V0IHR5cGUgb2JqZWN0Cm15ICRUeXBlT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlR5cGUnKTsKCm15ICRSYW5kb20gPSAkSGVscGVyT2JqZWN0LT5HZXRSYW5kb21OdW1iZXIoKTsKCiMgY3JlYXRlIGEgdGVzdCB0eXBlCm15ICRUaWNrZXRUeXBlSUQgPSAkVHlwZU9iamVjdC0+VHlwZUFkZCgKICAgIE5hbWUgICAgPT4gJ1VuaXQgVGVzdCBOZXcgVHlwZScgLiAkUmFuZG9tLAogICAgVmFsaWRJRCA9PiAxLAogICAgVXNlcklEICA9PiAxLAopOwoKIyBnZXQgc2VydmljZSBvYmplY3QKbXkgJFNlcnZpY2VPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U2VydmljZScpOwoKIyBjcmVhdGUgYSB0ZXN0IHNlcnZpY2UKbXkgJFNlcnZpY2VJRCA9ICRTZXJ2aWNlT2JqZWN0LT5TZXJ2aWNlQWRkKAogICAgTmFtZSAgICA9PiAnVW5pdCBUZXN0IE5ldyBTZXJ2aWNlJyAuICRSYW5kb20sCiAgICBWYWxpZElEID0+IDEsCiAgICBDb21tZW50ID0+ICdVbml0IFRlc3QgQ29tbWVudCcsCiAgICBVc2VySUQgID0+IDEsCgogICAgIyBUeXBlSUQgYW5kIENyaXRpY2FsaXR5IGlzIG5lZWRlZCB0byB0ZXN0IFN1cnZleVNlbmQoKSB0b2dldGhlciB3aXRoIElUU00KICAgIFR5cGVJRCAgICAgID0+IDIsCiAgICBDcml0aWNhbGl0eSA9PiAnMyBub3JtYWwnLAopOwoKIyBjcmVhdGUgYSB0ZXN0IGN1c3RvbWVydXNlcgpteSAkVGVzdEN1c3RvbWVyVXNlcjEgPSAkSGVscGVyT2JqZWN0LT5UZXN0Q3VzdG9tZXJVc2VyQ3JlYXRlKCk7Cm15ICRUZXN0Q3VzdG9tZXJVc2VyMiA9ICRIZWxwZXJPYmplY3QtPlRlc3RDdXN0b21lclVzZXJDcmVhdGUoKTsKCiMgY3JlYXRlIHN1cnZleQpteSAlU3VydmV5RGF0YSA9ICgKICAgIFRpdGxlICAgICAgICAgICAgICAgICAgPT4gJ0EgVGl0bGUnLAogICAgSW50cm9kdWN0aW9uICAgICAgICAgICA9PiAnVGhlIGludHJvZHVjdGlvbiBvZiB0aGUgc3VydmV5JywKICAgIERlc2NyaXB0aW9uICAgICAgICAgICAgPT4gJ1RoZSBpbnRlcm5hbCBkZXNjcmlwdGlvbiBvZiB0aGUgc3VydmV5JywKICAgIE5vdGlmaWNhdGlvblNlbmRlciAgICAgPT4gJ3F1YWxpdHlAdW5pdHRlc3QuY29tJywKICAgIE5vdGlmaWNhdGlvblN1YmplY3QgICAgPT4gJ0hlbHAgdXMgd2l0aCB5b3VyIGZlZWRiYWNrISDDhMOWw5wnLAogICAgTm90aWZpY2F0aW9uQm9keSAgICAgICA9PiAnRGVhciBjdXN0b21lci4uLiDDpMO2w7wnLAogICAgVGlja2V0VHlwZUlEcyAgICAgICAgICA9PiBbJFRpY2tldFR5cGVJRF0sCiAgICBTZXJ2aWNlSURzICAgICAgICAgICAgID0+IFskU2VydmljZUlEXSwKICAgIEN1c3RvbWVyVXNlckNvbmRpdGlvbnMgPT4gewogICAgICAgIFVzZXJGaXJzdG5hbWUgPT4gWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOZWdhdGlvbiAgICA9PiAwLAogICAgICAgICAgICAgICAgUmVnRXhwVmFsdWUgPT4gJFRlc3RDdXN0b21lclVzZXIxLAogICAgICAgICAgICB9LAogICAgICAgIF0sCiAgICB9LAopOwoKIyBnZXQgU3VydmV5IG9iamVjdApteSAkU3VydmV5T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpOwoKbXkgJFN1cnZleUlEID0gJFN1cnZleU9iamVjdC0+U3VydmV5QWRkKAogICAgVXNlcklEID0+IDEsCiAgICAlU3VydmV5RGF0YSwKKTsKJFNlbGYtPlRydWUoCiAgICAkU3VydmV5SUQsCiAgICAiU3VydmV5QWRkKCkiLAopOwoKZm9yICggMSAuLiAzICkgewogICAgbXkgJFF1ZXN0aW9uQWRkID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25BZGQoCiAgICAgICAgVXNlcklEICAgPT4gMSwKICAgICAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCiAgICAgICAgUXVlc3Rpb24gPT4gJ1RoZSBRdWVzdGlvbicsCiAgICAgICAgVHlwZSAgICAgPT4gJ1JhZGlvJywKICAgICk7Cn0KbXkgQExpc3QgPSAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkxpc3QoCiAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCik7CmZvciBteSAkUXVlc3Rpb24gKEBMaXN0KSB7CiAgICBmb3IgKCAxIC4uIDMgKSB7CiAgICAgICAgJFN1cnZleU9iamVjdC0+QW5zd2VyQWRkKAogICAgICAgICAgICBVc2VySUQgICAgICAgICA9PiAxLAogICAgICAgICAgICBRdWVzdGlvbklEICAgICA9PiAkUXVlc3Rpb24tPntRdWVzdGlvbklEfSwKICAgICAgICAgICAgQW5zd2VyICAgICAgICAgPT4gJ1RoZSBBbnN3ZXInLAogICAgICAgICAgICBBbnN3ZXJSZXF1aXJlZCA9PiAxLAogICAgICAgICk7CiAgICB9Cn0KCm15ICRTdGF0dXNTZXQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlTdGF0dXNTZXQoCiAgICBTdXJ2ZXlJRCAgPT4gJFN1cnZleUlELAogICAgTmV3U3RhdHVzID0+ICdNYXN0ZXInCik7CiRTZWxmLT5JcygKICAgICRTdGF0dXNTZXQsCiAgICAnU3RhdHVzU2V0JywKICAgICJTdXJ2ZXlTdGF0dXNTZXQoKSIsCik7CgpteSAlU3VydmV5R2V0ID0gJFN1cnZleU9iamVjdC0+U3VydmV5R2V0KAogICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAopOwoKIyBmb3IgbXkgJEtleSAoIHNvcnQga2V5cyAlU3VydmV5R2V0ICkgewojICAgICBuZXh0IGlmICFkZWZpbmVkICRTdXJ2ZXlEYXRheyRLZXl9OwojICAgICAkU2VsZi0+SXMoCiMgICAgICAgICAkU3VydmV5R2V0eyRLZXl9LAojICAgICAgICAgJFN1cnZleURhdGF7JEtleX0sCiMgICAgICAgICAiU3VydmV5R2V0KCkiLAojICAgICApOwojIH0KCmZvciBteSAkQXR0cmlidXRlICggc29ydCBrZXlzICVTdXJ2ZXlEYXRhICkgewoKICAgICRTZWxmLT5Jc0RlZXBseSgKICAgICAgICAkU3VydmV5R2V0eyRBdHRyaWJ1dGV9LAogICAgICAgICRTdXJ2ZXlEYXRheyRBdHRyaWJ1dGV9LAogICAgICAgICJTdXJ2ZXlHZXQoKSIsCiAgICApOwp9CgpteSBAVGVzdHMgPSAoCiAgICB7CiAgICAgICAgTmFtZSAgICAgICAgICAgICAgICAgPT4gJyMxIHRyeScsCiAgICAgICAgJ1N1cnZleTo6U2VuZFBlcmlvZCcgPT4gMTAwLAogICAgICAgIFRpY2tldCAgICAgICAgICAgICAgID0+IHsKICAgICAgICAgICAgVGl0bGUgICAgICAgID0+ICdTb21lIFRpY2tldCBUaXRsZScsCiAgICAgICAgICAgIFF1ZXVlICAgICAgICA9PiAnUmF3JywKICAgICAgICAgICAgTG9jayAgICAgICAgID0+ICd1bmxvY2snLAogICAgICAgICAgICBQcmlvcml0eSAgICAgPT4gJzMgbm9ybWFsJywKICAgICAgICAgICAgU3RhdGUgICAgICAgID0+ICdvcGVuJywKICAgICAgICAgICAgQ3VzdG9tZXJObyAgID0+ICcxMjM0NjUnLAogICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJ2N1c3RvbWVyQHVuaXR0ZXN0LmNvbScsCiAgICAgICAgICAgIE93bmVySUQgICAgICA9PiAxLAogICAgICAgICAgICBVc2VySUQgICAgICAgPT4gMSwKICAgICAgICB9LAogICAgICAgIEFydGljbGUgPT4gewogICAgICAgICAgICBDb21tdW5pY2F0aW9uQ2hhbm5lbCA9PiAnRW1haWwnLAogICAgICAgICAgICBJc1Zpc2libGVGb3JDdXN0b21lciA9PiAxLAogICAgICAgICAgICBTZW5kZXJUeXBlICAgICAgICAgICA9PiAnY3VzdG9tZXInLAogICAgICAgICAgICBGcm9tICAgICAgICAgICAgICAgICA9PiAnU29tZSBDdXN0b21lciA8c29tZUB1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgVG8gICAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgVG8gPHRvQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBTdWJqZWN0ICAgICAgICAgICAgICA9PiAnU29tZSBTdWJqZWN0JywKICAgICAgICAgICAgQm9keSAgICAgICAgICAgICAgICAgPT4gJ3RoZSBtZXNzYWdlIHRleHQnLAogICAgICAgICAgICBNZXNzYWdlSUQgICAgICAgICAgICA9PiAnPGFzZGFzZGFzZC4xMjNAdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIENvbnRlbnRUeXBlICAgICAgICAgID0+ICd0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTE1JywKICAgICAgICAgICAgSGlzdG9yeVR5cGUgICAgICAgICAgPT4gJ093bmVyVXBkYXRlJywKICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgICAgICAgPT4gJ1NvbWUgZnJlZSB0ZXh0IScsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE5vQWdlbnROb3RpZnkgICAgICAgID0+IDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgeW91IGRvbid0IHdhbnQgdG8gc2VuZCBhZ2VudCBub3RpZmljYXRpb25zCiAgICAgICAgfSwKICAgICAgICBSZXN1bHQgPT4gWwogICAgICAgICAgICAxLAogICAgICAgICAgICAwLAogICAgICAgIF0sCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgICAgICAgICAgID0+ICcjMiB0cnknLAogICAgICAgICdTdXJ2ZXk6OlNlbmRQZXJpb2QnID0+IDEwMCwKICAgICAgICBUaWNrZXQgICAgICAgICAgICAgICA9PiB7CiAgICAgICAgICAgIFRpdGxlICAgICAgICA9PiAnU29tZSBUaWNrZXQgVGl0bGUnLAogICAgICAgICAgICBRdWV1ZSAgICAgICAgPT4gJ1JhdycsCiAgICAgICAgICAgIExvY2sgICAgICAgICA9PiAndW5sb2NrJywKICAgICAgICAgICAgUHJpb3JpdHkgICAgID0+ICczIG5vcm1hbCcsCiAgICAgICAgICAgIFN0YXRlICAgICAgICA9PiAnb3BlbicsCiAgICAgICAgICAgIEN1c3RvbWVyTm8gICA9PiAnMTIzNDY1JywKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICdjdXN0b21lckB1bml0dGVzdC5jb20nLAogICAgICAgICAgICBPd25lcklEICAgICAgPT4gMSwKICAgICAgICAgICAgVXNlcklEICAgICAgID0+IDEsCiAgICAgICAgfSwKICAgICAgICBBcnRpY2xlID0+IHsKICAgICAgICAgICAgQ29tbXVuaWNhdGlvbkNoYW5uZWwgPT4gJ0VtYWlsJywKICAgICAgICAgICAgSXNWaXNpYmxlRm9yQ3VzdG9tZXIgPT4gMSwKICAgICAgICAgICAgU2VuZGVyVHlwZSAgICAgICAgICAgPT4gJ2N1c3RvbWVyJywKICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgQ3VzdG9tZXIgPFNPTUVAdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgID0+ICdTb21lIFRvIDx0b0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgU3ViamVjdCAgICAgICAgICAgICAgPT4gJ1NvbWUgU3ViamVjdCcsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgID0+ICd0aGUgbWVzc2FnZSB0ZXh0JywKICAgICAgICAgICAgTWVzc2FnZUlEICAgICAgICAgICAgPT4gJzxhc2Rhc2Rhc2QuMTIzQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNScsCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgICAgICAgID0+ICdPd25lclVwZGF0ZScsCiAgICAgICAgICAgIEhpc3RvcnlDb21tZW50ICAgICAgID0+ICdTb21lIGZyZWUgdGV4dCEnLAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOb0FnZW50Tm90aWZ5ICAgICAgICA9PiAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGlmIHlvdSBkb24ndCB3YW50IHRvIHNlbmQgYWdlbnQgbm90aWZpY2F0aW9ucwogICAgICAgIH0sCiAgICAgICAgUmVzdWx0ID0+IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMCwKICAgICAgICBdLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lICAgICAgICAgICAgICAgICA9PiAnIzMgdHJ5JywKICAgICAgICAnU3VydmV5OjpTZW5kUGVyaW9kJyA9PiAxMDAsCiAgICAgICAgVGlja2V0ICAgICAgICAgICAgICAgPT4gewogICAgICAgICAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgICAgICAgICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ29wZW4nLAogICAgICAgICAgICBDdXN0b21lck5vICAgPT4gJzEyMzQ2NScsCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAdW5pdHRlc3QuY29tJywKICAgICAgICAgICAgT3duZXJJRCAgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgIH0sCiAgICAgICAgQXJ0aWNsZSA9PiB7CiAgICAgICAgICAgIENvbW11bmljYXRpb25DaGFubmVsID0+ICdFbWFpbCcsCiAgICAgICAgICAgIElzVmlzaWJsZUZvckN1c3RvbWVyID0+IDEsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgID0+ICdjdXN0b21lcicsCiAgICAgICAgICAgIEZyb20gICAgICAgICAgICAgICAgID0+ICdTT01FQHVuaXR0ZXN0LmNvbScsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgID0+ICdTb21lIFRvIDx0b0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgU3ViamVjdCAgICAgICAgICAgICAgPT4gJ1NvbWUgU3ViamVjdCcsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgID0+ICd0aGUgbWVzc2FnZSB0ZXh0JywKICAgICAgICAgICAgTWVzc2FnZUlEICAgICAgICAgICAgPT4gJzxhc2Rhc2Rhc2QuMTIzQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNScsCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgICAgICAgID0+ICdPd25lclVwZGF0ZScsCiAgICAgICAgICAgIEhpc3RvcnlDb21tZW50ICAgICAgID0+ICdTb21lIGZyZWUgdGV4dCEnLAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOb0FnZW50Tm90aWZ5ICAgICAgICA9PiAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB5b3UgZG9uJ3Qgd2FudCB0byBzZW5kIGFnZW50IG5vdGlmaWNhdGlvbnMKICAgICAgICB9LAogICAgICAgIFJlc3VsdCA9PiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDAsCiAgICAgICAgXSwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICAgICAgICAgICAgPT4gJyM0IHRyeScsCiAgICAgICAgU2xlZXAgICAgICAgICAgICAgICAgPT4gODAsCiAgICAgICAgJ1N1cnZleTo6U2VuZFBlcmlvZCcgPT4gMSAvIDI0IC8gNjAsCiAgICAgICAgVGlja2V0ICAgICAgICAgICAgICAgPT4gewogICAgICAgICAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgICAgICAgICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ29wZW4nLAogICAgICAgICAgICBDdXN0b21lck5vICAgPT4gJzEyMzQ2NScsCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAdW5pdHRlc3QuY29tJywKICAgICAgICAgICAgT3duZXJJRCAgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgIH0sCiAgICAgICAgQXJ0aWNsZSA9PiB7CiAgICAgICAgICAgIENvbW11bmljYXRpb25DaGFubmVsID0+ICdFbWFpbCcsCiAgICAgICAgICAgIElzVmlzaWJsZUZvckN1c3RvbWVyID0+IDEsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgID0+ICdjdXN0b21lcicsCiAgICAgICAgICAgIEZyb20gICAgICAgICAgICAgICAgID0+ICdTT01FQHVuaXR0ZXN0LmNvbScsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgID0+ICdTb21lIFRvIDx0b0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgU3ViamVjdCAgICAgICAgICAgICAgPT4gJ1NvbWUgU3ViamVjdCcsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgID0+ICd0aGUgbWVzc2FnZSB0ZXh0JywKICAgICAgICAgICAgTWVzc2FnZUlEICAgICAgICAgICAgPT4gJzxhc2Rhc2Rhc2QuMTIzQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNScsCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgICAgICAgID0+ICdPd25lclVwZGF0ZScsCiAgICAgICAgICAgIEhpc3RvcnlDb21tZW50ICAgICAgID0+ICdTb21lIGZyZWUgdGV4dCEnLAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOb0FnZW50Tm90aWZ5ICAgICAgICA9PiAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB5b3UgZG9uJ3Qgd2FudCB0byBzZW5kIGFnZW50IG5vdGlmaWNhdGlvbnMKICAgICAgICB9LAogICAgICAgIFJlc3VsdCA9PiBbCiAgICAgICAgICAgIDEsCiAgICAgICAgICAgIDAsCiAgICAgICAgXSwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICAgICAgICAgICAgPT4gJyM1IHRyeScsCiAgICAgICAgU2xlZXAgICAgICAgICAgICAgICAgPT4gMjAsCiAgICAgICAgJ1N1cnZleTo6U2VuZFBlcmlvZCcgPT4gMSAvIDI0IC8gNjAsCiAgICAgICAgVGlja2V0ICAgICAgICAgICAgICAgPT4gewogICAgICAgICAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgICAgICAgICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ29wZW4nLAogICAgICAgICAgICBDdXN0b21lck5vICAgPT4gJzEyMzQ2NScsCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAdW5pdHRlc3QuY29tJywKICAgICAgICAgICAgT3duZXJJRCAgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgIH0sCiAgICAgICAgQXJ0aWNsZSA9PiB7CiAgICAgICAgICAgIENvbW11bmljYXRpb25DaGFubmVsID0+ICdFbWFpbCcsCiAgICAgICAgICAgIElzVmlzaWJsZUZvckN1c3RvbWVyID0+IDEsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgID0+ICdjdXN0b21lcicsCiAgICAgICAgICAgIEZyb20gICAgICAgICAgICAgICAgID0+ICdTT01FQHVuaXR0ZXN0LmNvbScsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgID0+ICdTb21lIFRvIDx0b0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgU3ViamVjdCAgICAgICAgICAgICAgPT4gJ1NvbWUgU3ViamVjdCcsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgID0+ICd0aGUgbWVzc2FnZSB0ZXh0JywKICAgICAgICAgICAgTWVzc2FnZUlEICAgICAgICAgICAgPT4gJzxhc2Rhc2Rhc2QuMTIzQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNScsCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgICAgICAgID0+ICdPd25lclVwZGF0ZScsCiAgICAgICAgICAgIEhpc3RvcnlDb21tZW50ICAgICAgID0+ICdTb21lIGZyZWUgdGV4dCEnLAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOb0FnZW50Tm90aWZ5ICAgICAgICA9PiAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB5b3UgZG9uJ3Qgd2FudCB0byBzZW5kIGFnZW50IG5vdGlmaWNhdGlvbnMKICAgICAgICB9LAogICAgICAgIFJlc3VsdCA9PiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDAsCiAgICAgICAgXSwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgID0+ICcjNiB0cnknLAogICAgICAgIFRpY2tldCA9PiB7CiAgICAgICAgICAgIFRpdGxlICAgICAgICA9PiAnU29tZSBUaWNrZXQgVGl0bGUnLAogICAgICAgICAgICBRdWV1ZSAgICAgICAgPT4gJ1JhdycsCiAgICAgICAgICAgIExvY2sgICAgICAgICA9PiAndW5sb2NrJywKICAgICAgICAgICAgUHJpb3JpdHkgICAgID0+ICczIG5vcm1hbCcsCiAgICAgICAgICAgIFN0YXRlICAgICAgICA9PiAnb3BlbicsCiAgICAgICAgICAgIEN1c3RvbWVyTm8gICA9PiAnMTIzNDY1JywKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICdjdXN0b21lckB1bml0dGVzdC5jb20nLAogICAgICAgICAgICBPd25lcklEICAgICAgPT4gMSwKICAgICAgICAgICAgVXNlcklEICAgICAgID0+IDEsCiAgICAgICAgfSwKICAgICAgICBBcnRpY2xlID0+IHsKICAgICAgICAgICAgQ29tbXVuaWNhdGlvbkNoYW5uZWwgPT4gJ0VtYWlsJywKICAgICAgICAgICAgSXNWaXNpYmxlRm9yQ3VzdG9tZXIgPT4gMSwKICAgICAgICAgICAgU2VuZGVyVHlwZSAgICAgICAgICAgPT4gJ2N1c3RvbWVyJywKICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgPT4gJ015IE5hbWUnLAogICAgICAgICAgICBUbyAgICAgICAgICAgICAgICAgICA9PiAnU29tZSBUbyA8dG9AdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIFN1YmplY3QgICAgICAgICAgICAgID0+ICdTb21lIFN1YmplY3QnLAogICAgICAgICAgICBCb2R5ICAgICAgICAgICAgICAgICA9PiAndGhlIG1lc3NhZ2UgdGV4dCcsCiAgICAgICAgICAgIE1lc3NhZ2VJRCAgICAgICAgICAgID0+ICc8YXNkYXNkYXNkLjEyM0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgICAgICAgPT4gJ3RleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMTUnLAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgICAgICAgICA9PiAnT3duZXJVcGRhdGUnLAogICAgICAgICAgICBIaXN0b3J5Q29tbWVudCAgICAgICA9PiAnU29tZSBmcmVlIHRleHQhJywKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTm9BZ2VudE5vdGlmeSAgICAgICAgPT4gMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgeW91IGRvbid0IHdhbnQgdG8gc2VuZCBhZ2VudCBub3RpZmljYXRpb25zCiAgICAgICAgfSwKICAgICAgICBSZXN1bHQgPT4gWwogICAgICAgICAgICAwLAogICAgICAgICAgICAwLAogICAgICAgIF0sCiAgICB9LAopOwoKIyBnZXQgdGlja2V0IG9iamVjdApteSAkVGlja2V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldCcpOwoKZm9yIG15ICRUZXN0IChAVGVzdHMpIHsKCiAgICBpZiAoICRUZXN0LT57J1N1cnZleTo6U2VuZFBlcmlvZCd9ICkgewogICAgICAgICRDb25maWdPYmplY3QtPlNldCgKICAgICAgICAgICAgS2V5ICAgPT4gJ1N1cnZleTo6U2VuZFBlcmlvZCcsCiAgICAgICAgICAgIFZhbHVlID0+ICRUZXN0LT57J1N1cnZleTo6U2VuZFBlcmlvZCd9LAogICAgICAgICk7CiAgICB9CgogICAgIyBubyBzZW5kIGNvbmRpdGlvbiBjaGVjayBpbiBub3JtYWwgdGVzdHMKICAgICRDb25maWdPYmplY3QtPlNldCgKICAgICAgICBLZXkgICA9PiAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJywKICAgICAgICBWYWx1ZSA9PiAwLAogICAgKTsKICAgICRDb25maWdPYmplY3QtPlNldCgKICAgICAgICBLZXkgICA9PiAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25TZXJ2aWNlJywKICAgICAgICBWYWx1ZSA9PiAwLAogICAgKTsKICAgICRDb25maWdPYmplY3QtPlNldCgKICAgICAgICBLZXkgICA9PiAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcycsCiAgICAgICAgVmFsdWUgPT4gMCwKICAgICk7CgogICAgaWYgKCAkVGVzdC0+e1NsZWVwfSApIHsKICAgICAgICAkSGVscGVyT2JqZWN0LT5GaXhlZFRpbWVBZGRTZWNvbmRzKCAkVGVzdC0+e1NsZWVwfSApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAxLAogICAgICAgICAgICAiLS0gQWRkZWQgJFRlc3QtPntTbGVlcH0gU2Vjb25kKHMpIHRvIEZpeGVkIFRpbWUgLS0iLAogICAgICAgICk7CiAgICB9CgogICAgbXkgJFRpY2tldElEID0gJFRpY2tldE9iamVjdC0+VGlja2V0Q3JlYXRlKAogICAgICAgICV7ICRUZXN0LT57VGlja2V0fSB9LAogICAgKTsKCiAgICBteSAkQXJ0aWNsZUJhY2tlbmRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0OjpBcnRpY2xlJyktPkJhY2tlbmRGb3JDaGFubmVsKAogICAgICAgIENoYW5uZWxOYW1lID0+ICRUZXN0LT57QXJ0aWNsZX0tPntDb21tdW5pY2F0aW9uQ2hhbm5lbH0sCiAgICApOwoKICAgIG15ICRBcnRpY2xlSUQgPSAkQXJ0aWNsZUJhY2tlbmRPYmplY3QtPkFydGljbGVDcmVhdGUoCiAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICV7ICRUZXN0LT57QXJ0aWNsZX0gfSwKICAgICk7CgogICAgIyBzZW5kIHN1cnZleSBmaXJzdCB0aW1lCiAgICBteSAkUmVzcG9uc2UgPSAkU3VydmV5T2JqZWN0LT5SZXF1ZXN0U2VuZCgKICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgVGVzdCAgICAgPT4gJFRlc3QtPntOYW1lfSwKICAgICk7CgogICAgIyBjaGVjayBpZiBzdXJ2ZXkgZ290IHNlbnQKICAgIGlmICggJFRlc3QtPntSZXN1bHR9LT5bMF0gKSB7CgogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkUmVzcG9uc2UtPntTdWNjZXNzfSwKICAgICAgICAgICAgIiRUZXN0LT57TmFtZX0gUmVxdWVzdFNlbmQoKSAtIHN1cnZleSBnb3Qgc2VudCIsCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAkUmVzcG9uc2UtPntEYXRhfS0+e0hlYWRlcn0gPX4gbXsgXiBTdWJqZWN0OiBbIF0gKCAuKz8gKSBcbiBcUys6IFsgXSB9eG1zICkgewogICAgICAgICAgICAkU2VsZi0+SXMoCiAgICAgICAgICAgICAgICAkMSwKICAgICAgICAgICAgICAgICdIZWxwIHVzIHdpdGggeW91ciBmZWVkYmFjayEgPT9VVEYtOD9RPz1DMz04ND1DMz05Nj1DMz05Qz89JywKICAgICAgICAgICAgICAgICIkVGVzdC0+e05hbWV9IFRlc3Qgc3BlY2lhbCBjaGFyYWN0ZXJzIGluIGVtYWlsIHN1YmplY3QiLAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBkZWZpbmUgbWFpbCBib2R5CiAgICAgICAgbXkgJE1haWxib2R5MSA9IDw8J0VORCc7ClRoaXMgaXMgYSBtdWx0aS1wYXJ0IG1lc3NhZ2UgaW4gTUlNRSBmb3JtYXQuLi4KCi0tLS0tLS0tLS0tLT1fTUVTU0FHRUlECkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0idXRmLTgiCkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCgpEZWFyIGN1c3RvbWVyLi4uID1DMz1BND1DMz1CNj1DMz1CQz0KCi0tLS0tLS0tLS0tLT1fTUVTU0FHRUlECkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PSJ1dGYtOCIKQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKCjwhRE9DVFlQRSBodG1sPjxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9M0QiQ29udGVudC1UeXBlIiBjb250ZW50PTNEInRleD0KdC9odG1sOyBjaGFyc2V0PTNEdXRmLTgiLz48L2hlYWQ+PGJvZHkgc3R5bGU9M0QiZm9udC1mYW1pbHk6R2VuZXZhLEhlbHZldGljPQphLEFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJweDsiPkRlYXIgY3VzdG9tZXIuLi4gPUMzPUE0PUMzPUI2PUMzPUJDPC89CmJvZHk+PC9odG1sPj0KCi0tLS0tLS0tLS0tLT1fTUVTU0FHRUlELS0KRU5ECgogICAgICAgICMgY29weSBtYWlsIGJvZHkKICAgICAgICBteSAkTWFpbGJvZHkyID0gJFJlc3BvbnNlLT57RGF0YX0tPntCb2R5fTsKCiAgICAgICAgIyBwcmVwYXJlIG1haWwgYm9keQogICAgICAgICRNYWlsYm9keTIgPX4gc3sgXGR7OCwxMn0gLSBcZHszLDZ9IC0gXGR7MSwzfSB9e01FU1NBR0VJRH14bXNnOwoKICAgICAgICAkU2VsZi0+SXMoCiAgICAgICAgICAgICRNYWlsYm9keTIsCiAgICAgICAgICAgICRNYWlsYm9keTEsCiAgICAgICAgICAgICIkVGVzdC0+e05hbWV9IFRlc3Qgc3BlY2lhbCBjaGFyYWN0ZXJzIGluIGVtYWlsIGJvZHkiLAogICAgICAgICk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkU2VsZi0+RmFsc2UoCiAgICAgICAgICAgICRSZXNwb25zZS0+e1N1Y2Nlc3N9LAogICAgICAgICAgICAiJFRlc3QtPntOYW1lfSBSZXF1ZXN0U2VuZCgpIC0gbm8gc3VydmV5IGdvdCBzZW50IiwKICAgICAgICApOwogICAgfQoKICAgICMgc2VuZCBzdXJ2ZXkgc2Vjb25kIHRpbWUKICAgICRSZXNwb25zZSA9ICRTdXJ2ZXlPYmplY3QtPlJlcXVlc3RTZW5kKAogICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICk7CgogICAgIyBjaGVjayBpZiBzdXJ2ZXkgZ290IHNlbnQKICAgIGlmICggJFRlc3QtPntSZXN1bHR9LT5bMV0gKSB7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRSZXNwb25zZS0+e1N1Y2Nlc3N9LAogICAgICAgICAgICAiJFRlc3QtPntOYW1lfSAyIFJlcXVlc3RTZW5kKCkgLSBzdXJ2ZXkgZ290IHNlbnQiLAogICAgICAgICk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkU2VsZi0+RmFsc2UoCiAgICAgICAgICAgICRSZXNwb25zZSwKICAgICAgICAgICAgIiRUZXN0LT57TmFtZX0gMiBSZXF1ZXN0U2VuZCgpIC0gbm8gc3VydmV5IGdvdCBzZW50IiwKICAgICAgICApOwogICAgfQoKICAgIG15ICREZWxldGUgPSAkVGlja2V0T2JqZWN0LT5UaWNrZXREZWxldGUoCiAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgIFVzZXJJRCAgID0+IDEsCiAgICApOwp9CgpteSBAU2VuZENvbmRpdGlvblRlc3RzID0gKAogICAgewogICAgICAgIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnU2VuZENvbmRpdGlvbiMxIHdpdGhvdXQgc2VuZCBjb25kaXRpb24gY2hlY2sgKHRpY2tldCB0eXBlIGFuZCBzZXJ2aWNlKScsCiAgICAgICAgJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uVGlja2V0VHlwZScgICAgID0+IDAsCiAgICAgICAgJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uU2VydmljZScgICAgICAgID0+IDAsCiAgICAgICAgJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uQ3VzdG9tZXJGaWVsZHMnID0+IDAsCiAgICAgICAgVGlja2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHsKICAgICAgICAgICAgVGl0bGUgICAgICAgID0+ICdTb21lIFRpY2tldCBUaXRsZScsCiAgICAgICAgICAgIFF1ZXVlICAgICAgICA9PiAnUmF3JywKICAgICAgICAgICAgTG9jayAgICAgICAgID0+ICd1bmxvY2snLAogICAgICAgICAgICBQcmlvcml0eSAgICAgPT4gJzMgbm9ybWFsJywKICAgICAgICAgICAgU3RhdGUgICAgICAgID0+ICdvcGVuJywKICAgICAgICAgICAgQ3VzdG9tZXJObyAgID0+ICcxMjM0NjUnLAogICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJ2N1c3RvbWVyQHVuaXR0ZXN0LmNvbScsCiAgICAgICAgICAgIE93bmVySUQgICAgICA9PiAxLAogICAgICAgICAgICBVc2VySUQgICAgICAgPT4gMSwKICAgICAgICAgICAgVHlwZUlEICAgICAgID0+IDAsCiAgICAgICAgICAgIFNlcnZpY2VJRCAgICA9PiAwLAogICAgICAgIH0sCiAgICAgICAgQXJ0aWNsZSA9PiB7CiAgICAgICAgICAgIENvbW11bmljYXRpb25DaGFubmVsID0+ICdFbWFpbCcsCiAgICAgICAgICAgIElzVmlzaWJsZUZvckN1c3RvbWVyID0+IDEsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgID0+ICdjdXN0b21lcicsCiAgICAgICAgICAgIEZyb20gICAgICAgICAgICAgICAgID0+ICdTb21lIEN1c3RvbWVyIDxzb21lQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBUbyAgICAgICAgICAgICAgICAgICA9PiAnU29tZSBUbyA8dG9AdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIFN1YmplY3QgICAgICAgICAgICAgID0+ICdTb21lIFN1YmplY3QnLAogICAgICAgICAgICBCb2R5ICAgICAgICAgICAgICAgICA9PiAndGhlIG1lc3NhZ2UgdGV4dCcsCiAgICAgICAgICAgIE1lc3NhZ2VJRCAgICAgICAgICAgID0+ICc8YXNkYXNkYXNkLjEyM0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgICAgICAgPT4gJ3RleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMTUnLAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgICAgICAgICA9PiAnT3duZXJVcGRhdGUnLAogICAgICAgICAgICBIaXN0b3J5Q29tbWVudCAgICAgICA9PiAnU29tZSBmcmVlIHRleHQhJywKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTm9BZ2VudE5vdGlmeSAgICAgICAgPT4gMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB5b3UgZG9uJ3Qgd2FudCB0byBzZW5kIGFnZW50IG5vdGlmaWNhdGlvbnMKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMSwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdTZW5kQ29uZGl0aW9uIzIgdHJ5IHdpdGggY2hlY2sgZm9yIHRpY2tldCB0eXBlJywKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJyAgICAgPT4gMSwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25TZXJ2aWNlJyAgICAgICAgPT4gMCwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcycgPT4gMCwKICAgICAgICBUaWNrZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gewogICAgICAgICAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgICAgICAgICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ29wZW4nLAogICAgICAgICAgICBDdXN0b21lck5vICAgPT4gJzEyMzQ2NScsCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAdW5pdHRlc3QuY29tJywKICAgICAgICAgICAgT3duZXJJRCAgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgICAgICBUeXBlSUQgICAgICAgPT4gJFRpY2tldFR5cGVJRCwKICAgICAgICB9LAogICAgICAgIEFydGljbGUgPT4gewogICAgICAgICAgICBDb21tdW5pY2F0aW9uQ2hhbm5lbCA9PiAnRW1haWwnLAogICAgICAgICAgICBJc1Zpc2libGVGb3JDdXN0b21lciA9PiAxLAogICAgICAgICAgICBTZW5kZXJUeXBlICAgICAgICAgICA9PiAnY3VzdG9tZXInLAogICAgICAgICAgICBGcm9tICAgICAgICAgICAgICAgICA9PiAnU29tZSBDdXN0b21lciA8c29tZUB1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgVG8gICAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgVG8gPHRvQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBTdWJqZWN0ICAgICAgICAgICAgICA9PiAnU29tZSBTdWJqZWN0JywKICAgICAgICAgICAgQm9keSAgICAgICAgICAgICAgICAgPT4gJ3RoZSBtZXNzYWdlIHRleHQnLAogICAgICAgICAgICBNZXNzYWdlSUQgICAgICAgICAgICA9PiAnPGFzZGFzZGFzZC4xMjNAdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIENvbnRlbnRUeXBlICAgICAgICAgID0+ICd0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTE1JywKICAgICAgICAgICAgSGlzdG9yeVR5cGUgICAgICAgICAgPT4gJ093bmVyVXBkYXRlJywKICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgICAgICAgPT4gJ1NvbWUgZnJlZSB0ZXh0IScsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE5vQWdlbnROb3RpZnkgICAgICAgID0+IDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgeW91IGRvbid0IHdhbnQgdG8gc2VuZCBhZ2VudCBub3RpZmljYXRpb25zCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDEsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnU2VuZENvbmRpdGlvbiMzIHRyeSB3aXRoIGNoZWNrIGZvciB0aWNrZXQgdHlwZSAodmFsdWUgZmFsc2UpJywKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJyAgICAgPT4gMSwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25TZXJ2aWNlJyAgICAgICAgPT4gMCwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcycgPT4gMCwKICAgICAgICBUaWNrZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gewogICAgICAgICAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgICAgICAgICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ29wZW4nLAogICAgICAgICAgICBDdXN0b21lck5vICAgPT4gJzEyMzQ2NScsCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAdW5pdHRlc3QuY29tJywKICAgICAgICAgICAgT3duZXJJRCAgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgICAgICBUeXBlSUQgICAgICAgPT4gMCwKICAgICAgICB9LAogICAgICAgIEFydGljbGUgPT4gewogICAgICAgICAgICBDb21tdW5pY2F0aW9uQ2hhbm5lbCA9PiAnRW1haWwnLAogICAgICAgICAgICBJc1Zpc2libGVGb3JDdXN0b21lciA9PiAxLAogICAgICAgICAgICBTZW5kZXJUeXBlICAgICAgICAgICA9PiAnY3VzdG9tZXInLAogICAgICAgICAgICBGcm9tICAgICAgICAgICAgICAgICA9PiAnU29tZSBDdXN0b21lciA8c29tZUB1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgVG8gICAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgVG8gPHRvQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBTdWJqZWN0ICAgICAgICAgICAgICA9PiAnU29tZSBTdWJqZWN0JywKICAgICAgICAgICAgQm9keSAgICAgICAgICAgICAgICAgPT4gJ3RoZSBtZXNzYWdlIHRleHQnLAogICAgICAgICAgICBNZXNzYWdlSUQgICAgICAgICAgICA9PiAnPGFzZGFzZGFzZC4xMjNAdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIENvbnRlbnRUeXBlICAgICAgICAgID0+ICd0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTE1JywKICAgICAgICAgICAgSGlzdG9yeVR5cGUgICAgICAgICAgPT4gJ093bmVyVXBkYXRlJywKICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgICAgICAgPT4gJ1NvbWUgZnJlZSB0ZXh0IScsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE5vQWdlbnROb3RpZnkgICAgICAgID0+IDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgeW91IGRvbid0IHdhbnQgdG8gc2VuZCBhZ2VudCBub3RpZmljYXRpb25zCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnU2VuZENvbmRpdGlvbiM0IHRyeSB3aXRoIGNoZWNrIGZvciBzZXJ2aWNlJywKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJyAgICAgPT4gMCwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25TZXJ2aWNlJyAgICAgICAgPT4gMSwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcycgPT4gMCwKICAgICAgICBUaWNrZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gewogICAgICAgICAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgICAgICAgICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ29wZW4nLAogICAgICAgICAgICBDdXN0b21lck5vICAgPT4gJzEyMzQ2NScsCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAdW5pdHRlc3QuY29tJywKICAgICAgICAgICAgT3duZXJJRCAgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgICAgICBTZXJ2aWNlSUQgICAgPT4gJFNlcnZpY2VJRCwKICAgICAgICB9LAogICAgICAgIEFydGljbGUgPT4gewogICAgICAgICAgICBDb21tdW5pY2F0aW9uQ2hhbm5lbCA9PiAnRW1haWwnLAogICAgICAgICAgICBJc1Zpc2libGVGb3JDdXN0b21lciA9PiAxLAogICAgICAgICAgICBTZW5kZXJUeXBlICAgICAgICAgICA9PiAnY3VzdG9tZXInLAogICAgICAgICAgICBGcm9tICAgICAgICAgICAgICAgICA9PiAnU29tZSBDdXN0b21lciA8c29tZUB1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgVG8gICAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgVG8gPHRvQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBTdWJqZWN0ICAgICAgICAgICAgICA9PiAnU29tZSBTdWJqZWN0JywKICAgICAgICAgICAgQm9keSAgICAgICAgICAgICAgICAgPT4gJ3RoZSBtZXNzYWdlIHRleHQnLAogICAgICAgICAgICBNZXNzYWdlSUQgICAgICAgICAgICA9PiAnPGFzZGFzZGFzZC4xMjNAdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIENvbnRlbnRUeXBlICAgICAgICAgID0+ICd0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTE1JywKICAgICAgICAgICAgSGlzdG9yeVR5cGUgICAgICAgICAgPT4gJ093bmVyVXBkYXRlJywKICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgICAgICAgPT4gJ1NvbWUgZnJlZSB0ZXh0IScsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE5vQWdlbnROb3RpZnkgICAgICAgID0+IDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgeW91IGRvbid0IHdhbnQgdG8gc2VuZCBhZ2VudCBub3RpZmljYXRpb25zCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDEsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnU2VuZENvbmRpdGlvbiM1IHRyeSB3aXRoIGNoZWNrIGZvciBzZXJ2aWNlICh2YWx1ZSBmYWxzZSknLAogICAgICAgICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblRpY2tldFR5cGUnICAgICA9PiAwLAogICAgICAgICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblNlcnZpY2UnICAgICAgICA9PiAxLAogICAgICAgICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvbkN1c3RvbWVyRmllbGRzJyA9PiAwLAogICAgICAgIFRpY2tldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB7CiAgICAgICAgICAgIFRpdGxlICAgICAgICA9PiAnU29tZSBUaWNrZXQgVGl0bGUnLAogICAgICAgICAgICBRdWV1ZSAgICAgICAgPT4gJ1JhdycsCiAgICAgICAgICAgIExvY2sgICAgICAgICA9PiAndW5sb2NrJywKICAgICAgICAgICAgUHJpb3JpdHkgICAgID0+ICczIG5vcm1hbCcsCiAgICAgICAgICAgIFN0YXRlICAgICAgICA9PiAnb3BlbicsCiAgICAgICAgICAgIEN1c3RvbWVyTm8gICA9PiAnMTIzNDY1JywKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICdjdXN0b21lckB1bml0dGVzdC5jb20nLAogICAgICAgICAgICBPd25lcklEICAgICAgPT4gMSwKICAgICAgICAgICAgVXNlcklEICAgICAgID0+IDEsCiAgICAgICAgICAgIFNlcnZpY2VJRCAgICA9PiAwLAogICAgICAgIH0sCiAgICAgICAgQXJ0aWNsZSA9PiB7CiAgICAgICAgICAgIENvbW11bmljYXRpb25DaGFubmVsID0+ICdFbWFpbCcsCiAgICAgICAgICAgIElzVmlzaWJsZUZvckN1c3RvbWVyID0+IDEsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgID0+ICdjdXN0b21lcicsCiAgICAgICAgICAgIEZyb20gICAgICAgICAgICAgICAgID0+ICdTb21lIEN1c3RvbWVyIDxzb21lQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBUbyAgICAgICAgICAgICAgICAgICA9PiAnU29tZSBUbyA8dG9AdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIFN1YmplY3QgICAgICAgICAgICAgID0+ICdTb21lIFN1YmplY3QnLAogICAgICAgICAgICBCb2R5ICAgICAgICAgICAgICAgICA9PiAndGhlIG1lc3NhZ2UgdGV4dCcsCiAgICAgICAgICAgIE1lc3NhZ2VJRCAgICAgICAgICAgID0+ICc8YXNkYXNkYXNkLjEyM0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgICAgICAgPT4gJ3RleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMTUnLAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgICAgICAgICA9PiAnT3duZXJVcGRhdGUnLAogICAgICAgICAgICBIaXN0b3J5Q29tbWVudCAgICAgICA9PiAnU29tZSBmcmVlIHRleHQhJywKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTm9BZ2VudE5vdGlmeSAgICAgICAgPT4gMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB5b3UgZG9uJ3Qgd2FudCB0byBzZW5kIGFnZW50IG5vdGlmaWNhdGlvbnMKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdTZW5kQ29uZGl0aW9uIzYgdHJ5IHdpdGggY2hlY2sgZm9yIHRpY2tldCB0eXBlIGFuZCBzZXJ2aWNlJywKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJyAgICAgPT4gMSwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25TZXJ2aWNlJyAgICAgICAgPT4gMSwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcycgPT4gMCwKICAgICAgICBUaWNrZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gewogICAgICAgICAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgICAgICAgICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ29wZW4nLAogICAgICAgICAgICBDdXN0b21lck5vICAgPT4gJzEyMzQ2NScsCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAdW5pdHRlc3QuY29tJywKICAgICAgICAgICAgT3duZXJJRCAgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgICAgICBUeXBlSUQgICAgICAgPT4gJFRpY2tldFR5cGVJRCwKICAgICAgICAgICAgU2VydmljZUlEICAgID0+ICRTZXJ2aWNlSUQsCiAgICAgICAgfSwKICAgICAgICBBcnRpY2xlID0+IHsKICAgICAgICAgICAgQ29tbXVuaWNhdGlvbkNoYW5uZWwgPT4gJ0VtYWlsJywKICAgICAgICAgICAgSXNWaXNpYmxlRm9yQ3VzdG9tZXIgPT4gMSwKICAgICAgICAgICAgU2VuZGVyVHlwZSAgICAgICAgICAgPT4gJ2N1c3RvbWVyJywKICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgQ3VzdG9tZXIgPHNvbWVAdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgID0+ICdTb21lIFRvIDx0b0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgU3ViamVjdCAgICAgICAgICAgICAgPT4gJ1NvbWUgU3ViamVjdCcsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgID0+ICd0aGUgbWVzc2FnZSB0ZXh0JywKICAgICAgICAgICAgTWVzc2FnZUlEICAgICAgICAgICAgPT4gJzxhc2Rhc2Rhc2QuMTIzQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNScsCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgICAgICAgID0+ICdPd25lclVwZGF0ZScsCiAgICAgICAgICAgIEhpc3RvcnlDb21tZW50ICAgICAgID0+ICdTb21lIGZyZWUgdGV4dCEnLAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOb0FnZW50Tm90aWZ5ICAgICAgICA9PiAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGlmIHlvdSBkb24ndCB3YW50IHRvIHNlbmQgYWdlbnQgbm90aWZpY2F0aW9ucwogICAgICAgIH0sCiAgICAgICAgU3VjY2VzcyA9PiAxLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1NlbmRDb25kaXRpb24jNyB0cnkgd2l0aCBjaGVjayBmb3IgdGlja2V0IHR5cGUgaWQgKHZhbHVlIGZhbHNlKSBhbmQgc2VydmljZScsCiAgICAgICAgJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uVGlja2V0VHlwZScgICAgID0+IDEsCiAgICAgICAgJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uU2VydmljZScgICAgICAgID0+IDEsCiAgICAgICAgJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uQ3VzdG9tZXJGaWVsZHMnID0+IDAsCiAgICAgICAgVGlja2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHsKICAgICAgICAgICAgVGl0bGUgICAgICAgID0+ICdTb21lIFRpY2tldCBUaXRsZScsCiAgICAgICAgICAgIFF1ZXVlICAgICAgICA9PiAnUmF3JywKICAgICAgICAgICAgTG9jayAgICAgICAgID0+ICd1bmxvY2snLAogICAgICAgICAgICBQcmlvcml0eSAgICAgPT4gJzMgbm9ybWFsJywKICAgICAgICAgICAgU3RhdGUgICAgICAgID0+ICdvcGVuJywKICAgICAgICAgICAgQ3VzdG9tZXJObyAgID0+ICcxMjM0NjUnLAogICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJ2N1c3RvbWVyQHVuaXR0ZXN0LmNvbScsCiAgICAgICAgICAgIE93bmVySUQgICAgICA9PiAxLAogICAgICAgICAgICBVc2VySUQgICAgICAgPT4gMSwKICAgICAgICAgICAgVHlwZUlEICAgICAgID0+IDAsCiAgICAgICAgICAgIFNlcnZpY2VJRCAgICA9PiAkU2VydmljZUlELAogICAgICAgIH0sCiAgICAgICAgQXJ0aWNsZSA9PiB7CiAgICAgICAgICAgIENvbW11bmljYXRpb25DaGFubmVsID0+ICdFbWFpbCcsCiAgICAgICAgICAgIElzVmlzaWJsZUZvckN1c3RvbWVyID0+IDEsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgID0+ICdjdXN0b21lcicsCiAgICAgICAgICAgIEZyb20gICAgICAgICAgICAgICAgID0+ICdTb21lIEN1c3RvbWVyIDxzb21lQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBUbyAgICAgICAgICAgICAgICAgICA9PiAnU29tZSBUbyA8dG9AdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIFN1YmplY3QgICAgICAgICAgICAgID0+ICdTb21lIFN1YmplY3QnLAogICAgICAgICAgICBCb2R5ICAgICAgICAgICAgICAgICA9PiAndGhlIG1lc3NhZ2UgdGV4dCcsCiAgICAgICAgICAgIE1lc3NhZ2VJRCAgICAgICAgICAgID0+ICc8YXNkYXNkYXNkLjEyM0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgICAgICAgPT4gJ3RleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMTUnLAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgICAgICAgICA9PiAnT3duZXJVcGRhdGUnLAogICAgICAgICAgICBIaXN0b3J5Q29tbWVudCAgICAgICA9PiAnU29tZSBmcmVlIHRleHQhJywKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTm9BZ2VudE5vdGlmeSAgICAgICAgPT4gMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB5b3UgZG9uJ3Qgd2FudCB0byBzZW5kIGFnZW50IG5vdGlmaWNhdGlvbnMKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdTZW5kQ29uZGl0aW9uIzggdHJ5IHdpdGggY2hlY2sgZm9yIHRpY2tldCB0eXBlIGFuZCBzZXJ2aWNlICh2YWx1ZSBmYWxzZSknLAogICAgICAgICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblRpY2tldFR5cGUnICAgICA9PiAxLAogICAgICAgICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblNlcnZpY2UnICAgICAgICA9PiAxLAogICAgICAgICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvbkN1c3RvbWVyRmllbGRzJyA9PiAwLAogICAgICAgIFRpY2tldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB7CiAgICAgICAgICAgIFRpdGxlICAgICAgICA9PiAnU29tZSBUaWNrZXQgVGl0bGUnLAogICAgICAgICAgICBRdWV1ZSAgICAgICAgPT4gJ1JhdycsCiAgICAgICAgICAgIExvY2sgICAgICAgICA9PiAndW5sb2NrJywKICAgICAgICAgICAgUHJpb3JpdHkgICAgID0+ICczIG5vcm1hbCcsCiAgICAgICAgICAgIFN0YXRlICAgICAgICA9PiAnb3BlbicsCiAgICAgICAgICAgIEN1c3RvbWVyTm8gICA9PiAnMTIzNDY1JywKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICdjdXN0b21lckB1bml0dGVzdC5jb20nLAogICAgICAgICAgICBPd25lcklEICAgICAgPT4gMSwKICAgICAgICAgICAgVXNlcklEICAgICAgID0+IDEsCiAgICAgICAgICAgIFR5cGVJRCAgICAgICA9PiAkVGlja2V0VHlwZUlELAogICAgICAgICAgICBTZXJ2aWNlSUQgICAgPT4gMCwKICAgICAgICB9LAogICAgICAgIEFydGljbGUgPT4gewogICAgICAgICAgICBDb21tdW5pY2F0aW9uQ2hhbm5lbCA9PiAnRW1haWwnLAogICAgICAgICAgICBJc1Zpc2libGVGb3JDdXN0b21lciA9PiAxLAogICAgICAgICAgICBTZW5kZXJUeXBlICAgICAgICAgICA9PiAnY3VzdG9tZXInLAogICAgICAgICAgICBGcm9tICAgICAgICAgICAgICAgICA9PiAnU29tZSBDdXN0b21lciA8c29tZUB1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgVG8gICAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgVG8gPHRvQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBTdWJqZWN0ICAgICAgICAgICAgICA9PiAnU29tZSBTdWJqZWN0JywKICAgICAgICAgICAgQm9keSAgICAgICAgICAgICAgICAgPT4gJ3RoZSBtZXNzYWdlIHRleHQnLAogICAgICAgICAgICBNZXNzYWdlSUQgICAgICAgICAgICA9PiAnPGFzZGFzZGFzZC4xMjNAdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIENvbnRlbnRUeXBlICAgICAgICAgID0+ICd0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTE1JywKICAgICAgICAgICAgSGlzdG9yeVR5cGUgICAgICAgICAgPT4gJ093bmVyVXBkYXRlJywKICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgICAgICAgPT4gJ1NvbWUgZnJlZSB0ZXh0IScsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE5vQWdlbnROb3RpZnkgICAgICAgID0+IDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgeW91IGRvbid0IHdhbnQgdG8gc2VuZCBhZ2VudCBub3RpZmljYXRpb25zCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgPT4KICAgICAgICAgICAgJ1NlbmRDb25kaXRpb24jOSB0cnkgd2l0aCBjaGVjayBmb3IgdGlja2V0IHR5cGUgKHZhbHVlIGZhbHNlKSBhbmQgc2VydmljZSAodmFsdWUgZmFsc2UpJywKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJyAgICAgPT4gMSwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25TZXJ2aWNlJyAgICAgICAgPT4gMSwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcycgPT4gMCwKICAgICAgICBUaWNrZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gewogICAgICAgICAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgICAgICAgICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ29wZW4nLAogICAgICAgICAgICBDdXN0b21lck5vICAgPT4gJzEyMzQ2NScsCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAdW5pdHRlc3QuY29tJywKICAgICAgICAgICAgT3duZXJJRCAgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgICAgICBUeXBlSUQgICAgICAgPT4gMCwKICAgICAgICAgICAgU2VydmljZUlEICAgID0+IDAsCiAgICAgICAgfSwKICAgICAgICBBcnRpY2xlID0+IHsKICAgICAgICAgICAgQ29tbXVuaWNhdGlvbkNoYW5uZWwgPT4gJ0VtYWlsJywKICAgICAgICAgICAgSXNWaXNpYmxlRm9yQ3VzdG9tZXIgPT4gMSwKICAgICAgICAgICAgU2VuZGVyVHlwZSAgICAgICAgICAgPT4gJ2N1c3RvbWVyJywKICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgQ3VzdG9tZXIgPHNvbWVAdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgID0+ICdTb21lIFRvIDx0b0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgU3ViamVjdCAgICAgICAgICAgICAgPT4gJ1NvbWUgU3ViamVjdCcsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgID0+ICd0aGUgbWVzc2FnZSB0ZXh0JywKICAgICAgICAgICAgTWVzc2FnZUlEICAgICAgICAgICAgPT4gJzxhc2Rhc2Rhc2QuMTIzQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNScsCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgICAgICAgID0+ICdPd25lclVwZGF0ZScsCiAgICAgICAgICAgIEhpc3RvcnlDb21tZW50ICAgICAgID0+ICdTb21lIGZyZWUgdGV4dCEnLAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOb0FnZW50Tm90aWZ5ICAgICAgICA9PiAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGlmIHlvdSBkb24ndCB3YW50IHRvIHNlbmQgYWdlbnQgbm90aWZpY2F0aW9ucwogICAgICAgIH0sCiAgICAgICAgU3VjY2VzcyA9PiAwLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lID0+CiAgICAgICAgICAgICdTZW5kQ29uZGl0aW9uIzEwIHRyeSB3aXRoIGNoZWNrIGZvciBmaXJzdG5hbWUgb2YgY3VzdG9tZXJ1c2VyIC0gbWF0Y2gnLAogICAgICAgICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblRpY2tldFR5cGUnICAgICA9PiAwLAogICAgICAgICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblNlcnZpY2UnICAgICAgICA9PiAwLAogICAgICAgICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvbkN1c3RvbWVyRmllbGRzJyA9PiB7CiAgICAgICAgICAgIFVzZXJGaXJzdG5hbWUgPT4gMSwKICAgICAgICB9LAogICAgICAgIFRpY2tldCA9PiB7CiAgICAgICAgICAgIFRpdGxlICAgICAgICA9PiAnU29tZSBUaWNrZXQgVGl0bGUnLAogICAgICAgICAgICBRdWV1ZSAgICAgICAgPT4gJ1JhdycsCiAgICAgICAgICAgIExvY2sgICAgICAgICA9PiAndW5sb2NrJywKICAgICAgICAgICAgUHJpb3JpdHkgICAgID0+ICczIG5vcm1hbCcsCiAgICAgICAgICAgIFN0YXRlICAgICAgICA9PiAnb3BlbicsCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAkVGVzdEN1c3RvbWVyVXNlcjEsCiAgICAgICAgICAgIE93bmVySUQgICAgICA9PiAxLAogICAgICAgICAgICBVc2VySUQgICAgICAgPT4gMSwKICAgICAgICAgICAgVHlwZUlEICAgICAgID0+IDAsCiAgICAgICAgICAgIFNlcnZpY2VJRCAgICA9PiAwLAogICAgICAgIH0sCiAgICAgICAgQXJ0aWNsZSA9PiB7CiAgICAgICAgICAgIEFydGljbGVUeXBlICAgID0+ICdlbWFpbC1leHRlcm5hbCcsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgID0+ICdjdXN0b21lcicsCiAgICAgICAgICAgIEZyb20gICAgICAgICAgID0+ICdTb21lIEN1c3RvbWVyIDxzb21lQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBUbyAgICAgICAgICAgICA9PiAnU29tZSBUbyA8dG9AdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIFN1YmplY3QgICAgICAgID0+ICdTb21lIFN1YmplY3QnLAogICAgICAgICAgICBCb2R5ICAgICAgICAgICA9PiAndGhlIG1lc3NhZ2UgdGV4dCcsCiAgICAgICAgICAgIE1lc3NhZ2VJRCAgICAgID0+ICc8YXNkYXNkYXNkLjEyM0B1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgPT4gJ3RleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMTUnLAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgICA9PiAnT3duZXJVcGRhdGUnLAogICAgICAgICAgICBIaXN0b3J5Q29tbWVudCA9PiAnU29tZSBmcmVlIHRleHQhJywKICAgICAgICAgICAgVXNlcklEICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTm9BZ2VudE5vdGlmeSAgPT4gMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB5b3UgZG9uJ3Qgd2FudCB0byBzZW5kIGFnZW50IG5vdGlmaWNhdGlvbnMKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMSwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSA9PgogICAgICAgICAgICAnU2VuZENvbmRpdGlvbiMxMSB0cnkgd2l0aCBjaGVjayBmb3IgZmlyc3RuYW1lIG9mIGN1c3RvbWVydXNlciAtIG5vIG1hdGNoJywKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJyAgICAgPT4gMCwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25TZXJ2aWNlJyAgICAgICAgPT4gMCwKICAgICAgICAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcycgPT4gewogICAgICAgICAgICBVc2VyRmlyc3RuYW1lID0+IDEsCiAgICAgICAgfSwKICAgICAgICBUaWNrZXQgPT4gewogICAgICAgICAgICBUaXRsZSAgICAgICAgPT4gJ1NvbWUgVGlja2V0IFRpdGxlJywKICAgICAgICAgICAgUXVldWUgICAgICAgID0+ICdSYXcnLAogICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICA9PiAnMyBub3JtYWwnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ29wZW4nLAogICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJFRlc3RDdXN0b21lclVzZXIyLAogICAgICAgICAgICBPd25lcklEICAgICAgPT4gMSwKICAgICAgICAgICAgVXNlcklEICAgICAgID0+IDEsCiAgICAgICAgICAgIFR5cGVJRCAgICAgICA9PiAwLAogICAgICAgICAgICBTZXJ2aWNlSUQgICAgPT4gMCwKICAgICAgICB9LAogICAgICAgIEFydGljbGUgPT4gewogICAgICAgICAgICBBcnRpY2xlVHlwZSAgICA9PiAnZW1haWwtZXh0ZXJuYWwnLAogICAgICAgICAgICBTZW5kZXJUeXBlICAgICA9PiAnY3VzdG9tZXInLAogICAgICAgICAgICBGcm9tICAgICAgICAgICA9PiAnU29tZSBDdXN0b21lciA8c29tZUB1bml0dGVzdC5jb20+JywKICAgICAgICAgICAgVG8gICAgICAgICAgICAgPT4gJ1NvbWUgVG8gPHRvQHVuaXR0ZXN0LmNvbT4nLAogICAgICAgICAgICBTdWJqZWN0ICAgICAgICA9PiAnU29tZSBTdWJqZWN0JywKICAgICAgICAgICAgQm9keSAgICAgICAgICAgPT4gJ3RoZSBtZXNzYWdlIHRleHQnLAogICAgICAgICAgICBNZXNzYWdlSUQgICAgICA9PiAnPGFzZGFzZGFzZC4xMjNAdW5pdHRlc3QuY29tPicsCiAgICAgICAgICAgIENvbnRlbnRUeXBlICAgID0+ICd0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTE1JywKICAgICAgICAgICAgSGlzdG9yeVR5cGUgICAgPT4gJ093bmVyVXBkYXRlJywKICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgPT4gJ1NvbWUgZnJlZSB0ZXh0IScsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE5vQWdlbnROb3RpZnkgID0+IDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgeW91IGRvbid0IHdhbnQgdG8gc2VuZCBhZ2VudCBub3RpZmljYXRpb25zCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAopOwoKZm9yIG15ICRUZXN0IChAU2VuZENvbmRpdGlvblRlc3RzKSB7CgogICAgJENvbmZpZ09iamVjdC0+U2V0KAogICAgICAgIEtleSAgID0+ICdTdXJ2ZXk6OlNlbmRQZXJpb2QnLAogICAgICAgIFZhbHVlID0+ICcwJywKICAgICk7CgogICAgJENvbmZpZ09iamVjdC0+U2V0KAogICAgICAgIEtleSAgID0+ICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvblRpY2tldFR5cGUnLAogICAgICAgIFZhbHVlID0+ICRUZXN0LT57J1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uVGlja2V0VHlwZSd9LAogICAgKTsKCiAgICAkQ29uZmlnT2JqZWN0LT5TZXQoCiAgICAgICAgS2V5ICAgPT4gJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uU2VydmljZScsCiAgICAgICAgVmFsdWUgPT4gJFRlc3QtPnsnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25TZXJ2aWNlJ30sCiAgICApOwoKICAgICRDb25maWdPYmplY3QtPlNldCgKICAgICAgICBLZXkgICA9PiAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcycsCiAgICAgICAgVmFsdWUgPT4gJFRlc3QtPnsnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25DdXN0b21lckZpZWxkcyd9LAogICAgKTsKCiAgICBteSAkVGlja2V0SUQgPSAkVGlja2V0T2JqZWN0LT5UaWNrZXRDcmVhdGUoCiAgICAgICAgJXsgJFRlc3QtPntUaWNrZXR9IH0sCiAgICApOwoKICAgIG15ICRBcnRpY2xlQmFja2VuZE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6OkFydGljbGUnKS0+QmFja2VuZEZvckNoYW5uZWwoCiAgICAgICAgQ2hhbm5lbE5hbWUgPT4gJFRlc3QtPntBcnRpY2xlfS0+e0NvbW11bmljYXRpb25DaGFubmVsfSwKICAgICk7CgogICAgbXkgJEFydGljbGVJRCA9ICRBcnRpY2xlQmFja2VuZE9iamVjdC0+QXJ0aWNsZUNyZWF0ZSgKICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgJXsgJFRlc3QtPntBcnRpY2xlfSB9LAogICAgKTsKCiAgICAjIHNlbmQgc3VydmV5IGZpcnN0IHRpbWUKICAgIG15ICRSZXNwb25zZSA9ICRTdXJ2ZXlPYmplY3QtPlJlcXVlc3RTZW5kKAogICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICk7CgogICAgIyBjaGVjayBpZiBzdXJ2ZXkgZ290IHNlbnQKICAgIGlmICggJFRlc3QtPntTdWNjZXNzfSApIHsKCiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRSZXNwb25zZS0+e1N1Y2Nlc3N9LAogICAgICAgICAgICAiJFRlc3QtPntOYW1lfSBSZXF1ZXN0U2VuZCgpIC0gc3VydmV5IGdvdCBzZW50IiwKICAgICAgICApOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgaWYgKCAkUmVzcG9uc2UgZXEgJ1F1ZXVlJyB8fCAkUmVzcG9uc2UgZXEgJ1NlcnZpY2UnIHx8ICRSZXNwb25zZSBlcSAnVHlwZScgKSB7CiAgICAgICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAgICAgJFJlc3BvbnNlLAogICAgICAgICAgICAgICAgIiRUZXN0LT57TmFtZX0gUmVxdWVzdFNlbmQoKSAtIG5vIHN1cnZleSBnb3Qgc2VudCIsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkU2VsZi0+RmFsc2UoCiAgICAgICAgICAgICAgICAkUmVzcG9uc2UsCiAgICAgICAgICAgICAgICAiJFRlc3QtPntOYW1lfSBSZXF1ZXN0U2VuZCgpIC0gbm8gc3VydmV5IGdvdCBzZW50IiwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgbXkgJERlbGV0ZSA9ICRUaWNrZXRPYmplY3QtPlRpY2tldERlbGV0ZSgKICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgVXNlcklEICAgPT4gMSwKICAgICk7Cn0KCiMgdGVzdCBHZXRSaWNoVGV4dERvY3VtZW50Q29tcGxldGUKewogICAgbXkgJVRleHQ7CgogICAgI3Rlc3RzIGZvciByaWNoIHRleHQKICAgICRUZXh0e1JpY2hUZXh0fSA9IHsKICAgICAgICBJbnB1dCA9PgogICAgICAgICAgICAnJGh0bWwvdGV4dCQgPGVtPlRoaXMgaXMgdGhlIGludHJvZHVjdGlvbiB0byB0aGlzIHN1cnZleSwgaWYgeW91IHdhbnQgdG8gYW5zd2VyIGl0IHlvdSBoYXZlIHRvPGJyIC8+CnJlYWQgdGhpcyBmaXJzdCwgcGxlYXNlIGxldCB1cyB0ZWxsIHlvdSB0aGFua3MgZm9yIHRoZSBvcHBvcnR1bml0eSB0byBpbnRlcmFjdDxiciAvPgp3aXRoIHlvdS48L2VtPjxiciAvPgo8dWw+CiAgICA8bGk+CiAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMTI4KTsiPlBsZWFzZSByZWFkIGFsbCB0aGUgaW5zdHJ1Y3Rpb25zPC9zcGFuPjwvbGk+CiAgICA8bGk+CiAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMTI4KTsiPlBsZWFzZSB0YWtlIGF0dGVudGlvbiBpbiBldmVyeSBxdWVzdGlvbjwvc3Bhbj48L2xpPgogICAgPGxpPgogICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDEyOCk7Ij5BbnN3ZXIgYXMgY2xlYXIgYXMgcG9zc2libGU8L3NwYW4+PC9saT4KPC91bD4KPHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMjU1LCAxNjAsIDEyMik7Ij5UaGlzIGlzIGFsbCB3ZSBoYXZlIHRvIHRlbGwgeW91IGZvciBub3csIHBsZWFzZSB0YWtlIHRoZSBvcHBvcnR1bml0eSBub3cgdG88YnIgLz4KZXhwcmVzcyB5b3VyIGZlZWxpbmdzIGluIG91ciBzdXJ2ZXkuPC9zcGFuPjxiciAvPgo8YnIgLz4KPHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMjU1LCAxNjAsIDEyMik7Ij4gZ3JlZXRpbmdzLDxiciAvPgo8YnIgLz4KZGFuaWVseiw8L3NwYW4+PGJyIC8+JywKICAgICAgICBPdXRwdXQgPT4KICAgICAgICAgICAgJzwhRE9DVFlQRSBodG1sPjxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ii8+PC9oZWFkPjxib2R5IHN0eWxlPSJmb250LWZhbWlseTpHZW5ldmEsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJweDsiPjxlbT5UaGlzIGlzIHRoZSBpbnRyb2R1Y3Rpb24gdG8gdGhpcyBzdXJ2ZXksIGlmIHlvdSB3YW50IHRvIGFuc3dlciBpdCB5b3UgaGF2ZSB0bzxiciAvPgpyZWFkIHRoaXMgZmlyc3QsIHBsZWFzZSBsZXQgdXMgdGVsbCB5b3UgdGhhbmtzIGZvciB0aGUgb3Bwb3J0dW5pdHkgdG8gaW50ZXJhY3Q8YnIgLz4Kd2l0aCB5b3UuPC9lbT48YnIgLz4KPHVsPgogICAgPGxpPgogICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDEyOCk7Ij5QbGVhc2UgcmVhZCBhbGwgdGhlIGluc3RydWN0aW9uczwvc3Bhbj48L2xpPgogICAgPGxpPgogICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDEyOCk7Ij5QbGVhc2UgdGFrZSBhdHRlbnRpb24gaW4gZXZlcnkgcXVlc3Rpb248L3NwYW4+PC9saT4KICAgIDxsaT4KICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAxMjgpOyI+QW5zd2VyIGFzIGNsZWFyIGFzIHBvc3NpYmxlPC9zcGFuPjwvbGk+CjwvdWw+CjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDI1NSwgMTYwLCAxMjIpOyI+VGhpcyBpcyBhbGwgd2UgaGF2ZSB0byB0ZWxsIHlvdSBmb3Igbm93LCBwbGVhc2UgdGFrZSB0aGUgb3Bwb3J0dW5pdHkgbm93IHRvPGJyIC8+CmV4cHJlc3MgeW91ciBmZWVsaW5ncyBpbiBvdXIgc3VydmV5Ljwvc3Bhbj48YnIgLz4KPGJyIC8+CjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDI1NSwgMTYwLCAxMjIpOyI+IGdyZWV0aW5ncyw8YnIgLz4KPGJyIC8+CmRhbmllbHosPC9zcGFuPjxiciAvPjwvYm9keT48L2h0bWw+JywKICAgIH07CgogICAgIyBjcmVhdGUgdGVzdHMgZm9yIHNpbXBsZSB0ZXh0CiAgICAkVGV4dHtTaW1wbGVUZXh0fSA9IHsKICAgICAgICBJbnB1dCA9PiAiVGhpcyBpcyBhbiBpbnRlcm5hbCBkZXNjcmlwdGlvbiBleGFtcGxlOgoKIC0gT25lCiAtIFR3bwogLSBUaHJlZQogLSBGb3VyCiAtIEZpdmUKClRoYXQncyBpdC4KLWR6CiIsCiAgICAgICAgT3V0cHV0ID0+CiAgICAgICAgICAgICc8IURPQ1RZUEUgaHRtbD48aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIvPjwvaGVhZD48Ym9keSBzdHlsZT0iZm9udC1mYW1pbHk6R2VuZXZhLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHg7Ij5UaGlzIGlzIGFuIGludGVybmFsIGRlc2NyaXB0aW9uIGV4YW1wbGU6CgogLSBPbmUKIC0gVHdvCiAtIFRocmVlCiAtIEZvdXIKIC0gRml2ZQoKVGhhdFwncyBpdC4KLWR6CjwvYm9keT48L2h0bWw+JywKICAgIH07CgogICAgbXkgJERvY3VtZW50Q29tcGxldGU7CiAgICBmb3IgbXkgJFRleHRUeXBlICggc29ydCBrZXlzICVUZXh0ICkgewogICAgICAgICREb2N1bWVudENvbXBsZXRlID0gJFN1cnZleU9iamVjdC0+R2V0UmljaFRleHREb2N1bWVudENvbXBsZXRlKCBUZXh0ID0+ICRUZXh0eyRUZXh0VHlwZX0tPntJbnB1dH0gKTsKICAgICAgICAkU2VsZi0+SXMoCiAgICAgICAgICAgICRUZXh0eyRUZXh0VHlwZX0tPntPdXRwdXR9LAogICAgICAgICAgICAkRG9jdW1lbnRDb21wbGV0ZSwKICAgICAgICAgICAgIkdldFJpY2hUZXh0RG9jdW1lbnRDb21wbGV0ZSBUZXN0IC0gJFRleHRUeXBlIiwKICAgICAgICApOwogICAgfQp9CgojIGFkZGVkICh2ZXJ5IGxpbWl0ZWQpIFN1cnZleVNlYXJjaCB0ZXN0cwoKbXkgQElEcyA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleVNlYXJjaCgKICAgIE5vdGlmaWNhdGlvblNlbmRlciA9PiAncXVhbGl0eUB1bml0dGVzdC5jb20nLAogICAgTGltaXQgICAgICAgICAgICAgID0+IDE1MCwgICAgICAgICAgICAgICAgICAgICAgIyAob3B0aW9uYWwpCiAgICBVc2VySUQgICAgICAgICAgICAgPT4gMSwKKTsKCiRTZWxmLT5UcnVlKAogICAgc2NhbGFyIEBJRHMsCiAgICAiU3VydmV5U2VhcmNoKCkiLAopOwoKbXkgQFNvcnRlZElEcyA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleVNlYXJjaCgKICAgIE5vdGlmaWNhdGlvblNlbmRlciA9PiAncXVhbGl0eUB1bml0dGVzdC5jb20nLAogICAgT3JkZXJCeSAgICAgICAgICAgID0+IFsgJ1N1cnZleUlEJywgJ1RpdGxlJyBdLCAgICAjIChvcHRpb25hbCkKICAgIE9yZGVyQnlEaXJlY3Rpb24gICA9PiBbICdEb3duJywgICAgICdVcCcgXSwgICAgICAgIyAob3B0aW9uYWwpCiAgICBMaW1pdCAgICAgICAgICAgICAgPT4gMTUwLCAgICAgICAgICAgICAgICAgICAgICAgICMgKG9wdGlvbmFsKQogICAgVXNlcklEICAgICAgICAgICAgID0+IDEsCik7CgokU2VsZi0+VHJ1ZSgKICAgIHNjYWxhciBASURzLAogICAgIlN1cnZleVNlYXJjaCgpIHdpdGggc29ydCIsCik7CgojIGNsZWFudXAgaXMgZG9uZSBieSBSZXN0b3JlRGF0YWJhc2UKCjE7Cg==</File>
        <File Location="scripts/test/Selenium/Agent/AgentSurveyAdd.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKbXkgJFNlbGVuaXVtID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpTZWxlbml1bScpOwoKJFNlbGVuaXVtLT5SdW5UZXN0KAogICAgc3ViIHsKCiAgICAgICAgbXkgJEhlbHBlciA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CgogICAgICAgICMgRG8gbm90IGNoZWNrIFJpY2hUZXh0LgogICAgICAgICRIZWxwZXItPkNvbmZpZ1NldHRpbmdDaGFuZ2UoCiAgICAgICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgICAgIEtleSAgID0+ICdGcm9udGVuZDo6UmljaFRleHQnLAogICAgICAgICAgICBWYWx1ZSA9PiAwLAogICAgICAgICk7CgogICAgICAgICRIZWxwZXItPkNvbmZpZ1NldHRpbmdDaGFuZ2UoCiAgICAgICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgICAgIEtleSAgID0+ICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvbkN1c3RvbWVyRmllbGRzJywKICAgICAgICAgICAgVmFsdWUgPT4gewogICAgICAgICAgICAgICAgVXNlckxvZ2luID0+IDEsCiAgICAgICAgICAgICAgICBVc2VyUGhvbmUgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIENyZWF0ZSB0ZXN0IHVzZXIgYW5kIGxvZ2luLgogICAgICAgIG15ICRUZXN0VXNlckxvZ2luID0gJEhlbHBlci0+VGVzdFVzZXJDcmVhdGUoCiAgICAgICAgICAgIEdyb3VwcyA9PiBbICdhZG1pbicsICd1c2VycycgXSwKICAgICAgICApIHx8IGRpZSAiRGlkIG5vdCBnZXQgdGVzdCB1c2VyIjsKCiAgICAgICAgJFNlbGVuaXVtLT5Mb2dpbigKICAgICAgICAgICAgVHlwZSAgICAgPT4gJ0FnZW50JywKICAgICAgICAgICAgVXNlciAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICk7CgogICAgICAgIG15ICRTY3JpcHRBbGlhcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2NyaXB0QWxpYXMnKTsKCiAgICAgICAgIyBOYXZpZ2F0ZSB0byBBZ2VudFN1cnZleUFkZC4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkR2V0KCIke1NjcmlwdEFsaWFzfWluZGV4LnBsP0FjdGlvbj1BZ2VudFN1cnZleUFkZCIpOwoKICAgICAgICAjIENoZWNrIHBhZ2UuCiAgICAgICAgZm9yIG15ICRJRCAoCiAgICAgICAgICAgIHF3KFRpdGxlIEludHJvZHVjdGlvbiBOb3RpZmljYXRpb25TZW5kZXIgTm90aWZpY2F0aW9uU3ViamVjdCBOb3RpZmljYXRpb25Cb2R5IFF1ZXVlcyBEZXNjcmlwdGlvbikKICAgICAgICAgICAgKQogICAgICAgIHsKICAgICAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKCBKYXZhU2NyaXB0ID0+ICJyZXR1cm4gdHlwZW9mKFwkKSA9PT0gJ2Z1bmN0aW9uJyAmJiBcJCgnIyRJRCcpLmxlbmd0aDsiICk7CiAgICAgICAgICAgIG15ICRFbGVtZW50ID0gJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJElEIiwgJ2NzcycgKTsKICAgICAgICAgICAgJEVsZW1lbnQtPmlzX2VuYWJsZWQoKTsKICAgICAgICAgICAgJEVsZW1lbnQtPmlzX2Rpc3BsYXllZCgpOwogICAgICAgIH0KCiAgICAgICAgIyBDcmVhdGUgdGVzdCBzdXJ2ZXkuCiAgICAgICAgbXkgJFN1cnZleVRpdGxlID0gJ1N1cnZleSAnIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNUaXRsZSIsICAgICAgICAnY3NzJyApLT5zZW5kX2tleXMoJFN1cnZleVRpdGxlKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNJbnRyb2R1Y3Rpb24iLCAnY3NzJyApLT5zZW5kX2tleXMoJ1NlbGVuaXVtIEludHJvZHVjdGlvbicpOwogICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoIlwkKCcjUXVldWVfU2VhcmNoJykudmFsKCcyfHxSYXcnKS50cmlnZ2VyKCdyZWRyYXcuSW5wdXRGaWVsZCcpLnRyaWdnZXIoJ2NoYW5nZScpOyIpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI0Rlc2NyaXB0aW9uIiwgJ2NzcycgKS0+c2VuZF9rZXlzKCdTZWxlbml1bSBEZXNjcmlwdGlvbicpOwoKICAgICAgICAjIFNjcm9sbCBkb3duLgogICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoCiAgICAgICAgICAgICJcJCgnI0N1c3RvbWVyVXNlckNvbmRpdGlvbnMnKVswXS5zY3JvbGxJbnRvVmlldyh0cnVlKTsiLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoInJldHVybiBcJCgnI0N1c3RvbWVyVXNlckNvbmRpdGlvbnMnKS5sZW5ndGg7IiksCiAgICAgICAgICAgICJFbGVtZW50ICdDdXN0b21lclVzZXJDb25kaXRpb25zJyBpcyBmb3VuZCIKICAgICAgICApOwoKICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCJcJCgnI0N1c3RvbWVyVXNlckNvbmRpdGlvbnMnKS52YWwoJ1VzZXJMb2dpbicpLmNoYW5nZSgpOyIpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI0Rlc2NyaXB0aW9uIiwgJ2NzcycgKS0+c2VuZF9rZXlzKCdjdXN0b21lcicpOwoKICAgICAgICAjIFNjcm9sbCBkb3duLgogICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoCiAgICAgICAgICAgICJcJCgnYnV0dG9uW3ZhbHVlPUNyZWF0ZV1bdHlwZT1zdWJtaXRdJylbMF0uc2Nyb2xsSW50b1ZpZXcodHJ1ZSk7IiwKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCJyZXR1cm4gXCQoJ2J1dHRvblt2YWx1ZT1DcmVhdGVdW3R5cGU9c3VibWl0XScpLmxlbmd0aDsiKSwKICAgICAgICAgICAgIlN1Ym1pdCBidXR0b24gaXMgZm91bmQiCiAgICAgICAgKTsKCiAgICAgICAgIyBVc2VyTG9naW4uCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoIi8vYnV0dG9uW1xAdmFsdWU9J0NyZWF0ZSddW1xAdHlwZT0nc3VibWl0J10iKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIENoZWNrIGZvciB0ZXN0IGNyZWF0ZWQgc3VydmV5IHZhbHVlcy4KICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgaW5kZXgoICRTZWxlbml1bS0+Z2V0X3BhZ2Vfc291cmNlKCksICRTdXJ2ZXlUaXRsZSApID4gLTEsCiAgICAgICAgICAgICIkU3VydmV5VGl0bGUgdGl0bGUgaXMgZm91bmQiCiAgICAgICAgKTsKCiAgICAgICAgIyBEZWxldGUgdGVzdCBjcmVhdGVkIHN1cnZleS4KICAgICAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAgICAgbXkgJFN1cnZleVRpdGxlUXVvdGVkID0gJERCT2JqZWN0LT5RdW90ZSgkU3VydmV5VGl0bGUpOwogICAgICAgICREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICAgICAgU1FMICA9PiAiU0VMRUNUIGlkIEZST00gc3VydmV5IFdIRVJFIHRpdGxlID0gPyIsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFN1cnZleVRpdGxlUXVvdGVkIF0KICAgICAgICApOwogICAgICAgIG15ICRTdXJ2ZXlJRDsKICAgICAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAgICAgJFN1cnZleUlEID0gJFJvd1swXTsKICAgICAgICB9CgogICAgICAgIG15ICVTdXJ2ZXkgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3VydmV5JyktPlN1cnZleUdldCgKICAgICAgICAgICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAogICAgICAgICk7CgogICAgICAgICMgRGVsZXRlIGtleXMgdGhhdCB3ZSBkb24ndCB3YW50IHRvIGNvbXBhcmUuIE5vdGUgdGhhdCBDdXN0b21lclVzZXJDb25kaXRpb25zSlNPTiBoYXMgc29tZXRpbWVzIGRpZmZlcmVudCBvcmRlciBhbmQgdGhlcmVmb3JlCiAgICAgICAgIyBpdCdzIG5vdCBldmFsdWF0ZWQuIEFsc28sIE5vdGlmaWNhdGlvbkJvZHkgY29udGFpbnMgT1RPQk8gbGluaywgd2hpY2ggaXMgZGlmZmVyZW50IGZvciBlYWNoIHN5c3RlbSBhbmQgaXQncyBub3Qgc28gcmVsZXZhbnQgZm9yIHRoZSB0ZXN0LgogICAgICAgIGZvciBteSAkS2V5ICgKICAgICAgICAgICAgcXcoQ3JlYXRlVGltZSBDcmVhdGVCeSBDaGFuZ2VUaW1lIENoYW5nZUJ5IFN1cnZleU51bWJlciBDdXN0b21lclVzZXJDb25kaXRpb25zSlNPTiBOb3RpZmljYXRpb25Cb2R5KQogICAgICAgICAgICApCiAgICAgICAgewoKICAgICAgICAgICAgbXkgJFZhbHVlID0gZGVsZXRlICRTdXJ2ZXl7JEtleX07CiAgICAgICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAgICAgJFZhbHVlLAogICAgICAgICAgICAgICAgIk1ha2Ugc3VyZSB0aGF0IHRoZXJlIHdhcyAnJEtleScgZGVmaW5lZCBpbiBTdXJ2ZXkgaGFzaC4iLAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgbXkgJUV4cGVjdGVkVmFsdWUgPSAoCiAgICAgICAgICAgICJDaGFuZ2VVc2VyRmlyc3RuYW1lIiAgICA9PiAkVGVzdFVzZXJMb2dpbiwKICAgICAgICAgICAgIkNoYW5nZVVzZXJGdWxsbmFtZSIgICAgID0+ICIkVGVzdFVzZXJMb2dpbiAkVGVzdFVzZXJMb2dpbiIsCiAgICAgICAgICAgICJDaGFuZ2VVc2VyTGFzdG5hbWUiICAgICA9PiAkVGVzdFVzZXJMb2dpbiwKICAgICAgICAgICAgIkNoYW5nZVVzZXJMb2dpbiIgICAgICAgID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICAgICAiQ3JlYXRlVXNlckZpcnN0bmFtZSIgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgICJDcmVhdGVVc2VyRnVsbG5hbWUiICAgICA9PiAiJFRlc3RVc2VyTG9naW4gJFRlc3RVc2VyTG9naW4iLAogICAgICAgICAgICAiQ3JlYXRlVXNlckxhc3RuYW1lIiAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgICJDcmVhdGVVc2VyTG9naW4iICAgICAgICA9PiAkVGVzdFVzZXJMb2dpbiwKICAgICAgICAgICAgIkN1c3RvbWVyVXNlckNvbmRpdGlvbnMiID0+IHsKICAgICAgICAgICAgICAgICJVc2VyTG9naW4iID0+IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJOZWdhdGlvbiIgICAgPT4gMCwKICAgICAgICAgICAgICAgICAgICAgICAgIlJlZ0V4cFZhbHVlIiA9PiAiIiwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIkRlc2NyaXB0aW9uIiAgICAgICAgID0+ICJTZWxlbml1bSBEZXNjcmlwdGlvbmN1c3RvbWVyIiwKICAgICAgICAgICAgIkludHJvZHVjdGlvbiIgICAgICAgID0+ICJTZWxlbml1bSBJbnRyb2R1Y3Rpb24iLAogICAgICAgICAgICAiTm90aWZpY2F0aW9uU2VuZGVyIiAgPT4gInF1YWxpdHlcQGV4YW1wbGUuY29tIiwKICAgICAgICAgICAgIk5vdGlmaWNhdGlvblN1YmplY3QiID0+ICJIZWxwIHVzIHdpdGggeW91ciBmZWVkYmFjayEiLAogICAgICAgICAgICAiUXVldWVzIiAgICAgICAgICAgICAgPT4gW10sCiAgICAgICAgICAgICJTZW5kQ29uZGl0aW9uc1JhdyIgICA9PiAiLS0tXG5DdXN0b21lclVzZXJDb25kaXRpb25zOlxuICBVc2VyTG9naW46XG4gIC0gTmVnYXRpb246IDBcbiAgICBSZWdFeHBWYWx1ZTogJydcbiIsCiAgICAgICAgICAgICJTdGF0dXMiICAgICAgICAgICAgICA9PiAiTmV3IiwKICAgICAgICAgICAgIlN1cnZleUlEIiAgICAgICAgICAgID0+ICRTdXJ2ZXlJRCwKICAgICAgICAgICAgIlRpdGxlIiAgICAgICAgICAgICAgID0+ICRTdXJ2ZXlUaXRsZSwKICAgICAgICApOwoKICAgICAgICAkU2VsZi0+SXNEZWVwbHkoCiAgICAgICAgICAgIFwlU3VydmV5LAogICAgICAgICAgICBcJUV4cGVjdGVkVmFsdWUsCiAgICAgICAgICAgICdDaGVjayBTdXJ2ZXkgaGFzaCBkZWVwbHkuJywKICAgICAgICApOwoKICAgICAgICAjIENsZWFuLXVwIHRlc3QgY3JlYXRlZCBzdXJ2ZXkgZGF0YS4KICAgICAgICBteSAkU3VjY2VzcyA9ICREQk9iamVjdC0+RG8oCiAgICAgICAgICAgIFNRTCAgPT4gIkRFTEVURSBGUk9NIHN1cnZleV9xdWV1ZSBXSEVSRSBzdXJ2ZXlfaWQgPSA/IiwKICAgICAgICAgICAgQmluZCA9PiBbIFwkU3VydmV5SUQgXSwKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU3VjY2VzcywKICAgICAgICAgICAgIlN1cnZleS1RdWV1ZSBmb3IgJFN1cnZleVRpdGxlIGlzIGRlbGV0ZWQiLAogICAgICAgICk7CgogICAgICAgICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gc3VydmV5IFdIRVJFIGlkID0gPyIsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFN1cnZleUlEIF0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICIkU3VydmV5VGl0bGUgaXMgZGVsZXRlZCIsCiAgICAgICAgKTsKICAgIH0KKTsKCjE7Cg==</File>
        <File Location="scripts/test/Selenium/Agent/AgentSurveyEdit.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKbXkgJFNlbGVuaXVtID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpTZWxlbml1bScpOwoKJFNlbGVuaXVtLT5SdW5UZXN0KAogICAgc3ViIHsKCiAgICAgICAgbXkgJEhlbHBlciA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CgogICAgICAgICMgRG8gbm90IGNoZWNrIFJpY2hUZXh0LgogICAgICAgICRIZWxwZXItPkNvbmZpZ1NldHRpbmdDaGFuZ2UoCiAgICAgICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgICAgIEtleSAgID0+ICdGcm9udGVuZDo6UmljaFRleHQnLAogICAgICAgICAgICBWYWx1ZSA9PiAwLAogICAgICAgICk7CgogICAgICAgICRIZWxwZXItPkNvbmZpZ1NldHRpbmdDaGFuZ2UoCiAgICAgICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgICAgIEtleSAgID0+ICdTdXJ2ZXk6OkNoZWNrU2VuZENvbmRpdGlvbkN1c3RvbWVyRmllbGRzJywKICAgICAgICAgICAgVmFsdWUgPT4gewogICAgICAgICAgICAgICAgVXNlckxvZ2luID0+IDEsCiAgICAgICAgICAgICAgICBVc2VyUGhvbmUgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIENyZWF0ZSB0ZXN0IHN1cnZleS4KICAgICAgICBteSAkU3VydmV5VGl0bGUgICAgICAgICA9ICdTdXJ2ZXkgJyAuICRIZWxwZXItPkdldFJhbmRvbUlEKCk7CiAgICAgICAgbXkgJEludHJvZHVjdGlvbiAgICAgICAgPSAnU3VydmV5IEludHJvZHVjdGlvbic7CiAgICAgICAgbXkgJERlc2NyaXB0aW9uICAgICAgICAgPSAnU3VydmV5IERlc2NyaXB0aW9uJzsKICAgICAgICBteSAkTm90aWZpY2F0aW9uU2VuZGVyICA9ICdxdWFsaXR5QGV4YW1wbGUuY29tJzsKICAgICAgICBteSAkTm90aWZpY2F0aW9uU3ViamVjdCA9ICdTdXJ2ZXkgTm90aWZpY2F0aW9uIFN1YmplY3QnOwogICAgICAgIG15ICROb3RpZmljYXRpb25Cb2R5ICAgID0gJ1N1cnZleSBOb3RpZmljYXRpb24gQm9keSc7CgogICAgICAgIG15ICRTdXJ2ZXlPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3VydmV5Jyk7CgogICAgICAgIG15ICRTdXJ2ZXlJRCA9ICRTdXJ2ZXlPYmplY3QtPlN1cnZleUFkZCgKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBUaXRsZSAgICAgICAgICAgICAgICAgID0+ICRTdXJ2ZXlUaXRsZSwKICAgICAgICAgICAgSW50cm9kdWN0aW9uICAgICAgICAgICA9PiAkSW50cm9kdWN0aW9uLAogICAgICAgICAgICBEZXNjcmlwdGlvbiAgICAgICAgICAgID0+ICREZXNjcmlwdGlvbiwKICAgICAgICAgICAgTm90aWZpY2F0aW9uU2VuZGVyICAgICA9PiAkTm90aWZpY2F0aW9uU2VuZGVyLAogICAgICAgICAgICBOb3RpZmljYXRpb25TdWJqZWN0ICAgID0+ICROb3RpZmljYXRpb25TdWJqZWN0LAogICAgICAgICAgICBOb3RpZmljYXRpb25Cb2R5ICAgICAgID0+ICROb3RpZmljYXRpb25Cb2R5LAogICAgICAgICAgICBRdWV1ZXMgICAgICAgICAgICAgICAgID0+IFsyXSwKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyA9PiB7CiAgICAgICAgICAgICAgICBVc2VyTG9naW4gPT4gWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmVnYXRpb24gICAgPT4gMCwKICAgICAgICAgICAgICAgICAgICAgICAgUmVnRXhwVmFsdWUgPT4gJ0pvaG4nLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdXJ2ZXlJRCwKICAgICAgICAgICAgIlN1cnZleSBJRCAkU3VydmV5SUQgaXMgY3JlYXRlZCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBDcmVhdGUgdGVzdCB1c2VyIGFuZCBsb2dpbi4KICAgICAgICBteSAkVGVzdFVzZXJMb2dpbiA9ICRIZWxwZXItPlRlc3RVc2VyQ3JlYXRlKAogICAgICAgICAgICBHcm91cHMgPT4gWyAnYWRtaW4nLCAndXNlcnMnIF0sCiAgICAgICAgKSB8fCBkaWUgIkRpZCBub3QgZ2V0IHRlc3QgdXNlciI7CgogICAgICAgICRTZWxlbml1bS0+TG9naW4oCiAgICAgICAgICAgIFR5cGUgICAgID0+ICdBZ2VudCcsCiAgICAgICAgICAgIFVzZXIgICAgID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICAgICBQYXNzd29yZCA9PiAkVGVzdFVzZXJMb2dpbiwKICAgICAgICApOwoKICAgICAgICBteSAkU2NyaXB0QWxpYXMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ1NjcmlwdEFsaWFzJyk7CgogICAgICAgICMgTmF2aWdhdGUgdG8gQWdlbnRTdXJ2ZXlFZGl0IG9mIGNyZWF0ZWQgdGVzdCBzdXJ2ZXkuCiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZEdldCgiJHtTY3JpcHRBbGlhc31pbmRleC5wbD9BY3Rpb249QWdlbnRTdXJ2ZXlFZGl0O1N1cnZleUlEPSRTdXJ2ZXlJRCIpOwoKICAgICAgICAjIEdldCB0ZXN0IHBhcmFtcy4KICAgICAgICBteSBAVGVzdCA9ICgKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSUQgICAgID0+ICdUaXRsZScsCiAgICAgICAgICAgICAgICBTdG9yZWQgPT4gJFN1cnZleVRpdGxlLAogICAgICAgICAgICAgICAgRWRpdGVkID0+ICRTdXJ2ZXlUaXRsZSAuICcgZWRpdGVkJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSUQgICAgID0+ICdJbnRyb2R1Y3Rpb24nLAogICAgICAgICAgICAgICAgU3RvcmVkID0+ICRJbnRyb2R1Y3Rpb24sCiAgICAgICAgICAgICAgICBFZGl0ZWQgPT4gJEludHJvZHVjdGlvbiAuICcgZWRpdGVkJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSUQgICAgID0+ICdEZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICBTdG9yZWQgPT4gJERlc2NyaXB0aW9uLAogICAgICAgICAgICAgICAgRWRpdGVkID0+ICREZXNjcmlwdGlvbiAuICcgZWRpdGVkJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSUQgICAgID0+ICdOb3RpZmljYXRpb25TZW5kZXInLAogICAgICAgICAgICAgICAgU3RvcmVkID0+ICROb3RpZmljYXRpb25TZW5kZXIsCiAgICAgICAgICAgICAgICBFZGl0ZWQgPT4gJE5vdGlmaWNhdGlvblNlbmRlciAuICcgZWRpdGVkJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSUQgICAgID0+ICdOb3RpZmljYXRpb25TdWJqZWN0JywKICAgICAgICAgICAgICAgIFN0b3JlZCA9PiAkTm90aWZpY2F0aW9uU3ViamVjdCwKICAgICAgICAgICAgICAgIEVkaXRlZCA9PiAkTm90aWZpY2F0aW9uU3ViamVjdCAuICcgZWRpdGVkJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSUQgICAgID0+ICdOb3RpZmljYXRpb25Cb2R5JywKICAgICAgICAgICAgICAgIFN0b3JlZCA9PiAkTm90aWZpY2F0aW9uQm9keSwKICAgICAgICAgICAgICAgIEVkaXRlZCA9PiAkTm90aWZpY2F0aW9uQm9keSAuICcgZWRpdGVkJywKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIENoZWNrIHRlc3Qgc3VydmV5IHZhbHVlcyBhbmQgZWRpdCB0aGVtLgogICAgICAgIGZvciBteSAkU3VydmV5U3RvcmVkIChAVGVzdCkgewoKICAgICAgICAgICAgJFNlbGYtPklzKAogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJFN1cnZleVN0b3JlZC0+e0lEfSIsICdjc3MnICktPmdldF92YWx1ZSgpLAogICAgICAgICAgICAgICAgJFN1cnZleVN0b3JlZC0+e1N0b3JlZH0sCiAgICAgICAgICAgICAgICAiIyRTdXJ2ZXlTdG9yZWQtPntJRH0gc3RvcmVkIHZhbHVlIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgRWRpdCB2YWx1ZS4KICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJFN1cnZleVN0b3JlZC0+e0lEfSIsICdjc3MnICktPnNlbmRfa2V5cygnIGVkaXRlZCcpOwogICAgICAgIH0KCiAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKCBKYXZhU2NyaXB0ID0+ICdyZXR1cm4gdHlwZW9mKCQpID09PSAiZnVuY3Rpb24iICYmICQoIiNVc2VyTG9naW5JbnB1dDEiKS5sZW5ndGgnICk7CgogICAgICAgICMgVXBkYXRlIGN1c3RvbWVyIHVzZXIgY29uZGl0aW9uLgogICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoCiAgICAgICAgICAgICJcJCgnI1VzZXJMb2dpbklucHV0MScpWzBdLnNjcm9sbEludG9WaWV3KHRydWUpOyIsCiAgICAgICAgKTsKCiAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgiXCQoJyNVc2VyTG9naW5JbnB1dDEnKS52YWwoJ0pvaG4gZWRpdGVkJyk7Iik7CgogICAgICAgICMgU3VibWl0IHVwZGF0ZXMgYW5kIHN3aXRjaCBiYWNrIHdpbmRvdy4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9idXR0b25bXEB2YWx1ZT0nVXBkYXRlJ11bXEB0eXBlPSdzdWJtaXQnXSIpLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICMgTmF2aWdhdGUgdG8gQWdlbnRTdXJ2ZXlFZGl0IG9mIGNyZWF0ZWQgdGVzdCBzdXJ2ZXkgYWdhaW4uCiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZEdldCgiJHtTY3JpcHRBbGlhc31pbmRleC5wbD9BY3Rpb249QWdlbnRTdXJ2ZXlFZGl0O1N1cnZleUlEPSRTdXJ2ZXlJRCIpOwoKICAgICAgICAjIENoZWNrIGVkaXRlZCB2YWx1ZXMuCiAgICAgICAgZm9yIG15ICRTdXJ2ZXJ5RWRpdGVkIChAVGVzdCkgewoKICAgICAgICAgICAgJFNlbGYtPklzKAogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJFN1cnZlcnlFZGl0ZWQtPntJRH0iLCAnY3NzJyApLT5nZXRfdmFsdWUoKSwKICAgICAgICAgICAgICAgICRTdXJ2ZXJ5RWRpdGVkLT57RWRpdGVkfSwKICAgICAgICAgICAgICAgICIjJFN1cnZlcnlFZGl0ZWQtPntJRH0gc3RvcmVkIHZhbHVlIiwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIG15ICVTdXJ2ZXkgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlHZXQoCiAgICAgICAgICAgIFN1cnZleUlEID0+ICRTdXJ2ZXlJRCwKICAgICAgICApOwoKICAgICAgICAjIERlbGV0ZSBrZXlzIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBjb21wYXJlLgogICAgICAgICMgTm90ZSB0aGF0IEN1c3RvbWVyVXNlckNvbmRpdGlvbnNKU09OIGhhcyBzb21ldGltZXMgZGlmZmVyZW50IG9yZGVyIGFuZCB0aGVyZWZvcmUKICAgICAgICAjIGl0J3Mgbm90IGV2YWx1YXRlZC4KICAgICAgICBmb3IgbXkgJEtleSAocXcoQ3JlYXRlVGltZSBDcmVhdGVCeSBDaGFuZ2VUaW1lIENoYW5nZUJ5IFN1cnZleU51bWJlciBDdXN0b21lclVzZXJDb25kaXRpb25zSlNPTikpIHsKCiAgICAgICAgICAgIG15ICRWYWx1ZSA9IGRlbGV0ZSAkU3VydmV5eyRLZXl9OwogICAgICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgICAgICRWYWx1ZSwKICAgICAgICAgICAgICAgICJNYWtlIHN1cmUgdGhhdCB0aGVyZSB3YXMgJyRLZXknIGRlZmluZWQgaW4gU3VydmV5IGhhc2guIiwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIG15ICVFeHBlY3RlZFZhbHVlID0gKAogICAgICAgICAgICAiQ2hhbmdlVXNlckZpcnN0bmFtZSIgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgICJDaGFuZ2VVc2VyRnVsbG5hbWUiICAgICA9PiAiJFRlc3RVc2VyTG9naW4gJFRlc3RVc2VyTG9naW4iLAogICAgICAgICAgICAiQ2hhbmdlVXNlckxhc3RuYW1lIiAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgICJDaGFuZ2VVc2VyTG9naW4iICAgICAgICA9PiAkVGVzdFVzZXJMb2dpbiwKICAgICAgICAgICAgIkNyZWF0ZVVzZXJGaXJzdG5hbWUiICAgID0+ICdBZG1pbicsCiAgICAgICAgICAgICJDcmVhdGVVc2VyRnVsbG5hbWUiICAgICA9PiAnQWRtaW4gT1RPQk8nLAogICAgICAgICAgICAiQ3JlYXRlVXNlckxhc3RuYW1lIiAgICAgPT4gJ09UT0JPJywKICAgICAgICAgICAgIkNyZWF0ZVVzZXJMb2dpbiIgICAgICAgID0+ICdyb290QGxvY2FsaG9zdCcsCiAgICAgICAgICAgICJDdXN0b21lclVzZXJDb25kaXRpb25zIiA9PiB7CiAgICAgICAgICAgICAgICAiVXNlckxvZ2luIiA9PiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiTmVnYXRpb24iICAgID0+IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICJSZWdFeHBWYWx1ZSIgPT4gIkpvaG4gZWRpdGVkIiwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIkRlc2NyaXB0aW9uIiAgICAgICAgID0+ICIkRGVzY3JpcHRpb24gZWRpdGVkIiwKICAgICAgICAgICAgIkludHJvZHVjdGlvbiIgICAgICAgID0+ICIkSW50cm9kdWN0aW9uIGVkaXRlZCIsCiAgICAgICAgICAgICJOb3RpZmljYXRpb25Cb2R5IiAgICA9PiAiJE5vdGlmaWNhdGlvbkJvZHkgZWRpdGVkIiwKICAgICAgICAgICAgIk5vdGlmaWNhdGlvblNlbmRlciIgID0+ICIkTm90aWZpY2F0aW9uU2VuZGVyIGVkaXRlZCIsCiAgICAgICAgICAgICJOb3RpZmljYXRpb25TdWJqZWN0IiA9PiAiJE5vdGlmaWNhdGlvblN1YmplY3QgZWRpdGVkIiwKICAgICAgICAgICAgIlF1ZXVlcyIgICAgICAgICAgICAgID0+IFsyXSwKICAgICAgICAgICAgIlNlbmRDb25kaXRpb25zUmF3IiAgID0+CiAgICAgICAgICAgICAgICAiLS0tXG5DdXN0b21lclVzZXJDb25kaXRpb25zOlxuICBVc2VyTG9naW46XG4gIC0gTmVnYXRpb246IDBcbiAgICBSZWdFeHBWYWx1ZTogSm9obiBlZGl0ZWRcbiIsCiAgICAgICAgICAgICJTdGF0dXMiICAgPT4gIk5ldyIsCiAgICAgICAgICAgICJTdXJ2ZXlJRCIgPT4gJFN1cnZleUlELAogICAgICAgICAgICAiVGl0bGUiICAgID0+ICIkU3VydmV5VGl0bGUgZWRpdGVkIiwKICAgICAgICApOwoKICAgICAgICAkU2VsZi0+SXNEZWVwbHkoCiAgICAgICAgICAgIFwlU3VydmV5LAogICAgICAgICAgICBcJUV4cGVjdGVkVmFsdWUsCiAgICAgICAgICAgICdDaGVjayBTdXJ2ZXkgaGFzaCBkZWVwbHkuJywKICAgICAgICApOwoKICAgICAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAgICAgIyBDbGVhbi11cCB0ZXN0IGNyZWF0ZWQgc3VydmV5IGRhdGEuCiAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkREJPYmplY3QtPkRvKAogICAgICAgICAgICBTUUwgID0+ICJERUxFVEUgRlJPTSBzdXJ2ZXlfcXVldWUgV0hFUkUgc3VydmV5X2lkID0gPyIsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFN1cnZleUlEIF0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICJTdXJ2ZXktUXVldWUgZm9yICRTdXJ2ZXlUaXRsZSBpcyBkZWxldGVkIiwKICAgICAgICApOwoKICAgICAgICAjIERlbGV0ZSB0ZXN0IGNyZWF0ZWQgc3VydmV5LgogICAgICAgICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gc3VydmV5IFdIRVJFIGlkID0gPyIsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFN1cnZleUlEIF0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICIkU3VydmV5VGl0bGUgaXMgZGVsZXRlZCIsCiAgICAgICAgKTsKICAgIH0KKTsKCjE7Cg==</File>
        <File Location="scripts/test/Selenium/Agent/AgentSurveyOverview.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKbXkgJFNlbGVuaXVtID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpTZWxlbml1bScpOwoKJFNlbGVuaXVtLT5SdW5UZXN0KAogICAgc3ViIHsKCiAgICAgICAgbXkgJEhlbHBlciAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CiAgICAgICAgbXkgJFN1cnZleU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKCiAgICAgICAgIyBDcmVhdGUgdGVzdCBzdXJ2ZXkuCiAgICAgICAgbXkgJFN1cnZleVRpdGxlID0gJ1N1cnZleSAnIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICBteSAkU3VydmV5SUQgICAgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlBZGQoCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgICAgICA9PiAkU3VydmV5VGl0bGUsCiAgICAgICAgICAgIEludHJvZHVjdGlvbiAgICAgICAgPT4gJ1N1cnZleSBJbnRyb2R1Y3Rpb24nLAogICAgICAgICAgICBEZXNjcmlwdGlvbiAgICAgICAgID0+ICdTdXJ2ZXkgRGVzY3JpcHRpb24nLAogICAgICAgICAgICBOb3RpZmljYXRpb25TZW5kZXIgID0+ICdxdWFsaXR5QGV4YW1wbGUuY29tJywKICAgICAgICAgICAgTm90aWZpY2F0aW9uU3ViamVjdCA9PiAnU3VydmV5IE5vdGlmaWNhdGlvbiBTdWJqZWN0JywKICAgICAgICAgICAgTm90aWZpY2F0aW9uQm9keSAgICA9PiAnU3VydmV5IE5vdGlmaWNhdGlvbiBCb2R5JywKICAgICAgICAgICAgUXVldWVzICAgICAgICAgICAgICA9PiBbMl0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1cnZleUlELAogICAgICAgICAgICAiU3VydmV5IElEICRTdXJ2ZXlJRCBpcyBjcmVhdGVkIiwKICAgICAgICApOwoKICAgICAgICAjIENyZWF0ZSB0ZXN0IHVzZXIgYW5kIGxvZ2luLgogICAgICAgIG15ICRUZXN0VXNlckxvZ2luID0gJEhlbHBlci0+VGVzdFVzZXJDcmVhdGUoCiAgICAgICAgICAgIEdyb3VwcyA9PiBbICdhZG1pbicsICd1c2VycycgXSwKICAgICAgICApIHx8IGRpZSAiRGlkIG5vdCBnZXQgdGVzdCB1c2VyIjsKCiAgICAgICAgJFNlbGVuaXVtLT5Mb2dpbigKICAgICAgICAgICAgVHlwZSAgICAgPT4gJ0FnZW50JywKICAgICAgICAgICAgVXNlciAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICk7CgogICAgICAgIG15ICRTY3JpcHRBbGlhcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2NyaXB0QWxpYXMnKTsKCiAgICAgICAgIyBOYXZpZ2F0ZSB0byBBZ2VudFN1cnZleU92ZXJ2aWV3IG9mIGNyZWF0ZWQgdGVzdCBzdXJ2ZXkuCiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZEdldCgiJHtTY3JpcHRBbGlhc31pbmRleC5wbD9BY3Rpb249QWdlbnRTdXJ2ZXlPdmVydmlldyIpOwoKICAgICAgICAjIENoZWNrIHNjcmVlbi4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggInRhYmxlIiwgICAgICAgICAgICAgJ2NzcycgKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggInRhYmxlIHRoZWFkIHRyIHRoIiwgJ2NzcycgKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggInRhYmxlIHRib2R5IHRyIHRkIiwgJ2NzcycgKTsKCiAgICAgICAgIyBDaGVjayBmb3IgdGVzdCBjcmVhdGVkIHN1cnZleS4KICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgaW5kZXgoICRTZWxlbml1bS0+Z2V0X3BhZ2Vfc291cmNlKCksICIkU3VydmV5VGl0bGUiICkgPiAtMSwKICAgICAgICAgICAgIiRTdXJ2ZXlUaXRsZSBpcyBmb3VuZCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBDbGljayBvbiB0ZXN0IGNyZWF0ZWQgc3VydmV5LgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2RpdltcQHRpdGxlPSckU3VydmV5VGl0bGUnXSIpLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICMgVmVyaWZ5IHdlIGFyZSBpbiBBZ2VudFN1cnZleVpvb20gc2NyZWVuLgogICAgICAgIG15ICRVUkxBY3Rpb24gPSAkU2VsZW5pdW0tPmdldF9jdXJyZW50X3VybCgpOwogICAgICAgICRTZWxmLT5JcygKICAgICAgICAgICAgaW5kZXgoICRVUkxBY3Rpb24sICJBY3Rpb249QWdlbnRTdXJ2ZXlab29tO1N1cnZleUlEPSRTdXJ2ZXlJRCIgKSA+IC0xLAogICAgICAgICAgICAxLAogICAgICAgICAgICAiTGluayBmcm9tIE92ZXJ2aWV3IHRvIFpvb20gdmlldyAtIHN1Y2Nlc3MiLAogICAgICAgICk7CgogICAgICAgICMgTmF2aWdhdGUgdG8gQWdlbnRTdXJ2ZXlPdmVydmlldyBvZiBjcmVhdGVkIHRlc3Qgc3VydmV5LgogICAgICAgICRTZWxlbml1bS0+VmVyaWZpZWRHZXQoIiR7U2NyaXB0QWxpYXN9aW5kZXgucGw/QWN0aW9uPUFnZW50U3VydmV5T3ZlcnZpZXciKTsKCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICcjU3VydmV5U2VhcmNoJywgJ2NzcycgKS0+Y2xpY2soKTsKICAgICAgICBteSAkRGlhbG9nRm91bmQgPSAkU2VsZW5pdW0tPldhaXRGb3IoCiAgICAgICAgICAgIEphdmFTY3JpcHQgPT4gJ3JldHVybiB0eXBlb2YoJCkgPT09ICJmdW5jdGlvbiIgJiYgJCgiI1N1cnZleU92ZXJ2aWV3U2V0dGluZ3NEaWFsb2ciKS5sZW5ndGgnCiAgICAgICAgKTsKCiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICREaWFsb2dGb3VuZCwKICAgICAgICAgICAgJ0RpYWxvZyBkaXNwbGF5ZWQuJwogICAgICAgICk7CgogICAgICAgICMgU2VuZCBTdXJ2ZXlJRC4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggJyNTdXJ2ZXlPdmVydmlld1NldHRpbmdzRGlhbG9nIGlucHV0W25hbWU9IkZ1bGx0ZXh0Il0nLCAnY3NzJyApLT5zZW5kX2tleXMoJFN1cnZleUlEKTsKCiAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCBmb2xsb3dpbmcgZmllbGRzIGFyZSBkaXNwbGF5ZWQuCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICcjU3VydmV5T3ZlcnZpZXdTZXR0aW5nc0RpYWxvZyAjU3RhdGVzX1NlYXJjaCcsICdjc3MnICk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICcjU3VydmV5T3ZlcnZpZXdTZXR0aW5nc0RpYWxvZyAjTm9UaW1lU2V0JywgICAgICdjc3MnICk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICcjU3VydmV5T3ZlcnZpZXdTZXR0aW5nc0RpYWxvZyAjRGF0ZVJhbmdlJywgICAgICdjc3MnICk7CgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAnI0RpYWxvZ0J1dHRvbjEnLCAnY3NzJyApLT5jbGljaygpOwogICAgICAgICRTZWxlbml1bS0+V2FpdEZvciggSmF2YVNjcmlwdCA9PiAncmV0dXJuICEkKCIuRGlhbG9nLk1vZGFsIikubGVuZ3RoJyApOwoKICAgICAgICBteSAkTGlua1N1cnZleUlEID0gJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICcuTWFzdGVyQWN0aW9uTGluaycsICdjc3MnICktPmdldF9hdHRyaWJ1dGUoJ2lubmVySFRNTCcpOwogICAgICAgIG15ICRMaW5rQ29udGVudCAgPSAnJzsKCiAgICAgICAgaWYgKCAkTGlua1N1cnZleUlEID1+IG17XlxzKihcZCspXHMqJH0gKSB7CiAgICAgICAgICAgICRMaW5rQ29udGVudCA9ICQxOwogICAgICAgIH0KCiAgICAgICAgJFNlbGYtPklzKAogICAgICAgICAgICAkTGlua0NvbnRlbnQsCiAgICAgICAgICAgICRTdXJ2ZXlJRCArIDEwMDAwLAogICAgICAgICAgICAnQ3JhdGVkIHN1cnZleSBsaW5rIGZvdW5kLicKICAgICAgICApOwoKICAgICAgICAjIENoZWNrIGlmIGNoYW5nZSBzdGF0dXMgZHJvcGRvd24gaXMgbW9kZXJuaXplZC4KICAgICAgICAjIFNlZSBidWcjMTM3NDEgaHR0cHM6Ly9idWdzLm90b2JvLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NDEKICAgICAgICBteSAkUXVlc3Rpb24gICA9ICdRdWVzdGlvbiAnIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICBteSAkUXVlc3Rpb25JRCA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uQWRkKAogICAgICAgICAgICBVc2VySUQgICAgICAgICA9PiAxLAogICAgICAgICAgICBTdXJ2ZXlJRCAgICAgICA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIFF1ZXN0aW9uICAgICAgID0+ICRRdWVzdGlvbiwKICAgICAgICAgICAgQW5zd2VyUmVxdWlyZWQgPT4gMSwKICAgICAgICAgICAgVHlwZSAgICAgICAgICAgPT4gJ1llc05vJywKICAgICAgICApOwoKICAgICAgICAjIEdvIHRvIEFnZW50U3VydmV5Wm9vbSBzY3JlZW4uCiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZEdldCgiJHtTY3JpcHRBbGlhc31pbmRleC5wbD9BY3Rpb249QWdlbnRTdXJ2ZXlab29tO1N1cnZleUlEPSRTdXJ2ZXlJRCIpOwoKICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3IoIEphdmFTY3JpcHQgPT4gInJldHVybiBcJCgnI05ld1N0YXR1cy5Nb2Rlcm5pemUnKS5sZW5ndGggPT09IDE7IiApOwoKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgicmV0dXJuIFwkKCcjTmV3U3RhdHVzLk1vZGVybml6ZScpLmxlbmd0aCA9PT0gMTsiKSwKICAgICAgICAgICAgIidDaGFuZ2UgU3RhdHVzJyBkcm9wZG93biBpcyBtb2Rlcm5pemVkIiwKICAgICAgICApOwoKICAgICAgICAjIFN3aXRjaCBzdGF0dXMgb2Ygc3VydmV5LgogICAgICAgIGZvciBteSAkU3RhdHVzIChxdyhNYXN0ZXIgVmFsaWQpKSB7CgogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCd3aW5kb3cuQ29yZS5BcHAuUGFnZUxvYWRDb21wbGV0ZSA9IGZhbHNlOycpOwogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KAogICAgICAgICAgICAgICAgIlwkKCcjTmV3U3RhdHVzJykudmFsKCckU3RhdHVzJykudHJpZ2dlcigncmVkcmF3LklucHV0RmllbGQnKS50cmlnZ2VyKCdjaGFuZ2UnKTsiCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3IoCiAgICAgICAgICAgICAgICBKYXZhU2NyaXB0ID0+CiAgICAgICAgICAgICAgICAgICAgJ3JldHVybiB0eXBlb2YoQ29yZSkgPT0gIm9iamVjdCIgJiYgdHlwZW9mKENvcmUuQXBwKSA9PSAib2JqZWN0IiAmJiBDb3JlLkFwcC5QYWdlTG9hZENvbXBsZXRlJwogICAgICAgICAgICApOwoKICAgICAgICAgICAgJFNlbGYtPklzKAogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgicmV0dXJuIFwkKCdsYWJlbDpjb250YWlucyhTdGF0dXMpJykubmV4dCgpLnRleHQoKS50cmltKCk7IiksCiAgICAgICAgICAgICAgICAiJFN0YXR1cyIsCiAgICAgICAgICAgICAgICAiU3VydmV5IHN0YXR1cyBpcyBzZXQgdG8gJFN0YXR1cyIKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICAgICAjIERlbGV0ZSBzdXJ2ZXkgcXVlc3Rpb24uCiAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkREJPYmplY3QtPkRvKAogICAgICAgICAgICBTUUwgID0+ICJERUxFVEUgRlJPTSBzdXJ2ZXlfcXVlc3Rpb24gV0hFUkUgc3VydmV5X2lkID0gPyIsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFN1cnZleUlEIF0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICJTdXJ2ZXktUXVldWUgZm9yICRTdXJ2ZXlUaXRsZSBpcyBkZWxldGVkIiwKICAgICAgICApOwoKICAgICAgICAjIENsZWFuLXVwIHRlc3QgY3JlYXRlZCBzdXJ2ZXkgZGF0YS4KICAgICAgICAkU3VjY2VzcyA9ICREQk9iamVjdC0+RG8oCiAgICAgICAgICAgIFNRTCAgPT4gIkRFTEVURSBGUk9NIHN1cnZleV9xdWV1ZSBXSEVSRSBzdXJ2ZXlfaWQgPSA/IiwKICAgICAgICAgICAgQmluZCA9PiBbIFwkU3VydmV5SUQgXSwKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU3VjY2VzcywKICAgICAgICAgICAgIlN1cnZleS1RdWV1ZSBmb3IgJFN1cnZleVRpdGxlIGlzIGRlbGV0ZWQiLAogICAgICAgICk7CgogICAgICAgICMgRGVsZXRlIHRlc3QgY3JlYXRlZCBzdXJ2ZXkuCiAgICAgICAgJFN1Y2Nlc3MgPSAkREJPYmplY3QtPkRvKAogICAgICAgICAgICBTUUwgID0+ICJERUxFVEUgRlJPTSBzdXJ2ZXkgV0hFUkUgaWQgPSA/IiwKICAgICAgICAgICAgQmluZCA9PiBbIFwkU3VydmV5SUQgXSwKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU3VjY2VzcywKICAgICAgICAgICAgIiRTdXJ2ZXlUaXRsZSBpcyBkZWxldGVkIiwKICAgICAgICApOwogICAgfQopOwoKMTsK</File>
        <File Location="scripts/test/Selenium/Agent/AgentSurveyZoom.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKIyBnZXQgc2VsZW5pdW0gb2JqZWN0Cm15ICRTZWxlbml1bSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6U2VsZW5pdW0nKTsKCiRTZWxlbml1bS0+UnVuVGVzdCgKICAgIHN1YiB7CgogICAgICAgICMgZ2V0IGhlbHBlciBvYmplY3QKICAgICAgICBteSAkSGVscGVyID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCiAgICAgICAgIyBkbyBub3QgY2hlY2sgUmljaFRleHQKICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICBWYWxpZCA9PiAxLAogICAgICAgICAgICBLZXkgICA9PiAnRnJvbnRlbmQ6OlJpY2hUZXh0JywKICAgICAgICAgICAgVmFsdWUgPT4gMCwKICAgICAgICApOwoKICAgICAgICAjIGNyZWF0ZSB0ZXN0IHN1cnZleQogICAgICAgIG15ICRTdXJ2ZXlUaXRsZSAgICAgICAgID0gJ1N1cnZleSAnIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICBteSAkSW50cm9kdWN0aW9uICAgICAgICA9ICdTdXJ2ZXkgSW50cm9kdWN0aW9uJzsKICAgICAgICBteSAkRGVzY3JpcHRpb24gICAgICAgICA9ICdTdXJ2ZXkgRGVzY3JpcHRpb24nOwogICAgICAgIG15ICROb3RpZmljYXRpb25TZW5kZXIgID0gJ3F1YWxpdHlAZXhhbXBsZS5jb20nOwogICAgICAgIG15ICROb3RpZmljYXRpb25TdWJqZWN0ID0gJ1N1cnZleSBOb3RpZmljYXRpb24gU3ViamVjdCc7CiAgICAgICAgbXkgJE5vdGlmaWNhdGlvbkJvZHkgICAgPSAnU3VydmV5IE5vdGlmaWNhdGlvbiBCb2R5JzsKCiAgICAgICAgbXkgJFN1cnZleUlEID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpLT5TdXJ2ZXlBZGQoCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgICAgICA9PiAkU3VydmV5VGl0bGUsCiAgICAgICAgICAgIEludHJvZHVjdGlvbiAgICAgICAgPT4gJEludHJvZHVjdGlvbiwKICAgICAgICAgICAgRGVzY3JpcHRpb24gICAgICAgICA9PiAkRGVzY3JpcHRpb24sCiAgICAgICAgICAgIE5vdGlmaWNhdGlvblNlbmRlciAgPT4gJE5vdGlmaWNhdGlvblNlbmRlciwKICAgICAgICAgICAgTm90aWZpY2F0aW9uU3ViamVjdCA9PiAkTm90aWZpY2F0aW9uU3ViamVjdCwKICAgICAgICAgICAgTm90aWZpY2F0aW9uQm9keSAgICA9PiAkTm90aWZpY2F0aW9uQm9keSwKICAgICAgICAgICAgUXVldWVzICAgICAgICAgICAgICA9PiBbMl0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1cnZleUlELAogICAgICAgICAgICAiU3VydmV5IElEICRTdXJ2ZXlJRCBpcyBjcmVhdGVkIiwKICAgICAgICApOwoKICAgICAgICAjIGNyZWF0ZSB0ZXN0IHVzZXIgYW5kIGxvZ2luCiAgICAgICAgbXkgJFRlc3RVc2VyTG9naW4gPSAkSGVscGVyLT5UZXN0VXNlckNyZWF0ZSgKICAgICAgICAgICAgR3JvdXBzID0+IFsgJ2FkbWluJywgJ3VzZXJzJyBdLAogICAgICAgICkgfHwgZGllICJEaWQgbm90IGdldCB0ZXN0IHVzZXIiOwoKICAgICAgICAkU2VsZW5pdW0tPkxvZ2luKAogICAgICAgICAgICBUeXBlICAgICA9PiAnQWdlbnQnLAogICAgICAgICAgICBVc2VyICAgICA9PiAkVGVzdFVzZXJMb2dpbiwKICAgICAgICAgICAgUGFzc3dvcmQgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgKTsKCiAgICAgICAgIyBnZXQgc2NyaXB0IGFsaWFzCiAgICAgICAgbXkgJFNjcmlwdEFsaWFzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdTY3JpcHRBbGlhcycpOwoKICAgICAgICAjIG5hdmlnYXRlIHRvIEFnZW50U3VydmV5Wm9vbSBvZiBjcmVhdGVkIHRlc3Qgc3VydmV5CiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZEdldCgiJHtTY3JpcHRBbGlhc31pbmRleC5wbD9BY3Rpb249QWdlbnRTdXJ2ZXlab29tO1N1cnZleUlEPSRTdXJ2ZXlJRCIpOwoKICAgICAgICAjIGNoZWNrIHBhZ2UKICAgICAgICBmb3IgbXkgJElEICgKICAgICAgICAgICAgcXcoTWVudTAwMC1CYWNrIE1lbnUwMTAtRWRpdEdlbmVyYWxJbmZvIE1lbnUwMjAtRWRpdFF1ZXN0aW9ucyBOZXdTdGF0dXMpCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgIG15ICRFbGVtZW50ID0gJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJElEIiwgJ2NzcycgKTsKICAgICAgICAgICAgJEVsZW1lbnQtPmlzX2VuYWJsZWQoKTsKICAgICAgICAgICAgJEVsZW1lbnQtPmlzX2Rpc3BsYXllZCgpOwogICAgICAgIH0KCiAgICAgICAgIyBjaGVjayB0ZXN0IGNyZWF0ZWQgc3VydmV5IHZhbHVlcwogICAgICAgIG15IEBWYWx1ZXMgPSAoICRTdXJ2ZXlUaXRsZSwgJEludHJvZHVjdGlvbiwgJERlc2NyaXB0aW9uICk7CiAgICAgICAgZm9yIG15ICRTdXJ2ZXlDaGVjayAoQFZhbHVlcykgewogICAgICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgICAgIGluZGV4KCAkU2VsZW5pdW0tPmdldF9wYWdlX3NvdXJjZSgpLCAiJFN1cnZleUNoZWNrIiApID4gLTEsCiAgICAgICAgICAgICAgICAiJFN1cnZleUNoZWNrIGlzIGZvdW5kIiwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IERCIG9iamVjdAogICAgICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICAgICAjIGNsZWFuLXVwIHRlc3QgY3JlYXRlZCBzdXJ2ZXkgZGF0YQogICAgICAgIG15ICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gc3VydmV5X3F1ZXVlIFdIRVJFIHN1cnZleV9pZCA9ID8iLAogICAgICAgICAgICBCaW5kID0+IFsgXCRTdXJ2ZXlJRCBdLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAiU3VydmV5LVF1ZXVlIGZvciAkU3VydmV5VGl0bGUgaXMgZGVsZXRlZCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBkZWxldGUgdGVzdCBjcmVhdGVkIHN1cnZleQogICAgICAgICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gc3VydmV5IFdIRVJFIGlkID0gPyIsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFN1cnZleUlEIF0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICIkU3VydmV5VGl0bGUgaXMgZGVsZXRlZCIsCiAgICAgICAgKTsKCiAgICB9Cik7CgoxOwo=</File>
        <File Location="scripts/test/Selenium/Agent/AgentSurveyEditQuestions.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKbXkgJFNlbGVuaXVtID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpTZWxlbml1bScpOwoKJFNlbGVuaXVtLT5SdW5UZXN0KAogICAgc3ViIHsKCiAgICAgICAgbXkgJEhlbHBlciA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CgogICAgICAgICMgQ3JlYXRlIHRlc3Qgc3VydmV5LgogICAgICAgIG15ICRTdXJ2ZXlUaXRsZSA9ICdTdXJ2ZXkgJyAuICRIZWxwZXItPkdldFJhbmRvbUlEKCk7CiAgICAgICAgbXkgJFN1cnZleUlEICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpLT5TdXJ2ZXlBZGQoCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgICAgICA9PiAkU3VydmV5VGl0bGUsCiAgICAgICAgICAgIEludHJvZHVjdGlvbiAgICAgICAgPT4gJ1N1cnZleSBJbnRyb2R1Y3Rpb24nLAogICAgICAgICAgICBEZXNjcmlwdGlvbiAgICAgICAgID0+ICdTdXJ2ZXkgRGVzY3JpcHRpb24nLAogICAgICAgICAgICBOb3RpZmljYXRpb25TZW5kZXIgID0+ICdzdmlrQGV4YW1wbGUuY29tJywKICAgICAgICAgICAgTm90aWZpY2F0aW9uU3ViamVjdCA9PiAnU3VydmV5IE5vdGlmaWNhdGlvbiBTdWJqZWN0JywKICAgICAgICAgICAgTm90aWZpY2F0aW9uQm9keSAgICA9PiAnU3VydmV5IE5vdGlmaWNhdGlvbiBCb2R5JywKICAgICAgICAgICAgUXVldWVzICAgICAgICAgICAgICA9PiBbMl0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1cnZleUlELAogICAgICAgICAgICAiU3VydmV5IElEICRTdXJ2ZXlJRCBpcyBjcmVhdGVkIiwKICAgICAgICApOwoKICAgICAgICAjIENyZWF0ZSB0ZXN0IHVzZXIgYW5kIGxvZ2luLgogICAgICAgIG15ICRUZXN0VXNlckxvZ2luID0gJEhlbHBlci0+VGVzdFVzZXJDcmVhdGUoCiAgICAgICAgICAgIEdyb3VwcyA9PiBbICdhZG1pbicsICd1c2VycycgXSwKICAgICAgICApIHx8IGRpZSAiRGlkIG5vdCBnZXQgdGVzdCB1c2VyIjsKCiAgICAgICAgJFNlbGVuaXVtLT5Mb2dpbigKICAgICAgICAgICAgVHlwZSAgICAgPT4gJ0FnZW50JywKICAgICAgICAgICAgVXNlciAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICk7CgogICAgICAgIG15ICRTY3JpcHRBbGlhcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2NyaXB0QWxpYXMnKTsKCiAgICAgICAgIyBOYXZpZ2F0ZSB0byBBZ2VudFN1cnZleVpvb20gb2YgY3JlYXRlZCB0ZXN0IHN1cnZleS4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkR2V0KCIke1NjcmlwdEFsaWFzfWluZGV4LnBsP0FjdGlvbj1BZ2VudFN1cnZleVpvb207U3VydmV5SUQ9JFN1cnZleUlEIik7CgogICAgICAgICMgQ2xpY2sgb24gJ0VkaXQgUXVlc3Rpb25zJyBhbmQgc3dpdGNoIHNjcmVlbi4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNNZW51MDIwLUVkaXRRdWVzdGlvbnMiLCAnY3NzJyApLT5jbGljaygpOwoKICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3IoIFdpbmRvd0NvdW50ID0+IDIgKTsKICAgICAgICBteSAkSGFuZGxlcyA9ICRTZWxlbml1bS0+Z2V0X3dpbmRvd19oYW5kbGVzKCk7CiAgICAgICAgJFNlbGVuaXVtLT5zd2l0Y2hfdG9fd2luZG93KCAkSGFuZGxlcy0+WzFdICk7CgogICAgICAgICMgV2FpdCB1bnRpbCBwYWdlIGhhcyBsb2FkZWQsIGlmIG5lY2Vzc2FyeS4KICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3IoIEphdmFTY3JpcHQgPT4gJ3JldHVybiB0eXBlb2YoJCkgPT09ICJmdW5jdGlvbiIgJiYgJCgiI0Fuc3dlclJlcXVpcmVkIikubGVuZ3RoJyApOwoKICAgICAgICAjIENoZWNrIHBhZ2UuCiAgICAgICAgZm9yIG15ICRJRCAoCiAgICAgICAgICAgIHF3KFF1ZXN0aW9uIFR5cGUgQW5zd2VyUmVxdWlyZWQpCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgIG15ICRFbGVtZW50ID0gJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJElEIiwgJ2NzcycgKTsKICAgICAgICAgICAgJEVsZW1lbnQtPmlzX2VuYWJsZWQoKTsKICAgICAgICAgICAgJEVsZW1lbnQtPmlzX2Rpc3BsYXllZCgpOwogICAgICAgIH0KCiAgICAgICAgIyBHZXQgdGVzdCBwYXJhbXMuCiAgICAgICAgbXkgQFRlc3QgPSAoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1llc05vUXVlc3Rpb24nLAogICAgICAgICAgICAgICAgVHlwZSA9PiAnWWVzTm8nLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICAgID0+ICdSYWRpb1F1ZXN0aW9uJywKICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ1JhZGlvJywKICAgICAgICAgICAgICAgIEFuc3dlcjEgPT4gJ1NlbGVuaXVtIG9uZScsCiAgICAgICAgICAgICAgICBBbnN3ZXIyID0+ICdTZWxlbml1bSB0d28nLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICAgID0+ICdDaGVja2JveFF1ZXN0aW9uJywKICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ0NoZWNrYm94JywKICAgICAgICAgICAgICAgIEFuc3dlcjEgPT4gJ1NlbGVuaXVtIG9uZScsCiAgICAgICAgICAgICAgICBBbnN3ZXIyID0+ICdTZWxlbml1bSB0d28nLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lID0+ICdUZXh0YXJlYVF1ZXN0aW9uJywKICAgICAgICAgICAgICAgIFR5cGUgPT4gJ1RleHRhcmVhJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgICA9PiAnTlBTUXVlc3Rpb24nLAogICAgICAgICAgICAgICAgVHlwZSAgICA9PiAnTlBTJywKICAgICAgICAgICAgICAgIEFuc3dlcjEgPT4gJ1NlbGVuaXVtIG9uZScsCiAgICAgICAgICAgICAgICBBbnN3ZXIyID0+ICdTZWxlbml1bSB0d28nCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBDcmVhdGUgdGVzdCBxdWVzdGlvbnMuCiAgICAgICAgbXkgJFN1Y2Nlc3M7CiAgICAgICAgZm9yIG15ICRRdWVzdGlvbnMgKEBUZXN0KSB7CgogICAgICAgICAgICAjIEFkZCBxdWVzdGlvbi4KICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjUXVlc3Rpb24iLCAnY3NzJyApLT5zZW5kX2tleXMoICRRdWVzdGlvbnMtPntOYW1lfSApOwogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KAogICAgICAgICAgICAgICAgIlwkKCcjVHlwZScpLnZhbCgnJFF1ZXN0aW9ucy0+e1R5cGV9JykudHJpZ2dlcigncmVkcmF3LklucHV0RmllbGQnKS50cmlnZ2VyKCdjaGFuZ2UnKTsiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2J1dHRvbltcQHZhbHVlPSdBZGQnXVtcQHR5cGU9J3N1Ym1pdCddIiktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgICAgICMgQWRkIGFuc3dlcnMgZm9yIHJhZGlvLCBjaGVjay1ib3ggYW5kIE5QUyBxdWVzdGlvbnMuCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICRRdWVzdGlvbnMtPntOYW1lfSBlcSAnUmFkaW9RdWVzdGlvbicKICAgICAgICAgICAgICAgIHx8ICRRdWVzdGlvbnMtPntOYW1lfSBlcSAnQ2hlY2tib3hRdWVzdGlvbicKICAgICAgICAgICAgICAgIHx8ICRRdWVzdGlvbnMtPntOYW1lfSBlcSAnTlBTUXVlc3Rpb24nCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAjIFZlcmlmeSBxdWVzdGlvbiBpcyBpbiBpbmNvbXBsZXRlIHN0YXRlLgogICAgICAgICAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICAgICAgICAgaW5kZXgoICRTZWxlbml1bS0+Z2V0X3RleHQoIi8vZGl2W1xAY2xhc3M9J0NvbnRlbnQnXSIpLCAnSW5jb21wbGV0ZScgKSA+IC0xLAogICAgICAgICAgICAgICAgICAgICIkUXVlc3Rpb25zLT57TmFtZX0gaXMgaW5jb21wbGV0ZSIsCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICMgQ2xpY2sgb24gdGVzdCBjcmVhdGVkIHF1ZXN0aW9uLgogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICRRdWVzdGlvbnMtPntOYW1lfSwgJ2xpbmtfdGV4dCcgKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI0Fuc3dlciIsICdjc3MnICktPnNlbmRfa2V5cyggJFF1ZXN0aW9ucy0+e0Fuc3dlcjF9ICk7CiAgICAgICAgICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9idXR0b25bXEB2YWx1ZT0nQWRkJ11bXEB0eXBlPSdzdWJtaXQnXSIpLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjQW5zd2VyIiwgJ2NzcycgKS0+c2VuZF9rZXlzKCAkUXVlc3Rpb25zLT57QW5zd2VyMn0gKTsKICAgICAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2J1dHRvbltcQHZhbHVlPSdBZGQnXVtcQHR5cGU9J3N1Ym1pdCddIiktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgICAgICAgICAjIFJldHVybiBiYWNrIHRvIGFkZCBxdWVzdGlvbiBzY3JlZW4uCiAgICAgICAgICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9idXR0b25bXEB2YWx1ZT0nR28gYmFjayddW1xAdHlwZT0nc3VibWl0J10iKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBWZXJpZnkgcXVlc3Rpb24gaXMgaW4gY29tcGxldGUgc3RhdGUuCiAgICAgICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAgICAgaW5kZXgoICRTZWxlbml1bS0+Z2V0X3RleHQoIi8vZGl2W1xAY2xhc3M9J0NvbnRlbnQnXSIpLCAnQ29tcGxldGUnICkgPiAtMSwKICAgICAgICAgICAgICAgICIkUXVlc3Rpb25zLT57TmFtZX0gaXMgY29tcGxldGVkIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgRGVsZXRlIHRlc3QgcXVlc3Rpb24uCiAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiLlF1ZXN0aW9uRGVsZXRlIiwgJ2NzcycgKS0+Y2xpY2soKTsKICAgICAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKCBBbGVydFByZXNlbnQgPT4gMSApOwogICAgICAgICAgICAkU2VsZW5pdW0tPmFjY2VwdF9hbGVydCgpOwoKICAgICAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKAogICAgICAgICAgICAgICAgSmF2YVNjcmlwdCA9PgogICAgICAgICAgICAgICAgICAgICJyZXR1cm4gdHlwZW9mKFwkKSA9PT0gJ2Z1bmN0aW9uJyAmJiAhXCQoJy5EYXRhVGFibGUgdHI6Y29udGFpbnMoXCIkUXVlc3Rpb25zLT57TmFtZX1cIiknKS5sZW5ndGg7IgogICAgICAgICAgICApOwoKICAgICAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCJyZXR1cm4gIVwkKCcuRGF0YVRhYmxlIHRyOmNvbnRhaW5zKFwiJFF1ZXN0aW9ucy0+e05hbWV9XCIpJykubGVuZ3RoOyIpLAogICAgICAgICAgICAgICAgIiRRdWVzdGlvbnMtPntOYW1lfSBpcyBkZWxldGVkIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgfQoKICAgICAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAgICAgIyBDbGVhbi11cCB0ZXN0IGNyZWF0ZWQgc3VydmV5IHF1ZXVlLgogICAgICAgICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gc3VydmV5X3F1ZXVlIFdIRVJFIHN1cnZleV9pZCA9ID8iLAogICAgICAgICAgICBCaW5kID0+IFsgXCRTdXJ2ZXlJRCBdLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAiU3VydmV5LVF1ZXVlIGZvciAkU3VydmV5VGl0bGUgaXMgZGVsZXRlZCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBEZWxldGUgdGVzdCBjcmVhdGVkIHN1cnZleS4KICAgICAgICAkU3VjY2VzcyA9ICREQk9iamVjdC0+RG8oCiAgICAgICAgICAgIFNRTCAgPT4gIkRFTEVURSBGUk9NIHN1cnZleSBXSEVSRSBpZCA9ID8iLAogICAgICAgICAgICBCaW5kID0+IFsgXCRTdXJ2ZXlJRCBdLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAiJFN1cnZleVRpdGxlIGlzIGRlbGV0ZWQiLAogICAgICAgICk7CiAgICB9Cik7CgoxOwo=</File>
        <File Location="scripts/test/Selenium/Agent/AgentSurveyStats.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKbXkgJFNlbGVuaXVtID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpTZWxlbml1bScpOwoKJFNlbGVuaXVtLT5SdW5UZXN0KAogICAgc3ViIHsKICAgICAgICBteSAkSGVscGVyID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCiAgICAgICAgIyBEbyBub3QgcmVhbGx5IHNlbmQgZW1haWxzLgogICAgICAgICRIZWxwZXItPkNvbmZpZ1NldHRpbmdDaGFuZ2UoCiAgICAgICAgICAgIEtleSAgID0+ICdTZW5kbWFpbE1vZHVsZScsCiAgICAgICAgICAgIFZhbHVlID0+ICdLZXJuZWw6OlN5c3RlbTo6RW1haWw6OkRvTm90U2VuZEVtYWlsJywKICAgICAgICApOwoKICAgICAgICAjIERvIG5vdCBjaGVjayBlbWFpbCBhZGRyZXNzZXMgaW4gdGhpcyB0ZXN0LgogICAgICAgICRIZWxwZXItPkNvbmZpZ1NldHRpbmdDaGFuZ2UoCiAgICAgICAgICAgIEtleSAgID0+ICdDaGVja0VtYWlsQWRkcmVzc2VzJywKICAgICAgICAgICAgVmFsdWUgPT4gMCwKICAgICAgICApOwoKICAgICAgICAjIFNldCBzZW5kIHBlcmlvZCB0byB6ZXJvIHRvIGFsd2F5cyBzZW5kIHN1cnZleS4KICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICBLZXkgICA9PiAnU3VydmV5OjpTZW5kUGVyaW9kJywKICAgICAgICAgICAgVmFsdWUgPT4gMCwKICAgICAgICApOwoKICAgICAgICAjIFNldCBubyBzZW5kIGNvbmRpdGlvbiBjaGVjayBpbiBub3JtYWwgdGVzdHMuCiAgICAgICAgJEhlbHBlci0+Q29uZmlnU2V0dGluZ0NoYW5nZSgKICAgICAgICAgICAgS2V5ICAgPT4gJ1N1cnZleTo6Q2hlY2tTZW5kQ29uZGl0aW9uVGlja2V0VHlwZScsCiAgICAgICAgICAgIFZhbHVlID0+IDAsCiAgICAgICAgKTsKCiAgICAgICAgIyBDcmVhdGUgdGVzdCBzdXJ2ZXkuCiAgICAgICAgbXkgJFN1cnZleU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKTsKICAgICAgICBteSAkU3VydmV5VGl0bGUgID0gJ1N1cnZleSAnIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICBteSAkU3VydmV5SUQgICAgID0gJFN1cnZleU9iamVjdC0+U3VydmV5QWRkKAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIFRpdGxlICAgICAgICAgICAgICAgPT4gJFN1cnZleVRpdGxlLAogICAgICAgICAgICBJbnRyb2R1Y3Rpb24gICAgICAgID0+ICdTdXJ2ZXkgSW50cm9kdWN0aW9uJywKICAgICAgICAgICAgRGVzY3JpcHRpb24gICAgICAgICA9PiAnU3VydmV5IERlc2NyaXB0aW9uJywKICAgICAgICAgICAgTm90aWZpY2F0aW9uU2VuZGVyICA9PiAncXVhbGl0eUB1bml0dGVzdC5jb20nLAogICAgICAgICAgICBOb3RpZmljYXRpb25TdWJqZWN0ID0+ICdTdXJ2ZXkgTm90aWZpY2F0aW9uIFN1YmplY3QnLAogICAgICAgICAgICBOb3RpZmljYXRpb25Cb2R5ICAgID0+ICdTdXJ2ZXkgTm90aWZpY2F0aW9uIEJvZHknLAogICAgICAgICAgICBRdWV1ZXMgICAgICAgICAgICAgID0+IFsyXSwKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU3VydmV5SUQsCiAgICAgICAgICAgICJTdXJ2ZXkgSUQgJFN1cnZleUlEIGlzIGNyZWF0ZWQiCiAgICAgICAgKTsKCiAgICAgICAgIyBBZGQgcXVlc3Rpb24gdG8gdGVzdCBzdXJ2ZXkuCiAgICAgICAgbXkgJFF1ZXN0aW9uTmFtZSA9ICdRdWVzdGlvbiAnIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkFkZCgKICAgICAgICAgICAgVXNlcklEICAgICAgICAgPT4gMSwKICAgICAgICAgICAgU3VydmV5SUQgICAgICAgPT4gJFN1cnZleUlELAogICAgICAgICAgICBRdWVzdGlvbiAgICAgICA9PiAkUXVlc3Rpb25OYW1lLAogICAgICAgICAgICBBbnN3ZXJSZXF1aXJlZCA9PiAxLAogICAgICAgICAgICBUeXBlICAgICAgICAgICA9PiAnWWVzTm8nLAogICAgICAgICk7CgogICAgICAgICMgR2V0IHF1ZXN0aW9uIElEIGZyb20gdGhlIHRlc3Qgc3VydmV5LgogICAgICAgIG15IEBRdWVzdGlvbkxpc3QgPSAkU3VydmV5T2JqZWN0LT5RdWVzdGlvbkxpc3QoCiAgICAgICAgICAgIFN1cnZleUlEID0+ICRTdXJ2ZXlJRCwKICAgICAgICApOwogICAgICAgIG15ICRRdWVzdGlvbklEID0gJFF1ZXN0aW9uTGlzdFswXS0+e1F1ZXN0aW9uSUR9OwoKICAgICAgICAjIFNldCB0ZXN0IHN1cnZleSBvbiBtYXN0ZXIgc3RhdHVzLgogICAgICAgIG15ICRTdGF0dXNTZXQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlTdGF0dXNTZXQoCiAgICAgICAgICAgIFN1cnZleUlEICA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIE5ld1N0YXR1cyA9PiAnTWFzdGVyJywKICAgICAgICApOwoKICAgICAgICBteSAkVGlja2V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldCcpOwogICAgICAgIG15ICREQk9iamVjdCAgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAgICAgbXkgJEFydGljbGVJbnRlcm5hbEJhY2tlbmRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0OjpBcnRpY2xlJyktPkJhY2tlbmRGb3JDaGFubmVsKAogICAgICAgICAgICBDaGFubmVsTmFtZSA9PiAnSW50ZXJuYWwnLAogICAgICAgICk7CgogICAgICAgIG15ICRTY3JpcHRBbGlhcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2NyaXB0QWxpYXMnKTsKCiAgICAgICAgbXkgQFRpY2tldE51bWJlcnM7CiAgICAgICAgbXkgQFRpY2tldElEczsKICAgICAgICBmb3IgbXkgJENvdW50ICggMSAuLiAzICkgewoKICAgICAgICAgICAgIyBDcmVhdGUgdGVzdCB0aWNrZXQuCiAgICAgICAgICAgIG15ICRUaWNrZXROdW1iZXIgPSAkVGlja2V0T2JqZWN0LT5UaWNrZXRDcmVhdGVOdW1iZXIoKTsKICAgICAgICAgICAgbXkgJFRpY2tldElEICAgICA9ICRUaWNrZXRPYmplY3QtPlRpY2tldENyZWF0ZSgKICAgICAgICAgICAgICAgIFROICAgICAgICAgICA9PiAkVGlja2V0TnVtYmVyLAogICAgICAgICAgICAgICAgVGl0bGUgICAgICAgID0+ICJTZWxlbml1bSBUZXN0IFRpY2tldCIsCiAgICAgICAgICAgICAgICBRdWV1ZSAgICAgICAgPT4gJ1JhdycsCiAgICAgICAgICAgICAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgICAgICBQcmlvcml0eSAgICAgPT4gJzMgbm9ybWFsJywKICAgICAgICAgICAgICAgIFN0YXRlICAgICAgICA9PiAnbmV3JywKICAgICAgICAgICAgICAgIEN1c3RvbWVySUQgICA9PiAnU2VsZW5pdW1DdXN0b21lcicsCiAgICAgICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJ3Rlc3RAbG9jYWxob3N0LmNvbScsCiAgICAgICAgICAgICAgICBPd25lcklEICAgICAgPT4gMSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgICAgICApOwogICAgICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgICAgICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgICJUaWNrZXQgSUQgJFRpY2tldElEIGlzIGNyZWF0ZWQiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHB1c2ggQFRpY2tldElEcywgICAgICRUaWNrZXRJRDsKICAgICAgICAgICAgcHVzaCBAVGlja2V0TnVtYmVycywgJFRpY2tldE51bWJlcjsKCiAgICAgICAgICAgICMgQWRkIGFydGljbGUgdG8gdGVzdCB0aWNrZXQuCiAgICAgICAgICAgIG15ICRBcnRpY2xlSUQgPSAkQXJ0aWNsZUludGVybmFsQmFja2VuZE9iamVjdC0+QXJ0aWNsZUNyZWF0ZSgKICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgICAgICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIElzVmlzaWJsZUZvckN1c3RvbWVyID0+IDAsCiAgICAgICAgICAgICAgICBTZW5kZXJUeXBlICAgICAgICAgICA9PiAnYWdlbnQnLAogICAgICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgPT4gJ1NvbWUgQWdlbnQgPGVtYWlsQGV4YW1wbGUuY29tPicsCiAgICAgICAgICAgICAgICBUbyAgICAgICAgICAgICAgICAgICA9PiAnQ3VzdG9tZXI8Y3VzdG9tZXItYUBleGFtcGxlLmNvbT4nLAogICAgICAgICAgICAgICAgQ2MgICAgICAgICAgICAgICAgICAgPT4gJ0N1c3RvbWVyPGN1c3RvbWVyLWJAZXhhbXBsZS5jb20+JywKICAgICAgICAgICAgICAgIFJlcGx5VG8gICAgICAgICAgICAgID0+ICdDdXN0b21lciBCIDxjdXN0b21lci1iQGV4YW1wbGUuY29tPicsCiAgICAgICAgICAgICAgICBTdWJqZWN0ICAgICAgICAgICAgICA9PiAnc29tZSBzaG9ydCBkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICBCb2R5ICAgICAgICAgICAgICAgICA9PiAndGhlIG1lc3NhZ2UgdGV4dCBQZXJsIG1vZHVsZXMgcHJvdmlkZSBhIHJhbmdlIG9mJywKICAgICAgICAgICAgICAgIENvbnRlbnRUeXBlICAgICAgICAgID0+ICd0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTE1JywKICAgICAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgICAgICAgID0+ICdPd25lclVwZGF0ZScsCiAgICAgICAgICAgICAgICBIaXN0b3J5Q29tbWVudCAgICAgICA9PiAnU29tZSBmcmVlIHRleHQhJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBOb0FnZW50Tm90aWZ5ICAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgICAgICAgPT4gJ3V0ZjgnLAogICAgICAgICAgICAgICAgTWltZVR5cGUgICAgICAgICAgICAgPT4gJ3RleHQvcGxhaW4nLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICAgICAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAiQXJ0aWNsZSBJRCAkQXJ0aWNsZUlEIGlzIGNyZWF0ZWQiCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIFNlbmQgc3VydmV5IHJlcXVlc3QuCiAgICAgICAgICAgIG15ICRSZXF1ZXN0ID0gJFN1cnZleU9iamVjdC0+UmVxdWVzdFNlbmQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgICAgICRSZXF1ZXN0LAogICAgICAgICAgICAgICAgJ1N1cnZleSByZXF1ZXN0IGlzIHNlbnQnCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIEdldCBwdWJsaWMgc3VydmV5IGtleSBmcm9tIHRlc3Qgc3VydmV5IHJlcXVlc3QuCiAgICAgICAgICAgICREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICAgICAgICAgIFNRTCAgPT4gIlNFTEVDVCBwdWJsaWNfc3VydmV5X2tleSBGUk9NIHN1cnZleV9yZXF1ZXN0IFdIRVJFIHN1cnZleV9pZCA9ID8gQU5EIHRpY2tldF9pZCA9ID8iLAogICAgICAgICAgICAgICAgQmluZCA9PiBbIFwkU3VydmV5SUQsIFwkVGlja2V0SUQgXSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgbXkgJFB1YmxpY1N1cnZleUtleTsKICAgICAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgICAgICAgICAkUHVibGljU3VydmV5S2V5ID0gJFJvd1swXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBDcmVhdGUgcHVibGljIGFuc3dlciB2b3Rlcy4KICAgICAgICAgICAgaWYgKCAkQ291bnQgPT0gJzEnICkgewoKICAgICAgICAgICAgICAgICMgTmF2aWdhdGUgdG8gcHVibGljIHBhZ2Ugb2YgY3JlYXRlZCB0ZXN0IHN1cnZleSBhbmQgYWRkIHB1YmxpYyBhbnN3ZXIgdmlhIGZyb250ZW5kLgogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZEdldCgiJHtTY3JpcHRBbGlhc31wdWJsaWMucGw/QWN0aW9uPVB1YmxpY1N1cnZleTtQdWJsaWNTdXJ2ZXlLZXk9JFB1YmxpY1N1cnZleUtleSIpOwoKICAgICAgICAgICAgICAgICMgU2VsZWN0ICdZZXMnIGFzIGFuIGFuc3dlci4KICAgICAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2lucHV0W1xAdmFsdWU9J1llcyddW1xAdHlwZT0ncmFkaW8nXSIpLT5jbGljaygpOwogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKAogICAgICAgICAgICAgICAgICAgIEphdmFTY3JpcHQgPT4KICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiB0eXBlb2YoXCQpID09PSAnZnVuY3Rpb24nICYmIFwkKCdpbnB1dFt2YWx1ZT1ZZXNdW3R5cGU9cmFkaW9dOmNoZWNrZWQnKS5sZW5ndGgiCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2J1dHRvbltcQHZhbHVlPSdGaW5pc2gnXVtcQHR5cGU9J3N1Ym1pdCddIiktPlZlcmlmaWVkQ2xpY2soKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBBZGQgcHVibGljIHZvdGUgdmlhIGJhY2tlbmQuCiAgICAgICAgICAgIGVsc2UgewoKICAgICAgICAgICAgICAgICMgU2xlZXAgb25lIHNlY29uZCBiZXR3ZWVuIHB1YmxpYyBhbnN3ZXIuCiAgICAgICAgICAgICAgICBzbGVlcCAxOwoKICAgICAgICAgICAgICAgICRTdXJ2ZXlPYmplY3QtPlB1YmxpY0Fuc3dlclNldCgKICAgICAgICAgICAgICAgICAgICBQdWJsaWNTdXJ2ZXlLZXkgPT4gJFB1YmxpY1N1cnZleUtleSwKICAgICAgICAgICAgICAgICAgICBRdWVzdGlvbklEICAgICAgPT4gJFF1ZXN0aW9uSUQsCiAgICAgICAgICAgICAgICAgICAgVm90ZVZhbHVlICAgICAgID0+ICdZZXMnLAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAkU3VydmV5T2JqZWN0LT5QdWJsaWNTdXJ2ZXlJbnZhbGlkU2V0KAogICAgICAgICAgICAgICAgICAgIFB1YmxpY1N1cnZleUtleSA9PiAkUHVibGljU3VydmV5S2V5LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBDcmVhdGUgdGVzdCB1c2VyIGFuZCBsb2dpbi4KICAgICAgICBteSAkVGVzdFVzZXJMb2dpbiA9ICRIZWxwZXItPlRlc3RVc2VyQ3JlYXRlKAogICAgICAgICAgICBHcm91cHMgPT4gWyAnYWRtaW4nLCAndXNlcnMnIF0sCiAgICAgICAgKSB8fCBkaWUgIkRpZCBub3QgZ2V0IHRlc3QgdXNlciI7CgogICAgICAgICRTZWxlbml1bS0+TG9naW4oCiAgICAgICAgICAgIFR5cGUgICAgID0+ICdBZ2VudCcsCiAgICAgICAgICAgIFVzZXIgICAgID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICAgICBQYXNzd29yZCA9PiAkVGVzdFVzZXJMb2dpbiwKICAgICAgICApOwoKICAgICAgICAjIE5hdmlnYXRlIHRvIHpvb20gc2NyZWVuIG9mIGNyZWF0ZWQgdGVzdCBzdXJ2ZXkuCiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZEdldCgiJHtTY3JpcHRBbGlhc31pbmRleC5wbD9BY3Rpb249QWdlbnRTdXJ2ZXlab29tO1N1cnZleUlEPSRTdXJ2ZXlJRCIpOwoKICAgICAgICAjIENsaWNrIG9uIHN1cnZleSAnU3RhdHMgRGV0YWlscycgYW5kIHN3aXRjaCB3aW5kb3cuCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjTWVudTAzMC1TdGF0c0RldGFpbHMiLCAnY3NzJyApLT5jbGljaygpOwoKICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3IoIFdpbmRvd0NvdW50ID0+IDIgKTsKICAgICAgICBteSAkSGFuZGxlcyA9ICRTZWxlbml1bS0+Z2V0X3dpbmRvd19oYW5kbGVzKCk7CiAgICAgICAgJFNlbGVuaXVtLT5zd2l0Y2hfdG9fd2luZG93KCAkSGFuZGxlcy0+WzFdICk7CgogICAgICAgICMgV2FpdCB1bnRpbCBkZXRhaWxzIGFyZSBwcmVzZW50LgogICAgICAgICRTZWxlbml1bS0+V2FpdEZvciggSmF2YVNjcmlwdCA9PiAncmV0dXJuIHR5cGVvZigkKSA9PT0gImZ1bmN0aW9uIiAmJiAkKCIuU2VlRGV0YWlscyIpLmxlbmd0aCcgKTsKCiAgICAgICAgIyBDaGVjayBzY3JlZW4uCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICJ0YWJsZSIsICAgICAgICAgICAgICdjc3MnICk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICJ0YWJsZSB0aGVhZCB0ciB0aCIsICdjc3MnICk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICJ0YWJsZSB0Ym9keSB0ciB0ZCIsICdjc3MnICk7CgogICAgICAgICMgVmVyaWZ5IHN0YXRzIGFyZSBwcmVzZW50IGZvciBhbGwgdGlja2V0cy4KICAgICAgICBmb3IgbXkgJFRpY2tldE51bWJlciAoQFRpY2tldE51bWJlcnMpIHsKICAgICAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICAgICBpbmRleCggJFNlbGVuaXVtLT5nZXRfcGFnZV9zb3VyY2UoKSwgJFRpY2tldE51bWJlciApID4gLTEsCiAgICAgICAgICAgICAgICAiVGlja2V0IG51bWJlciAkVGlja2V0TnVtYmVyIGlzIGZvdW5kIgogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBDbGljayB0byBzZWUgZGV0YWlscyBvZiBzdXJ2ZXkuCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoIi8vYVtjb250YWlucyhcQGhyZWYsICdUaWNrZXROdW1iZXI9JFRpY2tldE51bWJlcnNbMl0nICldIiktPmNsaWNrKCk7CiAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKCBKYXZhU2NyaXB0ID0+ICJyZXR1cm4gXCQoJy5IZWFkZXIgaDE6Y29udGFpbnMoJFRpY2tldE51bWJlcnNbMl0pJykubGVuZ3RoIiApOwoKICAgICAgICAjIFZlcmlmeSBxdWVzdGlvbiB2YWx1ZXMuCiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgIGluZGV4KCAkU2VsZW5pdW0tPmdldF9wYWdlX3NvdXJjZSgpLCAkUXVlc3Rpb25OYW1lICkgPiAtMSwKICAgICAgICAgICAgIiRRdWVzdGlvbk5hbWUgaXMgZm91bmQiCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgaW5kZXgoICRTZWxlbml1bS0+Z2V0X3BhZ2Vfc291cmNlKCksICdZZXMnICkgPiAtMSwKICAgICAgICAgICAgIkFuc3dlciAnWWVzJyBpcyBmb3VuZCIKICAgICAgICApOwoKICAgICAgICAjIENoZWNrIGlmICdQcmV2aW91cyBWb3RlJyBleGlzdHMuCiAgICAgICAgJFNlbGYtPkZhbHNlKAogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCJyZXR1cm4gXCQoJy5TdXJ2ZXlBcnJvd0xlZnQnKS5sZW5ndGgiKSwKICAgICAgICAgICAgIidQcmV2aW91cyBWb3RlJyBpcyBub3QgZm91bmQgZm9yIGZpcnN0IGFuc3dlciIKICAgICAgICApOwoKICAgICAgICAjIENoZWNrIGlmICdOZXh0IFZvdGUnIGV4aXN0cy4KICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgicmV0dXJuIFwkKCcuU3VydmV5QXJyb3dSaWdodCcpLmxlbmd0aCIpLAogICAgICAgICAgICAiJ05leHQgVm90ZScgaXMgZm91bmQgZm9yIGZpcnN0IGFuc3dlciIKICAgICAgICApOwoKICAgICAgICAjIENsaWNrIG9uIHRoZSAnTmV4dCBWb3RlJyBsaW5rLgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2FbY29udGFpbnMoXEBocmVmLCAnVGlja2V0TnVtYmVyPSRUaWNrZXROdW1iZXJzWzFdJyApXSIpLT5jbGljaygpOwogICAgICAgICRTZWxlbml1bS0+V2FpdEZvciggSmF2YVNjcmlwdCA9PiAicmV0dXJuIFwkKCcuSGVhZGVyIGgxOmNvbnRhaW5zKCRUaWNrZXROdW1iZXJzWzFdKScpLmxlbmd0aCIgKTsKCiAgICAgICAgIyBDaGVjayBpZiB0aWNrZXQgbnVtYmVyIGlzIGNvcnJlY3QsIGFuZCBsaW5rcyB0byAnUHJldmlvdXMgVm90ZScgYW5kICdOZXh0IFZvdGUnIGV4aXN0LgogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICBpbmRleCggJFNlbGVuaXVtLT5nZXRfcGFnZV9zb3VyY2UoKSwgIiRUaWNrZXROdW1iZXJzWzFdIiApID4gLTEsCiAgICAgICAgICAgICJUaWNrZXQgbnVtYmVyICRUaWNrZXROdW1iZXJzWzFdIGlzIGZvdW5kIgogICAgICAgICk7CgogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCJyZXR1cm4gXCQoJy5TdXJ2ZXlBcnJvd0xlZnQnKS5sZW5ndGgiKSwKICAgICAgICAgICAgIidQcmV2aW91cyBWb3RlJyBpcyBmb3VuZCBmb3Igc2Vjb25kIGFuc3dlciIKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCJyZXR1cm4gXCQoJy5TdXJ2ZXlBcnJvd1JpZ2h0JykubGVuZ3RoIiksCiAgICAgICAgICAgICInTmV4dCBWb3RlJyBpcyBmb3VuZCBmb3Igc2Vjb25kIGFuc3dlciIKICAgICAgICApOwoKICAgICAgICAjIEdvIHRvIG5leHQgdm90ZS4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9hW2NvbnRhaW5zKFxAaHJlZiwgJ1RpY2tldE51bWJlcj0kVGlja2V0TnVtYmVyc1swXScgKV0iKS0+Y2xpY2soKTsKICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3IoIEphdmFTY3JpcHQgPT4gInJldHVybiBcJCgnLkhlYWRlciBoMTpjb250YWlucygkVGlja2V0TnVtYmVyc1swXSknKS5sZW5ndGgiICk7CgogICAgICAgICMgQ2hlY2sgaWYgdGlja2V0IG51bWJlciBpcyBjb3JyZWN0LCAnUHJldmlvdXMgVm90ZScgZXhpc3RzIGFuZCAnTmV4dCBWb3RlJyBkb2VzIG5vdCBleGlzdC4KICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgaW5kZXgoICRTZWxlbml1bS0+Z2V0X3BhZ2Vfc291cmNlKCksICIkVGlja2V0TnVtYmVyc1swXSIgKSA+IC0xLAogICAgICAgICAgICAiVGlja2V0IG51bWJlciAkVGlja2V0TnVtYmVyc1swXSBpcyBmb3VuZCIKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCJyZXR1cm4gXCQoJy5TdXJ2ZXlBcnJvd0xlZnQnKS5sZW5ndGgiKSwKICAgICAgICAgICAgIidQcmV2aW91cyBWb3RlJyBpcyBmb3VuZCBmb3IgdGhpcmQgYW5zd2VyIgogICAgICAgICk7CiAgICAgICAgJFNlbGYtPkZhbHNlKAogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCJyZXR1cm4gXCQoJy5TdXJ2ZXlBcnJvd1JpZ2h0JykubGVuZ3RoIiksCiAgICAgICAgICAgICInTmV4dCBWb3RlJyBpcyBub3QgZm91bmQgZm9yIHRoaXJkIGFuc3dlciIKICAgICAgICApOwoKICAgICAgICAjIERlZmluZSBkYXRhIGZvciBjbGVhbnVwLgogICAgICAgIG15IEBDbGVhbkRhdGEgPSAoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgID0+ICdRdWV1ZScsCiAgICAgICAgICAgICAgICBUYWJsZSA9PiAnc3VydmV5X3F1ZXVlJywKICAgICAgICAgICAgICAgIFNRTElEID0+ICdzdXJ2ZXlfaWQnLAogICAgICAgICAgICAgICAgSUQgICAgPT4gJFN1cnZleUlELAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICA9PiAnQW5zd2VyJywKICAgICAgICAgICAgICAgIFRhYmxlID0+ICdzdXJ2ZXlfYW5zd2VyJywKICAgICAgICAgICAgICAgIFNRTElEID0+ICdxdWVzdGlvbl9pZCcsCiAgICAgICAgICAgICAgICBJRCAgICA9PiAkUXVlc3Rpb25JRCwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJ1F1ZXN0aW9uJywKICAgICAgICAgICAgICAgIFRhYmxlID0+ICdzdXJ2ZXlfcXVlc3Rpb24nLAogICAgICAgICAgICAgICAgU1FMSUQgPT4gJ3N1cnZleV9pZCcsCiAgICAgICAgICAgICAgICBJRCAgICA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgID0+ICdSZXF1ZXN0JywKICAgICAgICAgICAgICAgIFRhYmxlID0+ICdzdXJ2ZXlfcmVxdWVzdCcsCiAgICAgICAgICAgICAgICBTUUxJRCA9PiAnc3VydmV5X2lkJywKICAgICAgICAgICAgICAgIElEICAgID0+ICRTdXJ2ZXlJRCwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJ1ZvdGUnLAogICAgICAgICAgICAgICAgVGFibGUgPT4gJ3N1cnZleV92b3RlJywKICAgICAgICAgICAgICAgIFNRTElEID0+ICdxdWVzdGlvbl9pZCcsCiAgICAgICAgICAgICAgICBJRCAgICA9PiAkUXVlc3Rpb25JRCwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJ1N1cnZleScsCiAgICAgICAgICAgICAgICBUYWJsZSA9PiAnc3VydmV5JywKICAgICAgICAgICAgICAgIFNRTElEID0+ICdpZCcsCiAgICAgICAgICAgICAgICBJRCAgICA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBEZWxldGUgY3JlYXRlZCB0ZXN0IHRpY2tldHMuCiAgICAgICAgbXkgJFN1Y2Nlc3M7CiAgICAgICAgZm9yIG15ICRUaWNrZXRJRCAoQFRpY2tldElEcykgewogICAgICAgICAgICAkU3VjY2VzcyA9ICRUaWNrZXRPYmplY3QtPlRpY2tldERlbGV0ZSgKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+IDEsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICAgICAiVGlja2V0SUQgJFRpY2tldElEIGlzIGRlbGV0ZWQiCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIERlbGV0ZSB0ZXN0IHN1cnZleSBkYXRhIGZyb20gREIuCiAgICAgICAgZm9yIG15ICREZWxldGUgKEBDbGVhbkRhdGEpIHsKICAgICAgICAgICAgJFN1Y2Nlc3MgPSAkREJPYmplY3QtPkRvKAogICAgICAgICAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gJERlbGV0ZS0+e1RhYmxlfSBXSEVSRSAkRGVsZXRlLT57U1FMSUR9ID0gPyIsCiAgICAgICAgICAgICAgICBCaW5kID0+IFsgXCIkRGVsZXRlLT57SUR9IiBdLAogICAgICAgICAgICApOwogICAgICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAgICAgIiREZWxldGUtPntOYW1lfSBmb3IgJFN1cnZleVRpdGxlIGlzIGRlbGV0ZWQiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KKTsKCjE7Cg==</File>
        <File Location="scripts/test/Selenium/Output/SurveyMenu/Generic.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKIyBnZXQgc2VsZW5pdW0gb2JqZWN0Cm15ICRTZWxlbml1bSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6U2VsZW5pdW0nKTsKCiRTZWxlbml1bS0+UnVuVGVzdCgKICAgIHN1YiB7CgogICAgICAgICMgZ2V0IGhlbHBlciBvYmplY3QKICAgICAgICBteSAkSGVscGVyID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCiAgICAgICAgIyBjcmVhdGUgdGVzdCBzdXJ2ZXkKICAgICAgICBteSAkU3VydmV5VGl0bGUgPSAnU3VydmV5ICcgLiAkSGVscGVyLT5HZXRSYW5kb21JRCgpOwogICAgICAgIG15ICRTdXJ2ZXlJRCAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKS0+U3VydmV5QWRkKAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIFRpdGxlICAgICAgICAgICAgICAgPT4gJFN1cnZleVRpdGxlLAogICAgICAgICAgICBJbnRyb2R1Y3Rpb24gICAgICAgID0+ICdTdXJ2ZXkgSW50cm9kdWN0aW9uJywKICAgICAgICAgICAgRGVzY3JpcHRpb24gICAgICAgICA9PiAnU3VydmV5IERlc2NyaXB0aW9uJywKICAgICAgICAgICAgTm90aWZpY2F0aW9uU2VuZGVyICA9PiAnc3Zpa0BleGFtcGxlLmNvbScsCiAgICAgICAgICAgIE5vdGlmaWNhdGlvblN1YmplY3QgPT4gJ1N1cnZleSBOb3RpZmljYXRpb24gU3ViamVjdCcsCiAgICAgICAgICAgIE5vdGlmaWNhdGlvbkJvZHkgICAgPT4gJ1N1cnZleSBOb3RpZmljYXRpb24gQm9keScsCiAgICAgICAgICAgIFF1ZXVlcyAgICAgICAgICAgICAgPT4gWzJdLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdXJ2ZXlJRCwKICAgICAgICAgICAgIlN1cnZleSBJRCAkU3VydmV5SUQgaXMgY3JlYXRlZCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBjcmVhdGUgdGVzdCB1c2VyIGFuZCBsb2dpbgogICAgICAgIG15ICRUZXN0VXNlckxvZ2luID0gJEhlbHBlci0+VGVzdFVzZXJDcmVhdGUoCiAgICAgICAgICAgIEdyb3VwcyA9PiBbICdhZG1pbicsICd1c2VycycgXSwKICAgICAgICApIHx8IGRpZSAiRGlkIG5vdCBnZXQgdGVzdCB1c2VyIjsKCiAgICAgICAgJFNlbGVuaXVtLT5Mb2dpbigKICAgICAgICAgICAgVHlwZSAgICAgPT4gJ0FnZW50JywKICAgICAgICAgICAgVXNlciAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICk7CgogICAgICAgICMgZ2V0IHNjcmlwdCBhbGlhcwogICAgICAgIG15ICRTY3JpcHRBbGlhcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2NyaXB0QWxpYXMnKTsKCiAgICAgICAgIyBuYXZpZ2F0ZSB0byBBZ2VudFN1cnZleVpvb20gb2YgY3JlYXRlZCB0ZXN0IHN1cnZleQogICAgICAgICRTZWxlbml1bS0+VmVyaWZpZWRHZXQoIiR7U2NyaXB0QWxpYXN9aW5kZXgucGw/QWN0aW9uPUFnZW50U3VydmV5Wm9vbTtTdXJ2ZXlJRD0kU3VydmV5SUQiKTsKCiAgICAgICAgIyBjcmVhdGUgbWVudSBtb2R1bGUgdGVzdCBwYXJhbXMKICAgICAgICBteSBATWVudU1vZHVsZSA9ICgKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSA9PiAiQmFjayIsCiAgICAgICAgICAgICAgICBJRCAgID0+ICJNZW51MDAwLUJhY2siLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lID0+ICJFZGl0IEdlbmVyYWwgSW5mbyIsCiAgICAgICAgICAgICAgICBJRCAgID0+ICJNZW51MDEwLUVkaXRHZW5lcmFsSW5mbyIsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgPT4gIkVkaXQgUXVlc3Rpb25zIiwKICAgICAgICAgICAgICAgIElEICAgPT4gIk1lbnUwMjAtRWRpdFF1ZXN0aW9ucyIsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgPT4gIkNoYW5nZSBTdGF0dXMiLAogICAgICAgICAgICAgICAgSUQgICA9PiAiTmV3U3RhdHVzIiwKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIGNoZWNrIHN1cnZleSBtZW51IG1vZHVsZXMKICAgICAgICBmb3IgbXkgJFN1cnZleU1lbnUgKEBNZW51TW9kdWxlKSB7CiAgICAgICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJFN1cnZleU1lbnUtPntJRH0iLCAnY3NzJyApLAogICAgICAgICAgICAgICAgIlN1cnZleSBtZW51ICRTdXJ2ZXlNZW51LT57TmFtZX0gaXMgZm91bmQiCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIGdldCBEQiBvYmplY3QKICAgICAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAgICAgIyBjbGVhbi11cCB0ZXN0IGNyZWF0ZWQgc3VydmV5IGRhdGEKICAgICAgICBteSAkU3VjY2VzcyA9ICREQk9iamVjdC0+RG8oCiAgICAgICAgICAgIFNRTCAgPT4gIkRFTEVURSBGUk9NIHN1cnZleV9xdWV1ZSBXSEVSRSBzdXJ2ZXlfaWQgPSA/IiwKICAgICAgICAgICAgQmluZCA9PiBbIFwkU3VydmV5SUQgXSwKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU3VjY2VzcywKICAgICAgICAgICAgIlN1cnZleS1RdWV1ZSBmb3IgJFN1cnZleVRpdGxlIGlzIGRlbGV0ZWQiLAogICAgICAgICk7CgogICAgICAgICMgZGVsZXRlIHRlc3QgY3JlYXRlZCBzdXJ2ZXkKICAgICAgICAkU3VjY2VzcyA9ICREQk9iamVjdC0+RG8oCiAgICAgICAgICAgIFNRTCAgPT4gIkRFTEVURSBGUk9NIHN1cnZleSBXSEVSRSBpZCA9ID8iLAogICAgICAgICAgICBCaW5kID0+IFsgXCRTdXJ2ZXlJRCBdLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAiJFN1cnZleVRpdGxlIGlzIGRlbGV0ZWQiLAogICAgICAgICk7CiAgICB9Cik7CgoxOwo=</File>
        <File Location="scripts/test/Selenium/Output/SurveyOverview/Small.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKIyBnZXQgc2VsZW5pdW0gb2JqZWN0Cm15ICRTZWxlbml1bSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6U2VsZW5pdW0nKTsKCiRTZWxlbml1bS0+UnVuVGVzdCgKICAgIHN1YiB7CgogICAgICAgICMgZ2V0IGhlbHBlciBvYmplY3QKICAgICAgICBteSAkSGVscGVyID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCiAgICAgICAgIyBjcmVhdGUgdGVzdCBzdXJ2ZXkKICAgICAgICBteSAkU3VydmV5VGl0bGUgPSAnU3VydmV5ICcgLiAkSGVscGVyLT5HZXRSYW5kb21JRCgpOwogICAgICAgIG15ICRTdXJ2ZXlJRCAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdXJ2ZXknKS0+U3VydmV5QWRkKAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIFRpdGxlICAgICAgICAgICAgICAgPT4gJFN1cnZleVRpdGxlLAogICAgICAgICAgICBJbnRyb2R1Y3Rpb24gICAgICAgID0+ICdTdXJ2ZXkgSW50cm9kdWN0aW9uJywKICAgICAgICAgICAgRGVzY3JpcHRpb24gICAgICAgICA9PiAnU3VydmV5IERlc2NyaXB0aW9uJywKICAgICAgICAgICAgTm90aWZpY2F0aW9uU2VuZGVyICA9PiAnc3Zpa0BleGFtcGxlLmNvbScsCiAgICAgICAgICAgIE5vdGlmaWNhdGlvblN1YmplY3QgPT4gJ1N1cnZleSBOb3RpZmljYXRpb24gU3ViamVjdCcsCiAgICAgICAgICAgIE5vdGlmaWNhdGlvbkJvZHkgICAgPT4gJ1N1cnZleSBOb3RpZmljYXRpb24gQm9keScsCiAgICAgICAgICAgIFF1ZXVlcyAgICAgICAgICAgICAgPT4gWzJdLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdXJ2ZXlJRCwKICAgICAgICAgICAgIlN1cnZleSBJRCAkU3VydmV5SUQgaXMgY3JlYXRlZCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBjcmVhdGUgdGVzdCB1c2VyIGFuZCBsb2dpbgogICAgICAgIG15ICRUZXN0VXNlckxvZ2luID0gJEhlbHBlci0+VGVzdFVzZXJDcmVhdGUoCiAgICAgICAgICAgIEdyb3VwcyA9PiBbICdhZG1pbicsICd1c2VycycgXSwKICAgICAgICApIHx8IGRpZSAiRGlkIG5vdCBnZXQgdGVzdCB1c2VyIjsKCiAgICAgICAgJFNlbGVuaXVtLT5Mb2dpbigKICAgICAgICAgICAgVHlwZSAgICAgPT4gJ0FnZW50JywKICAgICAgICAgICAgVXNlciAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICk7CgogICAgICAgICMgZ2V0IHNjcmlwdCBhbGlhcwogICAgICAgIG15ICRTY3JpcHRBbGlhcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2NyaXB0QWxpYXMnKTsKCiAgICAgICAgIyBuYXZpZ2F0ZSB0byBBZ2VudFN1cnZleU92ZXJ2aWV3IG9mIGNyZWF0ZWQgdGVzdCBzdXJ2ZXkKICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkR2V0KCIke1NjcmlwdEFsaWFzfWluZGV4LnBsP0FjdGlvbj1BZ2VudFN1cnZleU92ZXJ2aWV3O1N1cnZleUlEPSRTdXJ2ZXlJRCIpOwoKICAgICAgICAjIGNoZWNrIG92ZXJ2aWV3IHNjcmVlbgogICAgICAgIGZvciBteSAkQ29sdW1ucyAoICdTdXJ2ZXkjJywgJ1RpdGxlJywgJ1N0YXR1cycsICdDcmVhdGVkJyApIHsKICAgICAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICAgICBpbmRleCggJFNlbGVuaXVtLT5nZXRfcGFnZV9zb3VyY2UoKSwgJENvbHVtbnMgKSA+IC0xLAogICAgICAgICAgICAgICAgIkNvbHVtbiAkQ29sdW1ucyBpcyBmb3VuZCIsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIGZvciB0ZXN0IGNyZWF0ZWQgc3VydmV5CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgIGluZGV4KCAkU2VsZW5pdW0tPmdldF9wYWdlX3NvdXJjZSgpLCAiJFN1cnZleVRpdGxlIiApID4gLTEsCiAgICAgICAgICAgICIkU3VydmV5VGl0bGUgaXMgZm91bmQiLAogICAgICAgICk7CgogICAgICAgICMgZ2V0IERCIG9iamVjdAogICAgICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICAgICAjIGNsZWFuLXVwIHRlc3QgY3JlYXRlZCBzdXJ2ZXkgZGF0YQogICAgICAgIG15ICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gc3VydmV5X3F1ZXVlIFdIRVJFIHN1cnZleV9pZCA9ID8iLAogICAgICAgICAgICBCaW5kID0+IFsgXCRTdXJ2ZXlJRCBdLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAiU3VydmV5LVF1ZXVlIGZvciAkU3VydmV5VGl0bGUgaXMgZGVsZXRlZCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBkZWxldGUgdGVzdCBjcmVhdGVkIHN1cnZleQogICAgICAgICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gc3VydmV5IFdIRVJFIGlkID0gPyIsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFN1cnZleUlEIF0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICIkU3VydmV5VGl0bGUgaXMgZGVsZXRlZCIsCiAgICAgICAgKTsKICAgIH0KKTsKCjE7Cg==</File>
        <File Location="scripts/test/Selenium/Public/PublicSurvey.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjUgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwp1c2UgS2VybmVsOjpTeXN0ZW06OlZhcmlhYmxlQ2hlY2sgcXcoSXNBcnJheVJlZldpdGhEYXRhKTsKCm15ICRTZWxlbml1bSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6U2VsZW5pdW0nKTsKCiRTZWxlbml1bS0+UnVuVGVzdCgKICAgIHN1YiB7CgogICAgICAgIG15ICRIZWxwZXIgICAgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OkhlbHBlcicpOwogICAgICAgIG15ICRTdXJ2ZXlPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3VydmV5Jyk7CiAgICAgICAgbXkgJERCT2JqZWN0ICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwogICAgICAgIG15ICRUaWNrZXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0Jyk7CgogICAgICAgICMgRG8gbm90IHJlYWxseSBzZW5kIGVtYWlscy4KICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICBLZXkgICA9PiAnU2VuZG1haWxNb2R1bGUnLAogICAgICAgICAgICBWYWx1ZSA9PiAnS2VybmVsOjpTeXN0ZW06OkVtYWlsOjpEb05vdFNlbmRFbWFpbCcsCiAgICAgICAgKTsKCiAgICAgICAgIyBEbyBub3QgY2hlY2sgZW1haWwgYWRkcmVzc2VzIGluIHRoaXMgdGVzdC4KICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICBLZXkgICA9PiAnQ2hlY2tFbWFpbEFkZHJlc3NlcycsCiAgICAgICAgICAgIFZhbHVlID0+IDAsCiAgICAgICAgKTsKCiAgICAgICAgIyBTZXQgc2VuZCBwZXJpb2QgdG8gYWx3YXlzIHNlbmQgc3VydmV5LgogICAgICAgICRIZWxwZXItPkNvbmZpZ1NldHRpbmdDaGFuZ2UoCiAgICAgICAgICAgIEtleSAgID0+ICdTdXJ2ZXk6OlNlbmRQZXJpb2QnLAogICAgICAgICAgICBWYWx1ZSA9PiAwLAogICAgICAgICk7CgogICAgICAgICMgU2V0IG5vIHNlbmQgY29uZGl0aW9uIGNoZWNrIGluIG5vcm1hbCB0ZXN0cy4KICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICBLZXkgICA9PiAnU3VydmV5OjpDaGVja1NlbmRDb25kaXRpb25UaWNrZXRUeXBlJywKICAgICAgICAgICAgVmFsdWUgPT4gMCwKICAgICAgICApOwoKICAgICAgICAjIERvIG5vdCBjaGVjayBSaWNoVGV4dC4KICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICBLZXkgICA9PiAnRnJvbnRlbmQ6OlJpY2hUZXh0JywKICAgICAgICAgICAgVmFsdWUgPT4gMCwKICAgICAgICApOwoKICAgICAgICAjIENyZWF0ZSB0ZXN0IHN1cnZleS4KICAgICAgICBteSAkU3VydmV5SW50cm9kdWN0aW9uID0gJ1N1cnZleSBJbnRyb2R1Y3Rpb24nLAogICAgICAgICAgICBteSAkU3VydmV5RGVzY3JpcHRpb24gPSAnU3VydmV5IERlc2NyaXB0aW9uJywKICAgICAgICAgICAgbXkgJFN1cnZleVRpdGxlID0gJ1N1cnZleSAnIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICBteSAkU3VydmV5SUQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlBZGQoCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgICAgICA9PiAkU3VydmV5VGl0bGUsCiAgICAgICAgICAgIEludHJvZHVjdGlvbiAgICAgICAgPT4gJFN1cnZleUludHJvZHVjdGlvbiwKICAgICAgICAgICAgRGVzY3JpcHRpb24gICAgICAgICA9PiAkU3VydmV5RGVzY3JpcHRpb24sCiAgICAgICAgICAgIE5vdGlmaWNhdGlvblNlbmRlciAgPT4gJ3F1YWxpdHlAdW5pdHRlc3QuY29tJywKICAgICAgICAgICAgTm90aWZpY2F0aW9uU3ViamVjdCA9PiAnU3VydmV5IE5vdGlmaWNhdGlvbiBTdWJqZWN0JywKICAgICAgICAgICAgTm90aWZpY2F0aW9uQm9keSAgICA9PiAnU3VydmV5IE5vdGlmaWNhdGlvbiBCb2R5JywKICAgICAgICAgICAgUXVldWVzICAgICAgICAgICAgICA9PiBbMl0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1cnZleUlELAogICAgICAgICAgICAiU3VydmV5IElEICRTdXJ2ZXlJRCBpcyBjcmVhdGVkIiwKICAgICAgICApOwoKICAgICAgICAjIEdldCBxdWVzdGlvbiBkYXRhLgogICAgICAgIG15IEBRdWVzdGlvbkRhdGEgPSAoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFR5cGUgPT4gJ1llc05vJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgVHlwZSAgID0+ICdSYWRpbycsCiAgICAgICAgICAgICAgICBBbnN3ZXIgPT4gWyAiUmFkaW9PbmUiLCAiUmFkaW9Ud28iIF0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFR5cGUgICA9PiAnQ2hlY2tib3gnLAogICAgICAgICAgICAgICAgQW5zd2VyID0+IFsgIkNoZWNrQm94T25lIiwgIkNoZWNrQm94VHdvIiBdLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBUeXBlID0+ICdUZXh0YXJlYScsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFR5cGUgICA9PiAnTlBTJywKICAgICAgICAgICAgICAgIEFuc3dlciA9PiBbICJOUFNPbmUiLCAiTlBTVHdvIiBdLAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICMgQWRkIHF1ZXN0aW9uIGFuZCBhbnN3ZXJzIHRvIHRlc3Qgc3VydmV5LgogICAgICAgIG15IEBRdWVzdGlvbk5hbWVzOwogICAgICAgIG15IEBRdWVzdGlvbklEczsKICAgICAgICBteSBAQW5zd2VyTmFtZXM7CiAgICAgICAgbXkgQEFuc3dlcklEczsKICAgICAgICBmb3IgbXkgJFF1ZXN0aW9ucyAoQFF1ZXN0aW9uRGF0YSkgewogICAgICAgICAgICBteSAkUXVlc3Rpb25OYW1lID0gJFF1ZXN0aW9ucy0+e1R5cGV9IC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICAgICAgJFN1cnZleU9iamVjdC0+UXVlc3Rpb25BZGQoCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgU3VydmV5SUQgICAgICAgPT4gJFN1cnZleUlELAogICAgICAgICAgICAgICAgUXVlc3Rpb24gICAgICAgPT4gJFF1ZXN0aW9uTmFtZSwKICAgICAgICAgICAgICAgIEFuc3dlclJlcXVpcmVkID0+IDEsCiAgICAgICAgICAgICAgICBUeXBlICAgICAgICAgICA9PiAkUXVlc3Rpb25zLT57VHlwZX0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIEdldCB0ZXN0IHF1ZXN0aW9uIElELgogICAgICAgICAgICBteSAkUXVlc3Rpb25RdW90ZWQgPSAkREJPYmplY3QtPlF1b3RlKCRRdWVzdGlvbk5hbWUpOwogICAgICAgICAgICAkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgICAgICAgICBTUUwgID0+ICJTRUxFQ1QgaWQgRlJPTSBzdXJ2ZXlfcXVlc3Rpb24gV0hFUkUgcXVlc3Rpb24gPSA/IiwKICAgICAgICAgICAgICAgIEJpbmQgPT4gWyBcJFF1ZXN0aW9uUXVvdGVkIF0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbXkgJFF1ZXN0aW9uSUQ7CiAgICAgICAgICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICAgICAgICAgJFF1ZXN0aW9uSUQgPSAkUm93WzBdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHB1c2ggQFF1ZXN0aW9uSURzLCAkUXVlc3Rpb25JRDsKCiAgICAgICAgICAgICMgQWRkIGFuc3dlciBmb3IgcmFkaW8gYW5kIGNoZWNrLWJveCBxdWVzdGlvbnMuCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICRRdWVzdGlvbnMtPntUeXBlfSBlcSAnUmFkaW8nCiAgICAgICAgICAgICAgICB8fCAkUXVlc3Rpb25zLT57VHlwZX0gZXEgJ0NoZWNrYm94JwogICAgICAgICAgICAgICAgfHwgJFF1ZXN0aW9ucy0+e1R5cGV9IGVxICdOUFMnCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICBmb3IgbXkgJEFuc3dlcnMgKCBAeyAkUXVlc3Rpb25zLT57QW5zd2VyfSB9ICkgewogICAgICAgICAgICAgICAgICAgICRTdXJ2ZXlPYmplY3QtPkFuc3dlckFkZCgKICAgICAgICAgICAgICAgICAgICAgICAgU3VydmV5SUQgICAgICAgPT4gJFN1cnZleUlELAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgICAgICAgICBRdWVzdGlvbklEICAgICA9PiAkUXVlc3Rpb25JRCwKICAgICAgICAgICAgICAgICAgICAgICAgQW5zd2VyICAgICAgICAgPT4gJEFuc3dlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgIEFuc3dlclJlcXVpcmVkID0+IDEsCiAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgIyBHZXQgdGVzdCBhbnN3ZXIgSUQuCiAgICAgICAgICAgICAgICAgICAgbXkgJEFuc3dlclF1b3RlZCA9ICREQk9iamVjdC0+UXVvdGUoJEFuc3dlcnMpOwogICAgICAgICAgICAgICAgICAgICREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICAgICAgICAgICAgICAgICAgU1FMICA9PiAiU0VMRUNUIGlkIEZST00gc3VydmV5X2Fuc3dlciBXSEVSRSBhbnN3ZXIgPSA/IEFORCBxdWVzdGlvbl9pZCA9ID8iLAogICAgICAgICAgICAgICAgICAgICAgICBCaW5kID0+IFsgXCRBbnN3ZXJRdW90ZWQsIFwkUXVlc3Rpb25JRCBdCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICBteSAkQW5zd2VySUQ7CiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRBbnN3ZXJJRCA9ICRSb3dbMF07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHB1c2ggQEFuc3dlcklEcywgICAkQW5zd2VySUQ7CiAgICAgICAgICAgICAgICAgICAgcHVzaCBAQW5zd2VyTmFtZXMsICRBbnN3ZXJzOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHB1c2ggQFF1ZXN0aW9uTmFtZXMsICRRdWVzdGlvbk5hbWU7CiAgICAgICAgfQoKICAgICAgICAjIFNldCB0ZXN0IHN1cnZleSBvbiBtYXN0ZXIgc3RhdHVzLgogICAgICAgIG15ICRTdGF0dXNTZXQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlTdGF0dXNTZXQoCiAgICAgICAgICAgIFN1cnZleUlEICA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIE5ld1N0YXR1cyA9PiAnTWFzdGVyJwogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdGF0dXNTZXQsCiAgICAgICAgICAgICJTdXJ2ZXkgbWFzdGVyIHN0YXR1cyBpcyBzZXQiLAogICAgICAgICk7CgogICAgICAgICMgQ3JlYXRlIHRlc3QgdGlja2V0LgogICAgICAgIG15ICRUaWNrZXROdW1iZXIgPSAkVGlja2V0T2JqZWN0LT5UaWNrZXRDcmVhdGVOdW1iZXIoKTsKICAgICAgICBteSAkVGlja2V0SUQgICAgID0gJFRpY2tldE9iamVjdC0+VGlja2V0Q3JlYXRlKAogICAgICAgICAgICBUTiAgICAgICAgICAgPT4gJFRpY2tldE51bWJlciwKICAgICAgICAgICAgVGl0bGUgICAgICAgID0+ICJTZWxlbml1bSBUZXN0IFRpY2tldCIsCiAgICAgICAgICAgIFF1ZXVlICAgICAgICA9PiAnUmF3JywKICAgICAgICAgICAgTG9jayAgICAgICAgID0+ICd1bmxvY2snLAogICAgICAgICAgICBQcmlvcml0eSAgICAgPT4gJzMgbm9ybWFsJywKICAgICAgICAgICAgU3RhdGUgICAgICAgID0+ICduZXcnLAogICAgICAgICAgICBDdXN0b21lcklEICAgPT4gJ1NlbGVuaXVtQ3VzdG9tZXInLAogICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJ3Rlc3RAbG9jYWxob3N0LmNvbScsCiAgICAgICAgICAgIE93bmVySUQgICAgICA9PiAxLAogICAgICAgICAgICBVc2VySUQgICAgICAgPT4gMSwKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkVGlja2V0SUQsCiAgICAgICAgICAgICJUaWNrZXQgSUQgJFRpY2tldElEIGlzIGNyZWF0ZWQiLAogICAgICAgICk7CgogICAgICAgIG15ICRBcnRpY2xlSW50ZXJuYWxCYWNrZW5kT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldDo6QXJ0aWNsZScpLT5CYWNrZW5kRm9yQ2hhbm5lbCgKICAgICAgICAgICAgQ2hhbm5lbE5hbWUgPT4gJ0ludGVybmFsJywKICAgICAgICApOwoKICAgICAgICAjIEFkZCBhcnRpY2xlIHRvIHRlc3QgY3JlYXRlZCB0aWNrZXQuCiAgICAgICAgbXkgJEFydGljbGVJRCA9ICRBcnRpY2xlSW50ZXJuYWxCYWNrZW5kT2JqZWN0LT5BcnRpY2xlQ3JlYXRlKAogICAgICAgICAgICBUaWNrZXRJRCAgICAgICAgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgIElzVmlzaWJsZUZvckN1c3RvbWVyID0+IDAsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgID0+ICdhZ2VudCcsCiAgICAgICAgICAgIEZyb20gICAgICAgICAgICAgICAgID0+ICdTb21lIEFnZW50IDxlbWFpbEBleGFtcGxlLmNvbT4nLAogICAgICAgICAgICBUbyAgICAgICAgICAgICAgICAgICA9PiAnQ3VzdG9tZXIgQSA8Y3VzdG9tZXItYUBleGFtcGxlLmNvbT4nLAogICAgICAgICAgICBDYyAgICAgICAgICAgICAgICAgICA9PiAnQ3VzdG9tZXIgQiA8Y3VzdG9tZXItYkBleGFtcGxlLmNvbT4nLAogICAgICAgICAgICBSZXBseVRvICAgICAgICAgICAgICA9PiAnQ3VzdG9tZXIgQiA8Y3VzdG9tZXItYkBleGFtcGxlLmNvbT4nLAogICAgICAgICAgICBTdWJqZWN0ICAgICAgICAgICAgICA9PiAnc29tZSBzaG9ydCBkZXNjcmlwdGlvbicsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgID0+ICd0aGUgbWVzc2FnZSB0ZXh0IFBlcmwgbW9kdWxlcyBwcm92aWRlIGEgcmFuZ2Ugb2YnLAogICAgICAgICAgICBDb250ZW50VHlwZSAgICAgICAgICA9PiAndGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNScsCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgICAgICAgID0+ICdPd25lclVwZGF0ZScsCiAgICAgICAgICAgIEhpc3RvcnlDb21tZW50ICAgICAgID0+ICdTb21lIGZyZWUgdGV4dCEnLAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOb0FnZW50Tm90aWZ5ICAgICAgICA9PiAxLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRUaWNrZXRJRCwKICAgICAgICAgICAgIkFydGljbGUgSUQgJEFydGljbGVJRCBpcyBjcmVhdGVkIiwKICAgICAgICApOwoKICAgICAgICAjIFNlbmQgc3VydmV5IHJlcXVlc3QuCiAgICAgICAgbXkgJFJlcXVlc3QgPSAkU3VydmV5T2JqZWN0LT5SZXF1ZXN0U2VuZCgKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRSZXF1ZXN0LAogICAgICAgICAgICAiU3VydmV5IHJlcXVlc3QgaXMgc2VudCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBHZXQgcHVibGljIHN1cnZleSBrZXkgZnJvbSB0ZXN0IHN1cnZleSByZXF1ZXN0LgogICAgICAgICREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICAgICAgU1FMICA9PiAiU0VMRUNUIHB1YmxpY19zdXJ2ZXlfa2V5IEZST00gc3VydmV5X3JlcXVlc3QgV0hFUkUgc3VydmV5X2lkID0gPyIsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFN1cnZleUlEIF0sCiAgICAgICAgKTsKICAgICAgICBteSAkUHVibGljU3VydmV5S2V5OwogICAgICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICAgICAkUHVibGljU3VydmV5S2V5ID0gJFJvd1swXTsKICAgICAgICB9CgogICAgICAgIG15ICRTY3JpcHRBbGlhcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2NyaXB0QWxpYXMnKTsKCiAgICAgICAgIyBOYXZpZ2F0ZSB0byBQdWJsaWNTdXJ2ZXkgb2YgY3JlYXRlZCB0ZXN0IHN1cnZleS4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkR2V0KCIke1NjcmlwdEFsaWFzfXB1YmxpYy5wbD9BY3Rpb249UHVibGljU3VydmV5O1B1YmxpY1N1cnZleUtleT0kUHVibGljU3VydmV5S2V5Iik7CgogICAgICAgICMgR2V0IHRlc3QgZGF0YS4KICAgICAgICBteSBAVGVzdCA9ICgKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJ1RpdGxlJywKICAgICAgICAgICAgICAgIFZhbHVlID0+ICRTdXJ2ZXlUaXRsZSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJ1RpY2tldCBOdW1iZXInLAogICAgICAgICAgICAgICAgVmFsdWUgPT4gJFRpY2tldE51bWJlciwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJycsCiAgICAgICAgICAgICAgICBWYWx1ZSA9PiAkU3VydmV5SW50cm9kdWN0aW9uLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICA9PiAnUXVlc3Rpb24nLAogICAgICAgICAgICAgICAgVmFsdWUgPT4gW0BRdWVzdGlvbk5hbWVzXSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJ0Fuc3dlcicsCiAgICAgICAgICAgICAgICBWYWx1ZSA9PiBbQEFuc3dlck5hbWVzXSwKICAgICAgICAgICAgfSwKCiAgICAgICAgKTsKCiAgICAgICAgIyBDaGVjayB0ZXN0IHN1cnZleSB2YWx1ZXMuCiAgICAgICAgZm9yIG15ICRDaGVja1ZhbHVlIChAVGVzdCkgewogICAgICAgICAgICBpZiAoIElzQXJyYXlSZWZXaXRoRGF0YSggJENoZWNrVmFsdWUtPntWYWx1ZX0gKSApIHsKICAgICAgICAgICAgICAgIGZvciAoIEB7ICRDaGVja1ZhbHVlLT57VmFsdWV9IH0gKSB7CiAgICAgICAgICAgICAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4KCAkU2VsZW5pdW0tPmdldF9wYWdlX3NvdXJjZSgpLCAkXyApID4gLTEsCiAgICAgICAgICAgICAgICAgICAgICAgICIkQ2hlY2tWYWx1ZS0+e05hbWV9ICRfIGlzIGZvdW5kIiwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICAgICAgICAgaW5kZXgoICRTZWxlbml1bS0+Z2V0X3BhZ2Vfc291cmNlKCksICRDaGVja1ZhbHVlLT57VmFsdWV9ICkgPiAtMSwKICAgICAgICAgICAgICAgICAgICAiJENoZWNrVmFsdWUtPntOYW1lfSAkQ2hlY2tWYWx1ZS0+e1ZhbHVlfSBpcyBmb3VuZCIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIEdldCB2b3RlIGRhdGEuCiAgICAgICAgbXkgQFZvdGVEYXRhID0gKAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJRCAgICA9PiAiMSRRdWVzdGlvbklEc1swXVllcyIsCiAgICAgICAgICAgICAgICBDaGVjayA9PiAnWWVzJwogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJRCAgICA9PiAiMiRRdWVzdGlvbklEc1sxXSRBbnN3ZXJJRHNbMF0iLAogICAgICAgICAgICAgICAgQ2hlY2sgPT4gJ1JhZGlvT25lJwogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJRCAgICA9PiAiMyRBbnN3ZXJJRHNbMl0iLAogICAgICAgICAgICAgICAgQ2hlY2sgPT4gIkNoZWNrQm94T25lIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJRCAgICAgPT4gIiRRdWVzdGlvbklEc1szXSIsCiAgICAgICAgICAgICAgICBBbnN3ZXIgPT4gJ1NlbGVuaXVtIFN1cnZleSBBbnN3ZXInLAogICAgICAgICAgICAgICAgQ2hlY2sgID0+ICdTZWxlbml1bSBTdXJ2ZXkgQW5zd2VyJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSUQgICAgPT4gIjUkUXVlc3Rpb25JRHNbNF0kQW5zd2VySURzWzRdIiwKICAgICAgICAgICAgICAgIENoZWNrID0+ICdOUFNPbmUnLAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICMgRmlsbCBpbiBzdXJ2ZXkgcXVlc3Rpb25zLgogICAgICAgIGZvciBteSAkU3VydmV5Vm90ZSAoQFZvdGVEYXRhKSB7CiAgICAgICAgICAgIGlmICggJFN1cnZleVZvdGUtPntBbnN3ZXJ9ICkgewogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjUmljaFRleHQkU3VydmV5Vm90ZS0+e0lEfSIsICdjc3MnICktPnNlbmRfa2V5cyggJFN1cnZleVZvdGUtPntBbnN3ZXJ9ICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9pbnB1dFtcQGlkPSdQdWJsaWNTdXJ2ZXlWb3RlJFN1cnZleVZvdGUtPntJRH0nXSIpLT5jbGljaygpOwogICAgICAgICAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKAogICAgICAgICAgICAgICAgICAgIEphdmFTY3JpcHQgPT4KICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybiB0eXBlb2YoXCQpID09PSAnZnVuY3Rpb24nICYmIFwkKCcjUHVibGljU3VydmV5Vm90ZSRTdXJ2ZXlWb3RlLT57SUR9OmNoZWNrZWQnKS5sZW5ndGgiCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIFN1Ym1pdCB2b3RlLgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2J1dHRvbltcQHZhbHVlPSdGaW5pc2gnXVtcQHR5cGU9J3N1Ym1pdCddIiktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgIyBWZXJpZnkgcG9zdCB2b3RlIG1lc3NhZ2VzLgogICAgICAgIG15ICRQb3N0Vm90ZSA9IFsgIlN1cnZleSBJbmZvcm1hdGlvbiIsICJUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suIiwgIlRoZSBzdXJ2ZXkgaXMgZmluaXNoZWQuIiBdOwogICAgICAgIGZvciBteSAkUG9zdFZvdGVNZXNzYWdlICggQHskUG9zdFZvdGV9ICkgewogICAgICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgICAgIGluZGV4KCAkU2VsZW5pdW0tPmdldF9wYWdlX3NvdXJjZSgpLCAkUG9zdFZvdGVNZXNzYWdlICkgPiAtMSwKICAgICAgICAgICAgICAgICInJFBvc3RWb3RlTWVzc2FnZScgbWVzc2FnZSBpcyBmb3VuZCIsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIENyZWF0ZSB0ZXN0IHVzZXIgYW5kIGxvZ2luLgogICAgICAgIG15ICRUZXN0VXNlckxvZ2luID0gJEhlbHBlci0+VGVzdFVzZXJDcmVhdGUoCiAgICAgICAgICAgIEdyb3VwcyA9PiBbICdhZG1pbicsICd1c2VycycgXSwKICAgICAgICApIHx8IGRpZSAiRGlkIG5vdCBnZXQgdGVzdCB1c2VyIjsKCiAgICAgICAgJFNlbGVuaXVtLT5Mb2dpbigKICAgICAgICAgICAgVHlwZSAgICAgPT4gJ0FnZW50JywKICAgICAgICAgICAgVXNlciAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICk7CgogICAgICAgICMgTmF2aWdhdGUgdG8gQWdlbnRTdXJ2ZXlab29tIG9mIGNyZWF0ZWQgdGVzdCBzdXJ2ZXkuCiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZEdldCgiJHtTY3JpcHRBbGlhc31pbmRleC5wbD9BY3Rpb249QWdlbnRTdXJ2ZXlab29tO1N1cnZleUlEPSRTdXJ2ZXlJRCIpOwoKICAgICAgICAjIENsaWNrIG9uICdTdGF0cyBEZXRhaWxzJyBhbmQgc3dpdGNoIHdpbmRvdy4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNNZW51MDMwLVN0YXRzRGV0YWlscyIsICdjc3MnICktPmNsaWNrKCk7CgogICAgICAgICRTZWxlbml1bS0+V2FpdEZvciggV2luZG93Q291bnQgPT4gMiApOwogICAgICAgIG15ICRIYW5kbGVzID0gJFNlbGVuaXVtLT5nZXRfd2luZG93X2hhbmRsZXMoKTsKICAgICAgICAkU2VsZW5pdW0tPnN3aXRjaF90b193aW5kb3coICRIYW5kbGVzLT5bMV0gKTsKCiAgICAgICAgIyBXYWl0IHVudGlsIHBhZ2UgaGFzIGxvYWRlZCwgaWYgbmVjZXNzYXJ5LgogICAgICAgICRTZWxlbml1bS0+V2FpdEZvciggSmF2YVNjcmlwdCA9PiAncmV0dXJuIHR5cGVvZigkKSA9PT0gImZ1bmN0aW9uIiAmJiAkKCIuU2VlRGV0YWlscyIpLmxlbmd0aCcgKTsKCiAgICAgICAgIyBDbGljayB0byBzZWUgZGV0YWlscyBvZiBzdGF0cy4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkUmVmcmVzaCgpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiLlNlZURldGFpbHMiLCAnY3NzJyApLT5jbGljaygpOwogICAgICAgICRTZWxlbml1bS0+V2FpdEZvciggSmF2YVNjcmlwdCA9PiAicmV0dXJuIFwkKCcuVGFibGVMaWtlJykubGVuZ3RoIiApOwoKICAgICAgICAjIFZlcmlmeSB2b3RlIGRldGFpbHMuCiAgICAgICAgZm9yIG15ICRWb3RlRGV0YWlscyAoQFZvdGVEYXRhKSB7CiAgICAgICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAgICAgaW5kZXgoICRTZWxlbml1bS0+Z2V0X3BhZ2Vfc291cmNlKCksICRWb3RlRGV0YWlscy0+e0NoZWNrfSApID4gLTEsCiAgICAgICAgICAgICAgICAiVm90ZSAkVm90ZURldGFpbHMtPntDaGVja30gaXMgZm91bmQiLAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBHZXQgY2xlYW4tdXAgZGF0YS4KICAgICAgICBteSBAQ2xlYW5EYXRhID0gKAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICA9PiAnUXVldWVzJywKICAgICAgICAgICAgICAgIFRhYmxlID0+ICdzdXJ2ZXlfcXVldWUnLAogICAgICAgICAgICAgICAgU1FMSUQgPT4gJ3N1cnZleV9pZCcsCiAgICAgICAgICAgICAgICBJRCAgICA9PiAkU3VydmV5SUQsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgID0+ICdBbnN3ZXJzJywKICAgICAgICAgICAgICAgIFRhYmxlID0+ICdzdXJ2ZXlfYW5zd2VyJywKICAgICAgICAgICAgICAgIFNRTElEID0+ICdpZCcsCiAgICAgICAgICAgICAgICBJRCAgICA9PiBbQEFuc3dlcklEc10sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgID0+ICdRdWVzdGlvbnMnLAogICAgICAgICAgICAgICAgVGFibGUgPT4gJ3N1cnZleV9xdWVzdGlvbicsCiAgICAgICAgICAgICAgICBTUUxJRCA9PiAnc3VydmV5X2lkJywKICAgICAgICAgICAgICAgIElEICAgID0+ICRTdXJ2ZXlJRCwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJ1JlcXVlc3RzJywKICAgICAgICAgICAgICAgIFRhYmxlID0+ICdzdXJ2ZXlfcmVxdWVzdCcsCiAgICAgICAgICAgICAgICBTUUxJRCA9PiAnc3VydmV5X2lkJywKICAgICAgICAgICAgICAgIElEICAgID0+ICRTdXJ2ZXlJRCwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJ1ZvdGVzJywKICAgICAgICAgICAgICAgIFRhYmxlID0+ICdzdXJ2ZXlfdm90ZScsCiAgICAgICAgICAgICAgICBTUUxJRCA9PiAnaWQnLAogICAgICAgICAgICAgICAgSUQgICAgPT4gW0BRdWVzdGlvbklEc10sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgID0+ICdTdXJ2ZXknLAogICAgICAgICAgICAgICAgVGFibGUgPT4gJ3N1cnZleScsCiAgICAgICAgICAgICAgICBTUUxJRCA9PiAnaWQnLAogICAgICAgICAgICAgICAgSUQgICAgPT4gJFN1cnZleUlELAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgIG15ICRTdWNjZXNzOwoKICAgICAgICAjIERlbGV0ZSB0ZXN0IGRhdGEgZnJvbSBEQi4KICAgICAgICBmb3IgbXkgJERlbGV0ZSAoQENsZWFuRGF0YSkgewogICAgICAgICAgICBpZiAoIElzQXJyYXlSZWZXaXRoRGF0YSggJERlbGV0ZS0+e0lEfSApICkgewoKICAgICAgICAgICAgICAgIG15ICRJRHMgICAgICA9IGpvaW4gJywgJywgQHsgJERlbGV0ZS0+e0lEfSB9OwogICAgICAgICAgICAgICAgbXkgJFNRTFdoZXJlID0gIldIRVJFICREZWxldGUtPntTUUxJRH0gSU4gKCAkSURzICkiOwoKICAgICAgICAgICAgICAgICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgICAgICAgICBTUUwgPT4gIkRFTEVURSBGUk9NICREZWxldGUtPntUYWJsZX0gJFNRTFdoZXJlIiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgICAgICAgICAkU3VjY2VzcywKICAgICAgICAgICAgICAgICAgICAiJERlbGV0ZS0+e05hbWV9IGZvciAkU3VydmV5VGl0bGUgaXMgZGVsZXRlZCIsCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgICAgICAgICBTUUwgID0+ICJERUxFVEUgRlJPTSAkRGVsZXRlLT57VGFibGV9IFdIRVJFICREZWxldGUtPntTUUxJRH0gPSA/IiwKICAgICAgICAgICAgICAgICAgICBCaW5kID0+IFsgXCREZWxldGUtPntJRH0gXSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgICAgICAgICAkU3VjY2VzcywKICAgICAgICAgICAgICAgICAgICAiJERlbGV0ZS0+e05hbWV9IGZvciAkU3VydmV5VGl0bGUgaXMgZGVsZXRlZCIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIERlbGV0ZSB0ZXN0IHRpY2tldC4KICAgICAgICAkU3VjY2VzcyA9ICRUaWNrZXRPYmplY3QtPlRpY2tldERlbGV0ZSgKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICBVc2VySUQgICA9PiAxLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAiVGlja2V0IElEICRUaWNrZXRJRCBpcyBkZWxldGVkIiwKICAgICAgICApOwogICAgfQopOwoKMTsK</File>
        <File Location="scripts/test/Stats/Dynamic/DynamicList.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKb3VyICRTZWxmOwoKJEtlcm5lbDo6T00tPk9iamVjdFBhcmFtQWRkKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyA9PiB7CiAgICAgICAgUmVzdG9yZURhdGFiYXNlID0+IDEsCiAgICB9LAopOwpteSAkSGVscGVyT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCiMgQ3JlYXRlIGxvY2FsIGNvbmZpZyBvYmplY3QuCm15ICRDb25maWdPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwoKIyBTZXQgc2VuZCBwZXJpb2QgdG8gYWx3YXlzIHNlbmQgc3VydmV5LgokSGVscGVyT2JqZWN0LT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgS2V5ICAgPT4gJ1N1cnZleTo6U2VuZFBlcmlvZCcsCiAgICBWYWx1ZSA9PiAwLAopOwoKIyBEaXNhYmxlIGVtYWlsIGNoZWNrLgokQ29uZmlnT2JqZWN0LT5TZXQoCiAgICBLZXkgICA9PiAnQ2hlY2tFbWFpbEFkZHJlc3NlcycsCiAgICBWYWx1ZSA9PiAwLAopOwoKIyBTZXQgc2VuZCBwZXJpb2QgdG8gc2VuZCBpbW1lZGlhdGVseSBhZnRlciB0aWNrZXQgY2xvc2UuCiRDb25maWdPYmplY3QtPlNldCgKICAgIEtleSAgID0+ICdTdXJ2ZXk6OlNlbmRJbkhvdXJzQWZ0ZXJDbG9zZScsCiAgICBWYWx1ZSA9PiAwLAopOwoKIyBGcmVlemUgVGltZS4KJEhlbHBlck9iamVjdC0+Rml4ZWRUaW1lU2V0KAogICAgJEtlcm5lbDo6T00tPkNyZWF0ZSgKICAgICAgICAnS2VybmVsOjpTeXN0ZW06OkRhdGVUaW1lJywKICAgICAgICBPYmplY3RQYXJhbXMgPT4gewogICAgICAgICAgICBTdHJpbmcgPT4gJzIwMTgtMDYtMjAgMTI6MDA6MDAnLAogICAgICAgIH0sCiAgICApLT5Ub0Vwb2NoKCkKKTsKCm15ICRSYW5kb21JRCA9ICRIZWxwZXJPYmplY3QtPkdldFJhbmRvbUlEKCk7CgojIENyZWF0aW5nIFF1ZXVlLgpteSAkUXVldWVSYW5kID0gIlNvbWVRdWV1ZSRSYW5kb21JRCAiOwpteSAkUXVldWVJRCAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlF1ZXVlJyktPlF1ZXVlQWRkKAogICAgTmFtZSAgICAgICAgICAgID0+ICRRdWV1ZVJhbmQsCiAgICBWYWxpZElEICAgICAgICAgPT4gMSwKICAgIEdyb3VwSUQgICAgICAgICA9PiAxLAogICAgU3lzdGVtQWRkcmVzc0lEID0+IDEsCiAgICBTYWx1dGF0aW9uSUQgICAgPT4gMSwKICAgIFNpZ25hdHVyZUlEICAgICA9PiAxLAogICAgVXNlcklEICAgICAgICAgID0+IDEsCiAgICBDb21tZW50ICAgICAgICAgPT4gJ1NvbWUgQ29tbWVudCcsCik7CiRTZWxmLT5UcnVlKAogICAgJFF1ZXVlSUQsCiAgICAiUXVldWVBZGQoKSAtICRRdWV1ZVJhbmQsICRRdWV1ZUlEIiwKKTsKCiMgU2V0dXAgc3VydmV5LgpteSAkU3VydmV5VGl0bGUgPSAiQSBUaXRsZSRSYW5kb21JRCAiOwpteSAlU3VydmV5RGF0YSAgPSAoCiAgICBUaXRsZSAgICAgICAgICAgICAgID0+ICRTdXJ2ZXlUaXRsZSwKICAgIEludHJvZHVjdGlvbiAgICAgICAgPT4gJ1RoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIHN1cnZleScsCiAgICBEZXNjcmlwdGlvbiAgICAgICAgID0+ICdUaGUgaW50ZXJuYWwgZGVzY3JpcHRpb24gb2YgdGhlIHN1cnZleScsCiAgICBOb3RpZmljYXRpb25TZW5kZXIgID0+ICdxdWFsaXR5QHVuaXR0ZXN0LmNvbScsCiAgICBOb3RpZmljYXRpb25TdWJqZWN0ID0+ICdIZWxwIHVzIHdpdGggeW91ciBmZWVkYmFjayEnLAogICAgTm90aWZpY2F0aW9uQm9keSAgICA9PiAnRGVhciBjdXN0b21lci4uLicsCiAgICBRdWV1ZXMgICAgICAgICAgICAgID0+IFskUXVldWVJRF0sCik7CgojIEdldCBzdXJ2ZXkgb2JqZWN0LgpteSAkU3VydmV5T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN1cnZleScpOwoKIyBDcmVhdGUgc3VydmV5LgpteSAkU3VydmV5SUQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlBZGQoCiAgICBVc2VySUQgPT4gMSwKICAgICVTdXJ2ZXlEYXRhLAopOwokU2VsZi0+VHJ1ZSgKICAgICRTdXJ2ZXlJRCwKICAgICJTdXJ2ZXlBZGQoKSIsCik7CgojIEFkZCBxdWVzdGlvbiB0byBzdXJ2ZXkuCm15ICRRdWVzdGlvbkFkZCA9ICRTdXJ2ZXlPYmplY3QtPlF1ZXN0aW9uQWRkKAogICAgVXNlcklEICAgICAgICAgPT4gMSwKICAgIFN1cnZleUlEICAgICAgID0+ICRTdXJ2ZXlJRCwKICAgIFF1ZXN0aW9uICAgICAgID0+ICdUaGUgUXVlc3Rpb24nLAogICAgQW5zd2VyUmVxdWlyZWQgPT4gMCwKICAgIFR5cGUgICAgICAgICAgID0+ICdUZXh0YXJlYScsCik7CgojIFNldHVwIHN1cnZleSB0byBNYXN0ZXIuCm15ICRTdGF0dXNTZXQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlTdGF0dXNTZXQoCiAgICBTdXJ2ZXlJRCAgPT4gJFN1cnZleUlELAogICAgTmV3U3RhdHVzID0+ICdNYXN0ZXInLAopOwokU2VsZi0+SXMoCiAgICAkU3RhdHVzU2V0LAogICAgJ1N0YXR1c1NldCcsCiAgICAiU3VydmV5U3RhdHVzU2V0KCkiLAopOwoKIyBHZXQgbGlzdCBvZiBxdWVzdGlvbnMuCm15IEBMaXN0ID0gJFN1cnZleU9iamVjdC0+UXVlc3Rpb25MaXN0KAogICAgU3VydmV5SUQgPT4gJFN1cnZleUlELAopOwoKIyBHZXQgY3JlYXRlZCBzdXJ2ZXkuCm15ICVTdXJ2ZXlHZXQgPSAkU3VydmV5T2JqZWN0LT5TdXJ2ZXlHZXQoCiAgICBTdXJ2ZXlJRCA9PiAkU3VydmV5SUQsCik7CgojIEdlbmVyYXRlIER5bmFtaWMgbGlzdCB0ZXN0IHN0YXRpc3RpYy4KbXkgJFN0YXRzT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTdGF0cycpOwpteSAkU3VydmV5U3RhdElEID0gJFN0YXRzT2JqZWN0LT5TdGF0c0FkZCgKICAgIFVzZXJJRCA9PiAxLAopOwokU2VsZi0+VHJ1ZSgKICAgICRTdXJ2ZXlTdGF0SUQsCiAgICAnU3RhdHNBZGQoKScsCik7CgojIENyZWF0aW5nIHRpY2tldC4KbXkgJFRpY2tldE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQnKTsKbXkgJERCT2JqZWN0ICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKbXkgJFRpY2tldElEID0gJFRpY2tldE9iamVjdC0+VGlja2V0Q3JlYXRlKAogICAgVGl0bGUgICAgICAgID0+ICJTb21lIFRpY2tldCBUaXRsZSRSYW5kb21JRCIsCiAgICBRdWV1ZUlEICAgICAgPT4gJFF1ZXVlSUQsCiAgICBMb2NrICAgICAgICAgPT4gJ3VubG9jaycsCiAgICBQcmlvcml0eSAgICAgPT4gJzMgbm9ybWFsJywKICAgIFN0YXRlICAgICAgICA9PiAnbmV3JywKICAgIEN1c3RvbWVySUQgICA9PiAnMTIzNDY1JywKICAgIEN1c3RvbWVyVXNlciA9PiAnY3VzdG9tZXJAZXhhbXBsZS5jb20nLAogICAgT3duZXJJRCAgICAgID0+IDEsCiAgICBVc2VySUQgICAgICAgPT4gMSwKKTsKJFNlbGYtPlRydWUoCiAgICAkVGlja2V0SUQsCiAgICAiVGlja2V0Q3JlYXRlKCkgZm9yIFRpY2tldElEICRUaWNrZXRJRCIsCik7CgpteSAkQXJ0aWNsZU9iamVjdCAgICAgICAgICAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6OkFydGljbGUnKTsKbXkgJEFydGljbGVJbnRlcm5hbEJhY2tlbmRPYmplY3QgPSAkQXJ0aWNsZU9iamVjdC0+QmFja2VuZEZvckNoYW5uZWwoCiAgICBDaGFubmVsTmFtZSA9PiAnUGhvbmUnLAopOwoKbXkgJEFydGljbGVJRCA9ICRBcnRpY2xlSW50ZXJuYWxCYWNrZW5kT2JqZWN0LT5BcnRpY2xlQ3JlYXRlKAogICAgVGlja2V0SUQgICAgICAgICAgICAgPT4gJFRpY2tldElELAogICAgSXNWaXNpYmxlRm9yQ3VzdG9tZXIgPT4gMSwKICAgIFNlbmRlclR5cGUgICAgICAgICAgID0+ICdjdXN0b21lcicsCiAgICBGcm9tICAgICAgICAgICAgICAgICA9PiAnU29tZSBDdXN0b21lciA8ZW1haWxAZXhhbXBsZS5jb20+JywKICAgIFRvICAgICAgICAgICAgICAgICAgID0+ICdTb21lIEFnZW50IDxhZ2VudEBleGFtcGxlLmNvbT4nLAogICAgU3ViamVjdCAgICAgICAgICAgICAgPT4gJ3NvbWUgc2hvcnQgZGVzY3JpcHRpb24nLAogICAgQm9keSAgICAgICAgICAgICAgICAgPT4gJ3RoZSBtZXNzYWdlIHRleHQnLAogICAgQ29udGVudFR5cGUgICAgICAgICAgPT4gJ3RleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMTUnLAogICAgSGlzdG9yeVR5cGUgICAgICAgICAgPT4gJ0FkZE5vdGUnLAogICAgSGlzdG9yeUNvbW1lbnQgICAgICAgPT4gJ1NvbWUgZnJlZSB0ZXh0IScsCiAgICBVc2VySUQgICAgICAgICAgICAgICA9PiAxLAopOwokU2VsZi0+VHJ1ZSgKICAgICRBcnRpY2xlSUQsCiAgICAiQXJ0aWNsZUNyZWF0ZSgpIGZvciBBcnRpY2xlSUQgJEFydGljbGVJRCIsCik7CgojIFNldCB0aWNrZXQgc3RhdGUgdG8gY2xvc2UuCm15ICRTdWNjZXNzID0gJFRpY2tldE9iamVjdC0+VGlja2V0U3RhdGVTZXQoCiAgICBTdGF0ZSAgICA9PiAnY2xvc2VkIHN1Y2Nlc3NmdWwnLAogICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgVXNlcklEICAgPT4gMSwKKTsKJFNlbGYtPlRydWUoCiAgICAkU3VjY2VzcywKICAgICJUaWNrZXQgaXMgY2xvc2VkIHN1Y2Nlc3NmdWxseS4iLAopOwoKIyBTZW5kIHN1cnZleSByZXF1ZXN0LgokU3VjY2VzcyA9ICRTdXJ2ZXlPYmplY3QtPlJlcXVlc3RTZW5kKAogICAgVGlja2V0SUQgPT4gJFRpY2tldElELAopOwokU2VsZi0+VHJ1ZSgKICAgICRTdWNjZXNzLAogICAgIlJlcXVlc3QgaXMgc2VudCBzdWNjZXNzZnVsbHkuIiwKKTsKCiMgU2V0IHN1cnZleSBwdWJsaWMgYW5zd2VyLgokREJPYmplY3QtPlByZXBhcmUoCiAgICBTUUwgPT4gJwogICAgICAgIFNFTEVDVCBwdWJsaWNfc3VydmV5X2tleQogICAgICAgIEZST00gc3VydmV5X3JlcXVlc3QKICAgICAgICBXSEVSRSB0aWNrZXRfaWQgPSA/JywKICAgIEJpbmQgID0+IFsgXCRUaWNrZXRJRCBdLAogICAgTGltaXQgPT4gMSwKKTsKCm15ICRQdWJsaWNTdXJ2ZXlLZXk7CndoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgJFB1YmxpY1N1cnZleUtleSA9ICRSb3dbMF07Cn0KCiRTdWNjZXNzID0gJFN1cnZleU9iamVjdC0+UHVibGljQW5zd2VyU2V0KAogICAgUHVibGljU3VydmV5S2V5ID0+ICRQdWJsaWNTdXJ2ZXlLZXksCiAgICBRdWVzdGlvbklEICAgICAgPT4gJExpc3RbMF17UXVlc3Rpb25JRH0sCiAgICBWb3RlVmFsdWUgICAgICAgPT4gJ1NvbWUgYW5zd2VyJywKKTsKCiRTZWxmLT5UcnVlKAogICAgJFN1Y2Nlc3MsCiAgICAiUHVibGljIGFuc3dlciBpcyBzZXQgc3VjY2Vzc2Z1bGx5LiIsCik7CgojIFVwZGF0ZSBjcmVhdGVkIHN1cnZleSBzdGF0LgpteSAkVXBkYXRlU3VjY2VzcyA9ICRTdGF0c09iamVjdC0+U3RhdHNVcGRhdGUoCiAgICBTdGF0SUQgPT4gJFN1cnZleVN0YXRJRCwKICAgIEhhc2ggICA9PiB7CiAgICAgICAgVGl0bGUgICAgICAgID0+ICJUaXRsZSBmb3IgcmVzdWx0IHRlc3RzJFJhbmRvbUlEIiwKICAgICAgICBEZXNjcmlwdGlvbiAgPT4gJ3NvbWUgRGVzY3JpcHRpb24nLAogICAgICAgIFRpbWVab25lICAgICA9PiAnVVRDJywKICAgICAgICBUaW1lU3RhbXAgICAgPT4gJzIwMTgtMDYtMjAgMTI6MDA6MDAnLAogICAgICAgIE9iamVjdCAgICAgICA9PiAnU3VydmV5TGlzdCcsCiAgICAgICAgT2JqZWN0TmFtZSAgID0+ICdTdXJ2ZXlMaXN0JywKICAgICAgICBGb3JtYXQgICAgICAgPT4gJ0NTVicsCiAgICAgICAgT2JqZWN0TW9kdWxlID0+ICdLZXJuZWw6OlN5c3RlbTo6U3RhdHM6OkR5bmFtaWM6OlN1cnZleUxpc3QnLAogICAgICAgIFN0YXRUeXBlICAgICA9PiAnZHluYW1pYycsCiAgICAgICAgQ2FjaGUgICAgICAgID0+IDEsCiAgICAgICAgVmFsaWQgICAgICAgID0+IDEsCiAgICAgICAgUGVybWlzc2lvbiAgID0+IFsKICAgICAgICAgICAgJzMnCiAgICAgICAgXSwKICAgICAgICBVc2VBc1h2YWx1ZSA9PiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFNvcnQgICAgICAgICAgID0+ICdJbmRpdmlkdWFsS2V5JywKICAgICAgICAgICAgICAgIEJsb2NrICAgICAgICAgID0+ICdNdWx0aVNlbGVjdEZpZWxkJywKICAgICAgICAgICAgICAgIFNlbGVjdGVkICAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBFbGVtZW50ICAgICAgICA9PiAnU3VydmV5QXR0cmlidXRlcycsCiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgICA9PiAnQXR0cmlidXRlcyB0byBiZSBwcmludGVkJywKICAgICAgICAgICAgICAgIFNvcnRJbmRpdmlkdWFsID0+IFsKICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlZCcsCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgVmFsdWVzID0+IHsKCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlZCA9PiAnQ3JlYXRlIFRpbWUnLAoKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBUcmFuc2xhdGlvbiAgICA9PiAxLAogICAgICAgICAgICAgICAgU2VsZWN0ZWRWYWx1ZXMgPT4gWwogICAgICAgICAgICAgICAgICAgICdDcmVhdGVkJywKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgVXNlQXNWYWx1ZVNlcmllcyA9PiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdTb3J0IHNlcXVlbmNlJywKICAgICAgICAgICAgICAgIFRyYW5zbGF0aW9uICAgID0+IDEsCiAgICAgICAgICAgICAgICBTZWxlY3RlZFZhbHVlcyA9PiBbCiAgICAgICAgICAgICAgICAgICAgJ1VwJwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgIEJsb2NrICAgID0+ICdTZWxlY3RGaWVsZCcsCiAgICAgICAgICAgICAgICBTZWxlY3RlZCA9PiAxLAogICAgICAgICAgICAgICAgRWxlbWVudCAgPT4gJ1NvcnRTZXF1ZW5jZScsCiAgICAgICAgICAgICAgICBWYWx1ZXMgICA9PiB7CiAgICAgICAgICAgICAgICAgICAgJ1VwJyA9PiAnYXNjZW5kaW5nJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICBVc2VBc1Jlc3RyaWN0aW9uID0+IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgVmFsdWVzID0+IHsKICAgICAgICAgICAgICAgICAgICAkU3VydmV5SUQgPT4gJFN1cnZleVRpdGxlLAoKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBTZWxlY3RlZCAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgU2VsZWN0ZWRWYWx1ZXMgPT4gWwogICAgICAgICAgICAgICAgICAgICRTdXJ2ZXlJRAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgIFRyYW5zbGF0aW9uID0+IDEsCiAgICAgICAgICAgICAgICBCbG9jayAgICAgICA9PiAnU2VsZWN0RmllbGQnLAogICAgICAgICAgICAgICAgRWxlbWVudCAgICAgPT4gJ1N1cnZleUlEcycsCiAgICAgICAgICAgICAgICBGaXhlZCAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgTmFtZSAgICAgICAgPT4gJ1N1cnZleSBMaXN0JwogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgIH0sCiAgICBVc2VySUQgPT4gMSwKKTsKJFNlbGYtPlRydWUoCiAgICAkVXBkYXRlU3VjY2VzcywKICAgICdTdGF0c1VwZGF0ZSgpJywKKTsKCiMgU2V0dXAgb2YgdGVzdCBjYXNlcy4KbXkgQFRlc3RzID0gKAogICAgewogICAgICAgIFRpbWVab25lICA9PiAnVVRDJywKICAgICAgICBUaW1lU3RhbXAgPT4gJzIwMTgtMDYtMjAgMTI6MDA6MDAgKFVUQyknLAogICAgfSwKICAgIHsKICAgICAgICBUaW1lWm9uZSAgPT4gJ0V1cm9wZS9CZWxncmFkZScsCiAgICAgICAgVGltZVN0YW1wID0+ICcyMDE4LTA2LTIwIDE0OjAwOjAwIChFdXJvcGUvQmVsZ3JhZGUpJywKICAgIH0sCiAgICB7CiAgICAgICAgVGltZVpvbmUgID0+ICdBbWVyaWNhL05ld19Zb3JrJywKICAgICAgICBUaW1lU3RhbXAgPT4gJzIwMTgtMDYtMjAgMDg6MDA6MDAgKEFtZXJpY2EvTmV3X1lvcmspJywKICAgIH0sCik7CgojIFNldHVwIGR5bmFtaWMgc3RhdGlzdGljIHdpdGggU3VydmV5TGlzdCBvYmplY3QuCmZvciBteSAkVGltZSAoQFRlc3RzKSB7CiAgICBteSAkVXBkYXRlU3VjY2VzcyA9ICRTdGF0c09iamVjdC0+U3RhdHNVcGRhdGUoCiAgICAgICAgU3RhdElEID0+ICRTdXJ2ZXlTdGF0SUQsCiAgICAgICAgSGFzaCAgID0+IHsKICAgICAgICAgICAgVGltZVpvbmUgPT4gJFRpbWUtPntUaW1lWm9uZX0sCiAgICAgICAgfSwKICAgICAgICBVc2VySUQgPT4gMSwKICAgICk7CiAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAkVXBkYXRlU3VjY2VzcywKICAgICAgICAnU3RhdHNVcGRhdGUoKScsCiAgICApOwoKICAgICMgR2V0IGFsbCB0aGUgc3RhdCBkYXRhLgogICAgbXkgJFN0YXQgPSAkU3RhdHNPYmplY3QtPlN0YXRzR2V0KAogICAgICAgIFN0YXRJRCA9PiAkU3VydmV5U3RhdElELAogICAgKTsKCiAgICBteSBAUmVzdWx0RGF0YSA9ICRTdGF0c09iamVjdC0+U3RhdHNSdW4oCiAgICAgICAgU3RhdElEICAgPT4gJFN1cnZleVN0YXRJRCwKICAgICAgICBHZXRQYXJhbSA9PiAkU3RhdCwKICAgICAgICBVc2VySUQgICA9PiAxLAogICAgKTsKCiAgICAkU2VsZi0+SXMoCiAgICAgICAgJFJlc3VsdERhdGFbMF1bMl1bMF0sCiAgICAgICAgJFRpbWUtPntUaW1lU3RhbXB9LAogICAgICAgICJUaW1lIHpvbmUgaXMgc2V0IGNvcnJlY3RseSB0bzogJFRpbWUtPntUaW1lU3RhbXB9IiwKICAgICk7Cn0KCjE7Cg==</File>
        <File Location="var/httpd/htdocs/js/Survey.Agent.CustomerUserConditions.js" Permission="660" Encode="Base64">Ly8gLS0KLy8gT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgovLyAtLQovLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwovLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNSBSb3RoZXIgT1NTIEdtYkgsIGh0dHBzOi8vb3RvYm8uaW8vCi8vIC0tCi8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCi8vIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi8vIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAovLyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwovLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi8vIC0tCgoidXNlIHN0cmljdCI7Cgp2YXIgU3VydmV5ID0gU3VydmV5IHx8IHt9OwpTdXJ2ZXkuQWdlbnQgPSBTdXJ2ZXkuQWdlbnQgfHwge307CgovKioKICogQG5hbWVzcGFjZQogKiBAZXhwb3J0cyBUYXJnZXROUyBhcyBTdXJ2ZXkuQWdlbnQuQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucwogKiBAZGVzY3JpcHRpb24KICogICAgICBUaGlzIG5hbWVzcGFjZSBjb250YWlucyB0aGUgc3BlY2lhbCBtb2R1bGUgZnVuY3Rpb25zIGZvciBDdXN0b21lclVzZXJDb25kaXRpb25zIGluIEFnZW50U3VydmV5QWRkIGFuZCBBZ2VudFN1cnZleUVkaXQuCiAqLwpTdXJ2ZXkuQWdlbnQuQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyA9IChmdW5jdGlvbiAoVGFyZ2V0TlMpIHsKICAgIHZhciBBY3Rpb24gPSAkKCdpbnB1dFtuYW1lPSJBY3Rpb24iXScpLnZhbCgpOwogICAgdmFyIERyb3Bkb3duSUQ7CiAgICB2YXIgRXJyb3JzT2JqOwoKICAgIC8qKgogICAgICogQG5hbWUgSW5pdAogICAgICogQG1lbWJlcm9mIFN1cnZleS5BZ2VudC5DdXN0b21lclVzZXJDb25kaXRpb25zCiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEBkZXNjcmlwdGlvbgogICAgICogICAgICBJbml0aWFsaXplIGJ1aWxkaW5nIHRoZSBzZW5kIGNvbmRpdGlvbnMuCiAgICAgKi8KICAgIFRhcmdldE5TLkluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyICREcm9wZG93biA9ICQoJyNDdXN0b21lclVzZXJDb25kaXRpb25zJyksCiAgICAgICAgICAgIEN1c3RvbWVyVXNlckNvbmRpdGlvbnMgPSBDb3JlLkNvbmZpZy5HZXQoIkpTRGF0YS5DdXN0b21lclVzZXJDb25kaXRpb25zIiksCiAgICAgICAgICAgIEVycm9ycyA9IENvcmUuQ29uZmlnLkdldCgiSlNEYXRhLkN1c3RvbWVyVXNlckNvbmRpdGlvbkVycm9ycyIpOwoKICAgICAgICBpZiAoaXNKUXVlcnlPYmplY3QoJERyb3Bkb3duKSkgewoKICAgICAgICAgICAgRHJvcGRvd25JRCA9ICREcm9wZG93bi5wcm9wKCdpZCcpOwoKICAgICAgICAgICAgJERyb3Bkb3duLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgRmllbGROYW1lID0gJERyb3Bkb3duLnZhbCgpOwoKICAgICAgICAgICAgICAgIC8vIEFkZCBuZXcgZmllbGQgZm9yIEZpZWxkTmFtZS4KICAgICAgICAgICAgICAgIFRhcmdldE5TLkFkZENvbmRpdGlvbihGaWVsZE5hbWUpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdzcGFuLlJlbW92ZUJ1dHRvbkN1c3RvbWVyRmllbGQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAvLyBHZXQgd2hvbGUgImNvbnRhaW5lciIgYW5kIHJlbW92ZSBpdC4KICAgICAgICAgICAgICAgIHZhciAkRmllbGQgPSAkKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpOwoKICAgICAgICAgICAgICAgIFRhcmdldE5TLlJlbW92ZUNvbmRpdGlvbigkRmllbGQpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdzcGFuLkFkZEJ1dHRvbkN1c3RvbWVyQ29uZGl0aW9uJywgZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIC8vIEdldCBmaXJzdCBjb25kaXRpb24gdG8gY2xvbmUgaXQgKGVtcHR5KS4KICAgICAgICAgICAgICAgIHZhciAkRmllbGQgPSAkKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmNoaWxkcmVuKCdsaScpLmZpcnN0KCk7CiAgICAgICAgICAgICAgICB2YXIgRmllbGROYW1lID0gJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5wcm9wKCdpZCcpOwogICAgICAgICAgICAgICAgVGFyZ2V0TlMuQWRkQ29uZGl0aW9uTGluZSgkRmllbGQpOwogICAgICAgICAgICAgICAgVGFyZ2V0TlMuUmVzZXRMaXN0SXRlbUlEcyhGaWVsZE5hbWUpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdzcGFuLlJlbW92ZUJ1dHRvbkN1c3RvbWVyQ29uZGl0aW9uJywgZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIHZhciAkRmllbGQgPSAkKHRoaXMpLnBhcmVudCgpOwogICAgICAgICAgICAgICAgdmFyIEZpZWxkTmFtZSA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkucHJvcCgnaWQnKTsKICAgICAgICAgICAgICAgIFRhcmdldE5TLlJlbW92ZUNvbmRpdGlvbkxpbmUoJEZpZWxkKTsKICAgICAgICAgICAgICAgIFRhcmdldE5TLlJlc2V0TGlzdEl0ZW1JRHMoRmllbGROYW1lKTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkKGRvY3VtZW50KS5vbignY2xpY2snLCAnaW5wdXQuQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0NoZWNrYm94JywgZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyk7CiAgICAgICAgICAgICAgICAkdGhpcy5wcmV2KCdpbnB1dFt0eXBlPSJoaWRkZW4iXScpLnZhbCgoKCR0aGlzLnByb3AoJ2NoZWNrZWQnKSkgPyAxIDogMCkpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIGlmIChDdXN0b21lclVzZXJDb25kaXRpb25zKSB7CgogICAgICAgICAgICAgICAgaWYgKEVycm9ycykgewoKICAgICAgICAgICAgICAgICAgICBFcnJvcnNPYmogPSBFcnJvcnM7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgVGFyZ2V0TlMuUmVzdG9yZUNvbmRpdGlvbnMoQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwoKICAgIC8qKgogICAgICogQG5hbWUgQWRkQ29uZGl0aW9uCiAgICAgKiBAbWVtYmVyb2YgU3VydmV5LkFnZW50LkN1c3RvbWVyVXNlckNvbmRpdGlvbnMKICAgICAqIEBmdW5jdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd9IEZpZWxkTmFtZSAtIFRoZSBmaWVsZCB0aGF0IHNob3VsZCBiZSBhZGRlZAogICAgICogQHBhcmFtIHtPYmplY3R9IENvbmRpdGlvbnMgLSBUaGUgY29uZGl0aW9ucyBmb3IgdGhlIGZpZWxkIHdoaWNoIHNob3VsZCBiZSBpbnNlcnRlZCAoZm9yIGVkaXQpCiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgQWRkcyBhIG5ldyBmaWVsZCB0byB0aGUgY29uZGl0aW9ucyBhbmQgaW5zZXJ0cyBzYXZlZCBjb25kaXRpb25zLgogICAgICovCiAgICBUYXJnZXROUy5BZGRDb25kaXRpb24gPSBmdW5jdGlvbiAoRmllbGROYW1lLCBDb25kaXRpb25zKSB7CgogICAgICAgIHZhciAkQ2xvbmUsICRDaGVja2JveCwgJExhYmVsLCAkSW5wdXQ7CiAgICAgICAgdmFyIE5ld05hbWUsIE5ld0NoZWNrYm94SUQsIE5ld0lucHV0SUQ7CiAgICAgICAgdmFyIERhdGE7CiAgICAgICAgdmFyIFNlbGVjdGVkVmFsdWVzOwoKICAgICAgICBpZiAoIUZpZWxkTmFtZSkgcmV0dXJuOwoKICAgICAgICAkKCcjQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkcycpLnZhbCgkKCcjQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkcycpLnZhbCgpICsgJywnICsgRmllbGROYW1lKTsKCiAgICAgICAgJENsb25lID0gJCgnI1RlbXBsYXRlTGV2ZWwxJykuY2xvbmUoKTsKCiAgICAgICAgLy8gQ2hhbmdlIG5lZWRlZCB0ZXh0cywgSURzLCAuLi4KICAgICAgICAkQ2xvbmUuZmluZCgnc3Ryb25nJykudGV4dChGaWVsZE5hbWUpOwoKICAgICAgICAkQ2hlY2tib3ggPSAkQ2xvbmUuZmluZCgnaW5wdXRbdHlwZT0iY2hlY2tib3giXScpOwogICAgICAgICRMYWJlbCAgICA9ICRDbG9uZS5maW5kKCdsYWJlbCcpOwogICAgICAgICRJbnB1dCAgICA9ICRDbG9uZS5maW5kKCdpbnB1dFt0eXBlPSJ0ZXh0Il0nKTsKCiAgICAgICAgTmV3TmFtZSAgICAgICA9IEZpZWxkTmFtZTsKICAgICAgICBOZXdDaGVja2JveElEID0gRmllbGROYW1lICsgJ0NoZWNrYm94MSc7CiAgICAgICAgTmV3SW5wdXRJRCAgICA9IEZpZWxkTmFtZSArICdJbnB1dDEnOwoKICAgICAgICAvLyBUaGUgbGFiZWwgc2hvdWxkIGJlIGFibGUgdG8gY2hlY2svdW5jaGVjayB0aGUgY2hlY2tib3guCiAgICAgICAgJENoZWNrYm94CiAgICAgICAgICAgIC5wcm9wKCdpZCcsIE5ld0NoZWNrYm94SUQpCiAgICAgICAgICAgIC5wcmV2KCdpbnB1dFt0eXBlPSJoaWRkZW4iXScpLnByb3AoJ25hbWUnLCBOZXdOYW1lICsgJ0NoZWNrYm94Jyk7CiAgICAgICAgJExhYmVsLnByb3AoJ2ZvcicsIE5ld0NoZWNrYm94SUQpOwoKICAgICAgICAkSW5wdXQKICAgICAgICAgICAgLnByb3AoJ25hbWUnLCBOZXdOYW1lKQogICAgICAgICAgICAucHJvcCgnaWQnLCBOZXdJbnB1dElEKTsKCiAgICAgICAgJENsb25lCiAgICAgICAgICAgIC5wcm9wKCdpZCcsIEZpZWxkTmFtZSkKICAgICAgICAgICAgLmZpbmQoJ2Rpdi5Ub29sdGlwRXJyb3JNZXNzYWdlJykucHJvcCgnaWQnLCBOZXdJbnB1dElEICsgJ1NlcnZlckVycm9yJykuZW5kKCkKICAgICAgICAgICAgLmluc2VydEJlZm9yZSgnI1RlbXBsYXRlTGV2ZWwxLkZpZWxkLkhpZGRlbicpOwoKICAgICAgICAvLyBQZXJmb3JtIEFKQVggY2FsbCB0byBjaGVjayB3aGV0aGVyIHRoZSBmaWVsZCBpcyBhbiBpbnB1dCBvciBzZWxlY3QgZmllbGQuCiAgICAgICAgRGF0YSA9IHsKICAgICAgICAgICAgQWN0aW9uOiBBY3Rpb24sCiAgICAgICAgICAgIFN1YmFjdGlvbjogJ0FKQVhSZXF1ZXN0JywKICAgICAgICAgICAgRmllbGROYW1lOiBGaWVsZE5hbWUKICAgICAgICB9OwoKICAgICAgICAvLyBBZGQgdmFsdWVzIGZyb20gY29uZGl0aW9ucyBhcyBzZWxlY3RlZCB2YWx1ZXMgZm9yIHNlbGVjdGlvbi4KICAgICAgICBpZiAodHlwZW9mIENvbmRpdGlvbnMgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIFNlbGVjdGVkVmFsdWVzID0gW107CiAgICAgICAgICAgIE9iamVjdC5rZXlzKENvbmRpdGlvbnMpLmZvckVhY2goZnVuY3Rpb24gKEZpZWxkKSB7CgogICAgICAgICAgICAgICAgQ29uZGl0aW9uc1tGaWVsZF0uZm9yRWFjaChmdW5jdGlvbiAoQ29uZGl0aW9uKSB7CgogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgRGF0YS5DaGVja2JveFZhbHVlID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgICAgICBEYXRhLkNoZWNrYm94VmFsdWUgPSBDb25kaXRpb24uTmVnYXRpb247CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIFNlbGVjdGVkVmFsdWVzLnB1c2goQ29uZGl0aW9uLlJlZ0V4cFZhbHVlKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIERhdGEuU2VsZWN0ZWRWYWx1ZXMgPSBTZWxlY3RlZFZhbHVlczsKICAgICAgICB9CgogICAgICAgIC8vIENhbGwgdGhlIEFKQVggZnVuY3Rpb24KICAgICAgICBDb3JlLkFKQVguRnVuY3Rpb25DYWxsKENvcmUuQ29uZmlnLkdldCgnQ0dJSGFuZGxlJyksIERhdGEsIGZ1bmN0aW9uIChSZXNwb25zZSkgewoKICAgICAgICAgICAgaWYgKFJlc3BvbnNlLlN1Y2Nlc3MpIHsKCiAgICAgICAgICAgICAgICAvLyBJbnNlcnQgYW5kIG1vZGVybml6ZSBmaWVsZC4KICAgICAgICAgICAgICAgICQoUmVzcG9uc2UuU2VsZWN0RmllbGQpCiAgICAgICAgICAgICAgICAgICAgLnByb3AoJ25hbWUnLCBOZXdOYW1lKQogICAgICAgICAgICAgICAgICAgIC5wcm9wKCdpZCcsIE5ld0lucHV0SUQpCiAgICAgICAgICAgICAgICAgICAgLmluc2VydEFmdGVyKCRDaGVja2JveCk7CgogICAgICAgICAgICAgICAgJENoZWNrYm94CiAgICAgICAgICAgICAgICAgICAgLnByb3AoJ2NoZWNrZWQnLCBEYXRhLkNoZWNrYm94VmFsdWUpCiAgICAgICAgICAgICAgICAgICAgLnByZXYoJ2lucHV0W3R5cGU9ImhpZGRlbiJdJykudmFsKCgoRGF0YS5DaGVja2JveFZhbHVlKSA/IDEgOiAwKSk7CgogICAgICAgICAgICAgICAgJElucHV0LnJlbW92ZSgpOwoKICAgICAgICAgICAgICAgICRDbG9uZS5maW5kKCcuQWRkQnV0dG9uQ3VzdG9tZXJDb25kaXRpb24nKS5hZGRDbGFzcygnSGlkZGVuJykuZW5kKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBBZGQgYSBuZXcgbGluZSBmb3IgZWFjaCBjb25kaXRpb24gKGZvciBpbnB1dCBmaWVsZHMpLgogICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBDb25kaXRpb25zICE9PSAndW5kZWZpbmVkJykgewoKICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhDb25kaXRpb25zKS5mb3JFYWNoKGZ1bmN0aW9uIChGaWVsZCkgewoKICAgICAgICAgICAgICAgICAgICAgICAgQ29uZGl0aW9uc1tGaWVsZF0uZm9yRWFjaChmdW5jdGlvbiAoQ29uZGl0aW9uKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICRGaWVsZCA9ICQoJyMnICsgRmllbGQgKyAnIHVsLkN1c3RvbWVyVXNlckNvbmRpdGlvbnNMaXN0IGxpLkRhdGFJdGVtIHVsIGxpJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQ29uZGl0aW9uLkNsb25lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJEZpZWxkID0gJEZpZWxkLmZpcnN0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkRmllbGQgPSAkRmllbGQubGFzdCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldE5TLkFkZENvbmRpdGlvbkxpbmUoJEZpZWxkLCBDb25kaXRpb24pOwogICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBjb3JyZWN0IElEcyBmb3IgdGhlIGVudGlyZSBmaWVsZC4KICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0TlMuUmVzZXRMaXN0SXRlbUlEcyhGaWVsZCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRDbG9uZS5yZW1vdmVDbGFzcygnSGlkZGVuJyk7CgogICAgICAgICAgICBpZiAoUmVzcG9uc2UuU3VjY2VzcykgewogICAgICAgICAgICAgICAgQ29yZS5VSS5JbnB1dEZpZWxkcy5BY3RpdmF0ZSgkQ2xvbmUpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoRXJyb3JzT2JqICYmIEVycm9yc09ialtGaWVsZE5hbWVdKSB7CgogICAgICAgICAgICAgICAgVGFyZ2V0TlMuU2hvd0Vycm9ycyhGaWVsZE5hbWUsIEVycm9yc09ialtGaWVsZE5hbWVdKTsKICAgICAgICAgICAgfQogICAgICAgIH0sICdqc29uJyk7CgogICAgICAgIC8vIFJlbW92ZSBGaWVsZE5hbWUgZnJvbSBkcm9wZG93biB0byBwcmV2ZW50IG11bHRpcGxlIGVudHJpZXMuCiAgICAgICAgJCgnIycgKyBEcm9wZG93bklEKQogICAgICAgICAgICAuZmluZCgib3B0aW9uW3ZhbHVlPSciICsgRmllbGROYW1lICsgIiddIikucmVtb3ZlKCkuZW5kKCkKICAgICAgICAgICAgLnZhbCgnJyk7CiAgICB9OwoKICAgIC8qKgogICAgICogQG5hbWUgUmVtb3ZlQ29uZGl0aW9uCiAgICAgKiBAbWVtYmVyb2YgU3VydmV5LkFnZW50LkN1c3RvbWVyVXNlckNvbmRpdGlvbnMKICAgICAqIEBmdW5jdGlvbgogICAgICogQHBhcmFtIHtqUXVlcnlPYmplY3R9ICRGaWVsZCAtIFRoZSBmaWVsZCB0aGF0IHNob3VsZCBiZSByZW1vdmVkCiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgUmVtb3ZlcyB0aGUgZmllbGQgZnJvbSB0aGUgY29uZGl0aW9ucy4KICAgICAqLwogICAgVGFyZ2V0TlMuUmVtb3ZlQ29uZGl0aW9uID0gZnVuY3Rpb24gKCRGaWVsZCkgewoKICAgICAgICB2YXIgRmllbGROYW1lID0gJEZpZWxkLmZpbmQoJ3N0cm9uZycpLnRleHQoKTsKICAgICAgICB2YXIgRmllbGRzVmFsID0gJCgnI0N1c3RvbWVyVXNlckNvbmRpdGlvbnNGaWVsZHMnKS52YWwoKTsKICAgICAgICBGaWVsZHNWYWwgPSBGaWVsZHNWYWwucmVwbGFjZSgnLCcgKyBGaWVsZE5hbWUsICcnKTsKICAgICAgICAkKCcjQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0ZpZWxkcycpLnZhbChGaWVsZHNWYWwpOwoKICAgICAgICAvLyBBZGQgRmllbGROYW1lIHRvIGRyb3Bkb3duLgogICAgICAgICQoJyMnICsgRHJvcGRvd25JRCkuYXBwZW5kKAogICAgICAgICAgICAkKCc8b3B0aW9uPjwvb3B0aW9uPicpLnZhbChGaWVsZE5hbWUpLmh0bWwoRmllbGROYW1lKQogICAgICAgICk7CgogICAgICAgICRGaWVsZC5yZW1vdmUoKTsKICAgIH07CgogICAgLyoqCiAgICAgKiBAbmFtZSBBZGRDb25kaXRpb25MaW5lCiAgICAgKiBAbWVtYmVyb2YgU3VydmV5LkFnZW50LkN1c3RvbWVyVXNlckNvbmRpdGlvbnMKICAgICAqIEBmdW5jdGlvbgogICAgICogQHBhcmFtIHtqUXVlcnlPYmplY3R9ICRGaWVsZCAtIFRoZSBmaWVsZCBmb3Igd2hpY2ggYSBsaW5lIHNob3VsZCBiZSBhZGRlZAogICAgICogQHBhcmFtIHtPYmplY3R9IENvbmRpdGlvbiAtIFRoZSBjb25kaXRpb24gd2hpY2ggc2hvdWxkIGJlIGFkZGVkCiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgQWRkcyBhIG5ldyBjb25kaXRpb24gbGluZSBmb3IgdGhlIHNwZWNpZmllZCBmaWVsZC4KICAgICAqLwogICAgVGFyZ2V0TlMuQWRkQ29uZGl0aW9uTGluZSA9IGZ1bmN0aW9uICgkRmllbGQsIENvbmRpdGlvbikgewoKICAgICAgICB2YXIgJENsb25lOwogICAgICAgIHZhciBDbG9uZUZpZWxkID0gdHJ1ZTsKICAgICAgICB2YXIgVGV4dFZhbHVlID0gJyc7CiAgICAgICAgdmFyIENoZWNrYm94VmFsdWUgPSBmYWxzZTsKCiAgICAgICAgaWYgKHR5cGVvZiBDb25kaXRpb24gIT09ICd1bmRlZmluZWQnKSB7CgogICAgICAgICAgICBDbG9uZUZpZWxkID0gQ29uZGl0aW9uLkNsb25lOwogICAgICAgICAgICBUZXh0VmFsdWUgPSBDb25kaXRpb24uUmVnRXhwVmFsdWU7CiAgICAgICAgICAgIENoZWNrYm94VmFsdWUgPSBDb25kaXRpb24uTmVnYXRpb247CiAgICAgICAgfQoKICAgICAgICBpZiAoQ2xvbmVGaWVsZCkgewogICAgICAgICAgICAkQ2xvbmUgPSAkRmllbGQuY2xvbmUoKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRDbG9uZSA9ICRGaWVsZDsKICAgICAgICB9CgogICAgICAgIC8vIENsZWFyIHRoZSBjbG9uZWQgZmllbGRzIChvciBzZXQgdGhlIHZhbHVlcyBmcm9tIHRoZSBnaXZlbiBjb25kaXRpb24pLgogICAgICAgICRDbG9uZQogICAgICAgICAgICAuZmluZCgnaW5wdXRbdHlwZT0iY2hlY2tib3giXScpLnByb3AoJ2NoZWNrZWQnLCBDaGVja2JveFZhbHVlKS5lbmQoKQogICAgICAgICAgICAuZmluZCgnaW5wdXRbdHlwZT0iaGlkZGVuIl0nKS52YWwoKENoZWNrYm94VmFsdWUgPyAxIDogMCkpLmVuZCgpCiAgICAgICAgICAgIC5maW5kKCdpbnB1dFt0eXBlPSJ0ZXh0Il0nKS52YWwoVGV4dFZhbHVlKS5zaG93KCkuZW5kKCk7CgogICAgICAgIGlmIChDbG9uZUZpZWxkKSB7CiAgICAgICAgICAgICRDbG9uZS5hcHBlbmRUbygkRmllbGQucGFyZW50KCkpOwogICAgICAgIH0KCiAgICAgICAgLy8gVG9nZ2xlIGJ1dHRvbnMgdG8gYWRkL3JlbW92ZSB0aGUgY29uZGl0aW9uLgogICAgICAgIGlmICgkRmllbGQucGFyZW50KCkuY2hpbGRyZW4oJ2xpJykubGVuZ3RoICE9PSAxKSB7CgogICAgICAgICAgICAkQ2xvbmUKICAgICAgICAgICAgICAgIC5maW5kKCcuUmVtb3ZlQnV0dG9uQ3VzdG9tZXJDb25kaXRpb24nKS5yZW1vdmVDbGFzcygnSGlkZGVuJykuZW5kKCkKICAgICAgICAgICAgICAgIC5maW5kKCcuQWRkQnV0dG9uQ3VzdG9tZXJDb25kaXRpb24nKS5yZW1vdmVDbGFzcygnSGlkZGVuJykuZW5kKCk7CgogICAgICAgICAgICAvLyBIaWRlIHRoZSBidXR0b24gdG8gYWRkIGEgY29uZGl0aW9uIG9uIHRoZSBwcmV2aW91cyBlbGVtZW50LgogICAgICAgICAgICAkQ2xvbmUucHJldigpLmZpbmQoJy5BZGRCdXR0b25DdXN0b21lckNvbmRpdGlvbicpLmFkZENsYXNzKCdIaWRkZW4nKS5lbmQoKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRDbG9uZQogICAgICAgICAgICAgICAgLmZpbmQoJy5SZW1vdmVCdXR0b25DdXN0b21lckNvbmRpdGlvbicpLmFkZENsYXNzKCdIaWRkZW4nKS5lbmQoKQogICAgICAgICAgICAgICAgLmZpbmQoJy5BZGRCdXR0b25DdXN0b21lckNvbmRpdGlvbicpLnJlbW92ZUNsYXNzKCdIaWRkZW4nKS5lbmQoKTsKICAgICAgICB9CiAgICB9OwoKICAgIC8qKgogICAgICogQG5hbWUgUmVtb3ZlQ29uZGl0aW9uTGluZQogICAgICogQG1lbWJlcm9mIFN1cnZleS5BZ2VudC5DdXN0b21lclVzZXJDb25kaXRpb25zCiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEBwYXJhbSB7alF1ZXJ5T2JqZWN0fSAkRmllbGQgLSBUaGUgZmllbGQgZm9yIHdoaWNoIHRoZSBsaW5lIHNob3VsZCBiZSByZW1vdmVkCiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgUmVtb3ZlcyBhIG5ldyBjb25kaXRpb24gbGluZSBmb3IgdGhlIHNwZWNpZmllZCBmaWVsZC4KICAgICAqLwogICAgVGFyZ2V0TlMuUmVtb3ZlQ29uZGl0aW9uTGluZSA9IGZ1bmN0aW9uICgkRmllbGQpIHsKCiAgICAgICAgLy8gU2hvdyB0aGUgYnV0dG9uIGZvciBhZGRpbmcgYSBjb25kaXRpb24gb24gdGhlIHByZXZpb3VzIGVsZW1lbnQuCiAgICAgICAgaWYgKCEkRmllbGQuZmluZCgnLkFkZEJ1dHRvbkN1c3RvbWVyQ29uZGl0aW9uJykuaGFzQ2xhc3MoJ0hpZGRlbicpKSB7CiAgICAgICAgICAgICRGaWVsZC5wcmV2KCkuZmluZCgnLkFkZEJ1dHRvbkN1c3RvbWVyQ29uZGl0aW9uJykucmVtb3ZlQ2xhc3MoJ0hpZGRlbicpOwogICAgICAgIH0KCiAgICAgICAgJEZpZWxkLnJlbW92ZSgpOwogICAgfTsKCiAgICAvKioKICAgICAqIEBuYW1lIFJlc2V0TGlzdEl0ZW1JRHMKICAgICAqIEBtZW1iZXJvZiBTdXJ2ZXkuQWdlbnQuQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucwogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAcGFyYW0ge1N0cmluZ30gRmllbGROYW1lIC0gVGhlIGZpZWxkIGZvciB3aGljaCB0aGUgbGlzdCBpdGVtcyBzaG91bGQgYmUgcmVzZXR0ZWQKICAgICAqIEBkZXNjcmlwdGlvbgogICAgICogICAgICBSZXNldHMgdGhlIElEcyBvZiB0aGUgbGlzdCBpdGVtcy4KICAgICAqLwogICAgVGFyZ2V0TlMuUmVzZXRMaXN0SXRlbUlEcyA9IGZ1bmN0aW9uIChGaWVsZE5hbWUpIHsKCiAgICAgICAgdmFyICRMaXN0SXRlbXMgPSAkKCcjJyArIEZpZWxkTmFtZSArICcgdWwuQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0xpc3QgbGkuRGF0YUl0ZW0gdWwgbGknKQoKICAgICAgICAvLyBTZXQgY29ycmVjdCBJRHMgZm9yIHRoZSBsaXN0IGl0ZW1zLgogICAgICAgIHZhciBpID0gMTsKICAgICAgICAkTGlzdEl0ZW1zLmVhY2goZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTsKICAgICAgICAgICAgdmFyIENoZWNrYm94SUQgPSBGaWVsZE5hbWUgKyAnQ2hlY2tib3gnICsgaTsKICAgICAgICAgICAgdmFyIElucHV0SUQgPSBGaWVsZE5hbWUgKyAnSW5wdXQnICsgaTsKCiAgICAgICAgICAgICR0aGlzCiAgICAgICAgICAgICAgICAuZmluZCgnbGFiZWwnKS5wcm9wKCdmb3InLCBDaGVja2JveElEKS5lbmQoKQogICAgICAgICAgICAgICAgLmZpbmQoJ2lucHV0W3R5cGU9ImNoZWNrYm94Il0nKS5wcm9wKCdpZCcsIENoZWNrYm94SUQpLmVuZCgpCiAgICAgICAgICAgICAgICAuZmluZCgnaW5wdXRbdHlwZT0idGV4dCJdLCBzZWxlY3QnKS5wcm9wKCdpZCcsIElucHV0SUQpLmVuZCgpCiAgICAgICAgICAgICAgICAuZmluZCgnZGl2LlRvb2x0aXBFcnJvck1lc3NhZ2UnKS5wcm9wKCdpZCcsIElucHV0SUQgKyAnU2VydmVyRXJyb3InKS5lbmQoKTsKCiAgICAgICAgICAgIGkrKzsKICAgICAgICB9KTsKICAgIH07CgogICAgLyoqCiAgICAgKiBAbmFtZSBSZXN0b3JlQ29uZGl0aW9ucwogICAgICogQG1lbWJlcm9mIFN1cnZleS5BZ2VudC5DdXN0b21lclVzZXJDb25kaXRpb25zCiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEBwYXJhbSB7QXJyYXl9IENvbmRpdGlvbnMgLSBUaGUgY29uZGl0aW9ucyB0byBkaXNwbGF5CiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgUmVzdG9yZXMgdGhlIGNvbmRpdGlvbnMgaW4gY2FzZSBvZiBhbiBlcnJvciBvciB0byBlZGl0IHRoZW0uCiAgICAgKi8KICAgIFRhcmdldE5TLlJlc3RvcmVDb25kaXRpb25zID0gZnVuY3Rpb24gKENvbmRpdGlvbnMpIHsKCiAgICAgICAgT2JqZWN0LmtleXMoQ29uZGl0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAoRmllbGQpIHsKCiAgICAgICAgICAgIHZhciBDb25kaXRpb25zT2JqID0ge307CiAgICAgICAgICAgIENvbmRpdGlvbnNPYmpbRmllbGRdID0gW107CgogICAgICAgICAgICBDb25kaXRpb25zW0ZpZWxkXS5mb3JFYWNoKGZ1bmN0aW9uIChDb25kaXRpb24sIGlkeCkgewoKICAgICAgICAgICAgICAgIHZhciBDb25kaXRpb25PYmogPSB7CiAgICAgICAgICAgICAgICAgICAgQ2xvbmU6ICgoaWR4ID09PSAwKSA/IGZhbHNlIDogdHJ1ZSksCiAgICAgICAgICAgICAgICAgICAgUmVnRXhwVmFsdWU6IENvbmRpdGlvbi5SZWdFeHBWYWx1ZSwKICAgICAgICAgICAgICAgICAgICBOZWdhdGlvbjogQm9vbGVhbihwYXJzZUludChDb25kaXRpb24uTmVnYXRpb24sIDEwKSkKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgQ29uZGl0aW9uc09ialtGaWVsZF0ucHVzaChDb25kaXRpb25PYmopOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIEFkZCBhIGNvbmRpdGlvbiBjb250YWluZXIgZm9yIHRoZSBmaWVsZCBhbmQgaW5zZXJ0IHRoZSBnaXZlbiBjb25kaXRpb25zLgogICAgICAgICAgICBUYXJnZXROUy5BZGRDb25kaXRpb24oRmllbGQsIENvbmRpdGlvbnNPYmopOwogICAgICAgIH0pOwogICAgfTsKCiAgICAvKioKICAgICAqIEBuYW1lIFNob3dFcnJvcnMKICAgICAqIEBtZW1iZXJvZiBTdXJ2ZXkuQWdlbnQuQ3VzdG9tZXJVc2VyQ29uZGl0aW9ucwogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAcGFyYW0ge1N0cmluZ30gRmllbGQgLSBUaGUgc2VsZWN0ZWQgZmllbGQgZnJvbSB0aGUgZHJvcGRvd24gd2hpY2ggaGFzIGVycm9ycwogICAgICogQHBhcmFtIHtPYmplY3R9IEVycm9ycyAtIENvbnRhaW5zIHRoZSBpbmRleCBvZiB0aGUgZmllbGRzIHdoaWNoIGFyZSBpbnZhbGlkCiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgRGlzcGxheSBlcnJvciBtZXNzYWdlcy4KICAgICAqLwogICAgVGFyZ2V0TlMuU2hvd0Vycm9ycyA9IGZ1bmN0aW9uIChGaWVsZCwgRXJyb3JzKSB7CgogICAgICAgIHZhciBJdGVtOwoKICAgICAgICBmb3IgKEl0ZW0gaW4gRXJyb3JzKSB7CgogICAgICAgICAgICBpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEVycm9ycywgSXRlbSkpIGNvbnRpbnVlOwoKICAgICAgICAgICAgJCgnIycgKyBGaWVsZCArICcgdWwuQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0xpc3QgbGkuRGF0YUl0ZW0gdWwgbGknKS5lcShJdGVtKQogICAgICAgICAgICAgICAgLmZpbmQoJ2lucHV0W3R5cGU9InRleHQiXSwgc2VsZWN0JykuYWRkQ2xhc3MoJ1NlcnZlckVycm9yJyk7CiAgICAgICAgfQoKICAgICAgICBDb3JlLkZvcm0uVmFsaWRhdGUuSW5pdCgpOwogICAgfTsKCiAgICBDb3JlLkluaXQuUmVnaXN0ZXJOYW1lc3BhY2UoVGFyZ2V0TlMsICdBUFBfTU9EVUxFJyk7CgogICAgcmV0dXJuIFRhcmdldE5TOwp9KFN1cnZleS5BZ2VudC5DdXN0b21lclVzZXJDb25kaXRpb25zIHx8IHt9KSk7Cg==</File>
        <File Location="var/httpd/htdocs/js/Survey.Agent.SurveyEditQuestions.js" Permission="660" Encode="Base64">Ly8gLS0KLy8gT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgovLyAtLQovLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwovLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNSBSb3RoZXIgT1NTIEdtYkgsIGh0dHBzOi8vb3RvYm8uaW8vCi8vIC0tCi8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCi8vIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi8vIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAovLyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwovLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi8vIC0tCgoidXNlIHN0cmljdCI7Cgp2YXIgU3VydmV5ID0gU3VydmV5IHx8IHt9OwpTdXJ2ZXkuQWdlbnQgPSBTdXJ2ZXkuQWdlbnQgfHwge307CgovKioKICogQG5hbWVzcGFjZQogKiBAZXhwb3J0cyBUYXJnZXROUyBhcyBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogKiBAZGVzY3JpcHRpb24KICogICAgICBUaGlzIG5hbWVzcGFjZSBjb250YWlucyB0aGUgc3BlY2lhbCBtb2R1bGUgZnVuY3Rpb25zIGZvciBTdXJ2ZXlFZGl0UXVlc3Rpb25zLgogKi8KU3VydmV5LkFnZW50LlN1cnZleUVkaXRRdWVzdGlvbnMgPSAoZnVuY3Rpb24gKFRhcmdldE5TKSB7CiAgICAvKioKICAgICAqIEBuYW1lIEluaXQKICAgICAqIEBtZW1iZXJvZiBTdXJ2ZXkuQWdlbnQuU3VydmV5RWRpdFF1ZXN0aW9ucwogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgSW5pdCBlZGl0IHN1cnZleSBzY3JlZW4uCiAgICAgKi8KICAgIFRhcmdldE5TLkluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgJCgnLlF1ZXN0aW9uRGVsZXRlJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKEV2ZW50KSB7CgogICAgICAgICAgICBpZih3aW5kb3cuY29uZmlybShDb3JlLkxhbmd1YWdlLlRyYW5zbGF0ZSgiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHF1ZXN0aW9uPyBBTEwgYXNzb2NpYXRlZCBkYXRhIHdpbGwgYmUgTE9TVCEiKSkpIHsKICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IENvcmUuQ29uZmlnLkdldCgnQmFzZWxpbmsnKSArICQodGhpcykuZGF0YSgncXVlcnktc3RyaW5nJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIEV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKCiAgICAgICAgJCgnLkFuc3dlckRlbGV0ZScpLm9uKCdjbGljaycsIGZ1bmN0aW9uIChFdmVudCkgewoKICAgICAgICAgICAgaWYod2luZG93LmNvbmZpcm0oQ29yZS5MYW5ndWFnZS5UcmFuc2xhdGUoIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBhbnN3ZXI/IikpKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBDb3JlLkNvbmZpZy5HZXQoJ0Jhc2VsaW5rJykgKyAkKHRoaXMpLmRhdGEoJ3F1ZXJ5LXN0cmluZycpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBFdmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSk7CgogICAgfTsKCiAgICBDb3JlLkluaXQuUmVnaXN0ZXJOYW1lc3BhY2UoVGFyZ2V0TlMsICdBUFBfTU9EVUxFJyk7CgogICAgcmV0dXJuIFRhcmdldE5TOwp9KFN1cnZleS5BZ2VudC5TdXJ2ZXlFZGl0UXVlc3Rpb25zIHx8IHt9KSk7Cg==</File>
        <File Location="var/httpd/htdocs/js/Survey.Agent.SurveyOverview.js" Permission="660" Encode="Base64">Ly8gLS0KLy8gT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgovLyAtLQovLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwovLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNSBSb3RoZXIgT1NTIEdtYkgsIGh0dHBzOi8vb3RvYm8uaW8vCi8vIC0tCi8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCi8vIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi8vIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAovLyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwovLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi8vIC0tCgoidXNlIHN0cmljdCI7Cgp2YXIgU3VydmV5ID0gU3VydmV5IHx8IHt9OwpTdXJ2ZXkuQWdlbnQgPSBTdXJ2ZXkuQWdlbnQgfHwge307Ci8qKgogKiBAbmFtZXNwYWNlCiAqIEBleHBvcnRzIFRhcmdldE5TIGFzIFN1cnZleS5BZ2VudC5TdXJ2ZXlPdmVydmlldwogKiBAZGVzY3JpcHRpb24KICogICAgICBUaGlzIG5hbWVzcGFjZSBjb250YWlucyB0aGUgc3BlY2lhbCBtb2R1bGUgZnVuY3Rpb25zIGZvciBTdXJ2ZXlPdmVydmlldy4KICovClN1cnZleS5BZ2VudC5TdXJ2ZXlPdmVydmlldyA9IChmdW5jdGlvbiAoVGFyZ2V0TlMpIHsKICAgIC8qKgogICAgICogQG5hbWUgSW5pdAogICAgICogQG1lbWJlcm9mIFN1cnZleS5BZ2VudC5TdXJ2ZXlPdmVydmlldwogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgSW5pdCBlZGl0IHN1cnZleSBzY3JlZW4uCiAgICAgKi8KICAgIFRhcmdldE5TLkluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgJCgnI1N1cnZleVNlYXJjaCcpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24gKEV2ZW50KSB7CiAgICAgICAgICAgIENvcmUuVUkuRGlhbG9nLlNob3dDb250ZW50RGlhbG9nKCQoJyNTdXJ2ZXlPdmVydmlld1NldHRpbmdzRGlhbG9nQ29udGFpbmVyJyksCiAgICAgICAgICAgICAgICBDb3JlLkxhbmd1YWdlLlRyYW5zbGF0ZSgiU2V0dGluZ3MiKSwgJzIwJScsICdDZW50ZXInLCB0cnVlLAogICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWw6IENvcmUuTGFuZ3VhZ2UuVHJhbnNsYXRlKCJTdWJtaXQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgVHlwZTogJ1N1Ym1pdCcsCiAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzOiAnUHJpbWFyeScKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBFdmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBFdmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0pOwoKICAgICAgICAvLyBiaW5kIHRoZSBDb250ZXh0U2V0dGluZ3NEaWFsb2dDb250YWluZXIKICAgICAgICAkKCcjU2hvd0NvbnRleHRTZXR0aW5nc0RpYWxvZycpLm9uKCdjbGljaycsIGZ1bmN0aW9uIChFdmVudCkgewogICAgICAgICAgICBDb3JlLlVJLkRpYWxvZy5TaG93Q29udGVudERpYWxvZygkKCcjQ29udGV4dFNldHRpbmdzRGlhbG9nQ29udGFpbmVyJyksIENvcmUuTGFuZ3VhZ2UuVHJhbnNsYXRlKCJTZXR0aW5ncyIpLCAnMjAlJywgJ0NlbnRlcicsIHRydWUsCiAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMYWJlbDogQ29yZS5MYW5ndWFnZS5UcmFuc2xhdGUoIlN1Ym1pdCIpLAogICAgICAgICAgICAgICAgICAgICAgICBUeXBlOiAnU3VibWl0JywKICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3M6ICdQcmltYXJ5JwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgRXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKCiAgICAgICAgQ29yZS5VSS5BY3Rpb25Sb3cuSW5pdCgpOwoKICAgICAgICAkKCcuTWFzdGVyQWN0aW9uJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKEV2ZW50KSB7CiAgICAgICAgICAgIHZhciAkTWFzdGVyQWN0aW9uTGluayA9ICQodGhpcykuZmluZCgnLk1hc3RlckFjdGlvbkxpbmsnKTsKICAgICAgICAgICAgLy8gb25seSBhY3QgaWYgdGhlIGxpbmsgd2FzIG5vdCBjbGlja2VkIGRpcmVjdGx5CiAgICAgICAgICAgIGlmIChFdmVudC50YXJnZXQgIT09ICRNYXN0ZXJBY3Rpb25MaW5rLmdldCgwKSkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gJE1hc3RlckFjdGlvbkxpbmsuYXR0cignaHJlZicpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIC8vIGJpbmQgdGhlIENvbnRleHRTZXR0aW5nc0RpYWxvZ0NvbnRhaW5lcgogICAgICAgICQoJyNTdXJ2ZXlTZWFyY2gnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoRXZlbnQpIHsKICAgICAgICAgICAgQ29yZS5VSS5EaWFsb2cuU2hvd0NvbnRlbnREaWFsb2coJCgnI1N1cnZleU92ZXJ2aWV3U2V0dGluZ3NEaWFsb2dDb250YWluZXInKSwKICAgICAgICAgICAgICAgIENvcmUuTGFuZ3VhZ2UuVHJhbnNsYXRlKCJTZXR0aW5ncyIpLCAnMjAlJywgJ0NlbnRlcicsIHRydWUsCiAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMYWJlbDogQ29yZS5MYW5ndWFnZS5UcmFuc2xhdGUoIlN1Ym1pdCIpLAogICAgICAgICAgICAgICAgICAgICAgICBUeXBlOiAnU3VibWl0JywKICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3M6ICdQcmltYXJ5JwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgRXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKICAgIH07CgogICAgQ29yZS5Jbml0LlJlZ2lzdGVyTmFtZXNwYWNlKFRhcmdldE5TLCAnQVBQX01PRFVMRScpOwoKICAgIHJldHVybiBUYXJnZXROUzsKfShTdXJ2ZXkuQWdlbnQuU3VydmV5T3ZlcnZpZXcgfHwge30pKTsK</File>
        <File Location="var/httpd/htdocs/js/Survey.Agent.SurveyStats.js" Permission="660" Encode="Base64">Ly8gLS0KLy8gT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgovLyAtLQovLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwovLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNSBSb3RoZXIgT1NTIEdtYkgsIGh0dHBzOi8vb3RvYm8uaW8vCi8vIC0tCi8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCi8vIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi8vIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAovLyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwovLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi8vIC0tCgoidXNlIHN0cmljdCI7Cgp2YXIgU3VydmV5ID0gU3VydmV5IHx8IHt9OwpTdXJ2ZXkuQWdlbnQgPSBTdXJ2ZXkuQWdlbnQgfHwge307Ci8qKgogKiBAbmFtZXNwYWNlCiAqIEBleHBvcnRzIFRhcmdldE5TIGFzIFN1cnZleS5BZ2VudC5TdXJ2ZXlTdGF0cwogKiBAZGVzY3JpcHRpb24KICogICAgICBUaGlzIG5hbWVzcGFjZSBjb250YWlucyB0aGUgc3BlY2lhbCBtb2R1bGUgZnVuY3Rpb25zIGZvciBTdXJ2ZXlTdGF0cy4KICovClN1cnZleS5BZ2VudC5TdXJ2ZXlTdGF0cyA9IChmdW5jdGlvbiAoVGFyZ2V0TlMpIHsKICAgIC8qKgogICAgICogQG5hbWUgSW5pdAogICAgICogQG1lbWJlcm9mIFN1cnZleS5BZ2VudC5TdXJ2ZXlTdGF0cwogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgSW5pdCBlZGl0IHN1cnZleSBzY3JlZW4uCiAgICAgKi8KICAgIFRhcmdldE5TLkluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgJCgnYS5MaW5rWm9vbVZpZXcnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICBwYXJlbnQuQ29yZS5VSS5Qb3B1cC5GaXJlUG9wdXBFdmVudCgnVVJMJywgeyBVUkw6ICQodGhpcykuYXR0cignaHJlZicpfSk7CiAgICAgICAgICAgIHBhcmVudC5Db3JlLlVJLlBvcHVwLkNsb3NlKCk7CiAgICAgICAgfSk7CgogICAgICAgICQoJyNTZWxlY3RBbGxSZXF1ZXN0cycpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIFN0YXR1cyA9ICQodGhpcykucHJvcCgnY2hlY2tlZCcpOwogICAgICAgICAgICAkKCc6Y2hlY2tib3gnKS5wcm9wKCdjaGVja2VkJywgU3RhdHVzKTsKICAgICAgICB9KTsKICAgIH07CgogICAgQ29yZS5Jbml0LlJlZ2lzdGVyTmFtZXNwYWNlKFRhcmdldE5TLCAnQVBQX01PRFVMRScpOwoKICAgIHJldHVybiBUYXJnZXROUzsKfShTdXJ2ZXkuQWdlbnQuU3VydmV5U3RhdHMgfHwge30pKTsK</File>
        <File Location="var/httpd/htdocs/js/Survey.Agent.SurveyZoom.js" Permission="660" Encode="Base64">Ly8gLS0KLy8gT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgovLyAtLQovLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwovLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNSBSb3RoZXIgT1NTIEdtYkgsIGh0dHBzOi8vb3RvYm8uaW8vCi8vIC0tCi8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCi8vIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi8vIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAovLyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwovLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi8vIC0tCgoidXNlIHN0cmljdCI7Cgp2YXIgU3VydmV5ID0gU3VydmV5IHx8IHt9OwpTdXJ2ZXkuQWdlbnQgPSBTdXJ2ZXkuQWdlbnQgfHwge307CgovKioKICogQG5hbWVzcGFjZQogKiBAZXhwb3J0cyBUYXJnZXROUyBhcyBTdXJ2ZXkuQWdlbnQuU3VydmV5Wm9vbQogKiBAZGVzY3JpcHRpb24KICogICAgICBUaGlzIG5hbWVzcGFjZSBjb250YWlucyB0aGUgc3BlY2lhbCBtb2R1bGUgZnVuY3Rpb25zIGZvciBTdXJ2ZXlab29tLgogKi8KU3VydmV5LkFnZW50LlN1cnZleVpvb20gPSAoZnVuY3Rpb24gKFRhcmdldE5TKSB7CgogICAgVGFyZ2V0TlMuSW5pdCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAkKCd1bC5BY3Rpb25zIGEuQXNQb3B1cCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgQ29yZS5VSS5Qb3B1cC5PcGVuUG9wdXAgKCQodGhpcykuYXR0cignaHJlZicpLCAnQWN0aW9uJyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKCiAgICAgICAgJCgnI05ld1N0YXR1cycpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnZm9ybScpLnN1Ym1pdCgpOwogICAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogQG5hbWUgSWZyYW1lQXV0b0hlaWdodAogICAgICogQG1lbWJlcm9mIFN1cnZleS5BZ2VudC5TdXJ2ZXlab29tCiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEBwYXJhbSB7alF1ZXJ5T2JqZWN0fSAkSWZyYW1lIC0gVGhlIGlmcmFtZSB3aGljaCBzaG91bGQgYmUgYXV0by1oZWlnaHRlZAogICAgICogQGRlc2NyaXB0aW9uCiAgICAgKiAgICAgIFNldCBpZnJhbWUgaGVpZ2h0IGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gcmVhbCBjb250ZW50IGhlaWdodCBhbmQgZGVmYXVsdCBjb25maWcgc2V0dGluZy4KICAgICAqLwogICAgVGFyZ2V0TlMuSWZyYW1lQXV0b0hlaWdodCA9IGZ1bmN0aW9uICgkSWZyYW1lKSB7CiAgICAgICAgdmFyIE5ld0hlaWdodDsKCiAgICAgICAgaWYgKGlzSlF1ZXJ5T2JqZWN0KCRJZnJhbWUpKSB7CiAgICAgICAgICAgIE5ld0hlaWdodCA9ICRJZnJhbWUuY29udGVudHMoKS5oZWlnaHQoKTsKICAgICAgICAgICAgaWYgKCFOZXdIZWlnaHQgfHwgaXNOYU4oTmV3SGVpZ2h0KSkgewogICAgICAgICAgICAgICAgTmV3SGVpZ2h0ID0gQ29yZS5Db25maWcuR2V0KCdTdXJ2ZXkuSFRNTFJpY2hUZXh0SGVpZ2h0RGVmYXVsdCcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgaWYgKE5ld0hlaWdodCA+IENvcmUuQ29uZmlnLkdldCgnU3VydmV5LkhUTUxSaWNoVGV4dEhlaWdodE1heCcpKSB7CiAgICAgICAgICAgICAgICAgICAgTmV3SGVpZ2h0ID0gQ29yZS5Db25maWcuR2V0KCdTdXJ2ZXkuSFRNTFJpY2hUZXh0SGVpZ2h0TWF4Jyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJElmcmFtZS5oZWlnaHQoTmV3SGVpZ2h0ICsgJ3B4Jyk7CiAgICAgICAgfQogICAgfTsKCiAgICBDb3JlLkluaXQuUmVnaXN0ZXJOYW1lc3BhY2UoVGFyZ2V0TlMsICdBUFBfTU9EVUxFJyk7CgogICAgcmV0dXJuIFRhcmdldE5TOwp9KFN1cnZleS5BZ2VudC5TdXJ2ZXlab29tIHx8IHt9KSk7Cg==</File>
        <File Location="var/httpd/htdocs/skins/Agent/default/css/Survey.Agent.Default.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgogKiBAcGFja2FnZSAgICAgU2tpbiAiRGVmYXVsdCIKICogQHNlY3Rpb24gICAgIERlZmF1bHQgU2V0dGluZ3MKICovCgpAbWVkaWEgc2NyZWVuLHByb2plY3Rpb24sdHYsaGFuZGhlbGQgewoKLyoqCiAqIEBzdWJzZWN0aW9uIFN1cnZleSBHcmFwaAogKi8KCmZpZWxkc2V0LlN1cnZleUdyYXBocyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KCmZpZWxkc2V0LlN1cnZleUdyYXBocyAuUXVlc3Rpb24gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMS41ZW07CiAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgIHdpZHRoOiAyNSU7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KCmZpZWxkc2V0LlN1cnZleUdyYXBocyAuQW5zd2VyIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgbGluZS1oZWlnaHQ6IDEuM2VtOwogICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjRkFGQUZBOwogICAgd2lkdGg6IDI1JTsKICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgIGNsZWFyOiBsZWZ0Owp9CgpkaXYuU3VydmV5R3JhcGggewogICAgZmxvYXQ6IGxlZnQ7CiAgICB3aWR0aDogNTAlOwogICAgaGVpZ2h0OiAyMnB4OwogICAgcGFkZGluZy1sZWZ0OiA1cHg7CiAgICBwYWRkaW5nLWJvdHRvbTogM3B4Owp9CgpkaXYuU3VydmV5R3JhcGhDb250YWluZXIgewogICAgd2lkdGg6IDk1JTsKICAgIGhlaWdodDogMjJweDsKfQoKZGl2LlN1cnZleUdyYXBoQmFyIHsKICAgIGhlaWdodDogMjJweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkIxM0U7Cn0KCnAuU3VydmV5R3JhcGhMZXllbmQgewogICAgZmxvYXQ6IGxlZnQ7CiAgICBsaW5lLWhlaWdodDogMS4zZW07CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI0ZBRkFGQTsKICAgIHdpZHRoOiAxMCU7CiAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICBoZWlnaHQ6IDIycHg7Cn0KCi5TdWJMYWJlbCB7CiAgICB3aWR0aDogMzUlOwogICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICBmbG9hdDogbGVmdDsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgouU3ViRmllbGQgewogICAgbWFyZ2luLWxlZnQ6IDM1JTsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgphLkFycm93VXAsCmEuQXJyb3dVcERpc2FibGVkLAphLkFycm93RG93biwKYS5BcnJvd0Rvd25EaXNhYmxlZCB7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBwYWRkaW5nOiAxcHg7CiAgICBtYXJnaW4tdG9wOiAwOwogICAgbWFyZ2luLWJvdHRvbTogMXB4OwogICAgYm9yZGVyLXN0eWxlOiBub25lOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKYS5BcnJvd1VwLAphLkFycm93RG93biB7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCmEuQXJyb3dVcERpc2FibGVkLAphLkFycm93RG93bkRpc2FibGVkIHsKICAgIGN1cnNvcjogZGVmYXVsdDsKfQoKYS5BcnJvd1VwOmFjdGl2ZSwKYS5BcnJvd0Rvd246YWN0aXZlIHsKICAgIG1hcmdpbi10b3A6IDFweDsKICAgIG1hcmdpbi1ib3R0b206IDA7Cn0KCmEuQXJyb3dVcERpc2FibGVkOmFjdGl2ZSwKYS5BcnJvd0Rvd25EaXNhYmxlZDphY3RpdmUgewogICAgbWFyZ2luLXRvcDogMHB4OwogICAgbWFyZ2luLWJvdHRvbTogMXB4Owp9CgphLkFycm93VXAgaSwKYS5BcnJvd0Rvd24gaSB7CiAgICBjb2xvcjogIzMzOTlGRjsKfQoKYS5BcnJvd1VwOmhvdmVyIGksCmEuQXJyb3dEb3duOmhvdmVyIGkgewogICAgY29sb3I6ICMzMzk5MDAgIWltcG9ydGFudDsKfQoKYS5BcnJvd1VwRGlzYWJsZWQsCmEuQXJyb3dEb3duRGlzYWJsZWQgewogICAgZGlzcGxheTogaW5saW5lICFJbXBvcnRhbnQ7Cn0KCmEuQXJyb3dVcERpc2FibGVkIGksCmEuQXJyb3dEb3duRGlzYWJsZWQgaSB7CiAgICBjb2xvcjogIzkwOTA5MDsKICAgIGN1cnNvcjogZGVmYXVsdDsKfQoKYS5TZWVEZXRhaWxzIHsKICAgIGhlaWdodDogMTVweDsKICAgIHBhZGRpbmc6IDFweDsKICAgIG1hcmdpbi10b3A6IC02cHg7CiAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgY3Vyc29yOiBwb2ludGVyOwp9CgphLlNlZURldGFpbHMgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgZGlzcGxheTogbm9uZTsKfQoKYS5TZWVEZXRhaWxzIGkgewogICAgY29sb3I6ICNGRjk5MjI7Cn0KCmxhYmVsLlRleHRhcmVhLApkaXYuVGV4dGFyZWEgewogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgIG1hcmdpbi10b3A6IDEwcHg7Cn0KCi5GaWVsZCB1bCBsaXsKICAgIG1hcmdpbi1sZWZ0OiAzMHB4OwogICAgbGlzdC1zdHlsZTogZGlzYzsKfQoKLkZpZWxkIG9sIGxpewogICAgbWFyZ2luLWxlZnQ6IDMwcHg7CiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsOwp9CgouRmllbGQgdWwuQ3VzdG9tZXJVc2VyQ29uZGl0aW9uc0xpc3QgbGkgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIG1hcmdpbi1ib3R0b206IDJweDsKfQoKI1N1cnZleUVtcHR5TWVzc2FnZVNtYWxsIHsKICAgIGJvcmRlci1jb2xvcjogI2RkZDsKICAgIGJvcmRlci1pbWFnZTogbm9uZTsKICAgIGJvcmRlci1zdHlsZTogc29saWQ7CiAgICBib3JkZXItd2lkdGg6IDFweDsKICAgIHBhZGRpbmc6IDdweDsKICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwp9CgoKLlRhYmxlU21hbGwgdGJvZHkgdHIuSW52YWxpZCB7CiAgICBjb2xvcjogI0NDQzsKfQoKPDw8PDw8PCBIRUFECi5OYXZpZ2F0aW9uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIHJpZ2h0OiAwOwogICAgcGFkZGluZy10b3A6IDNweDsKICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7Cn0KCi5TdXJ2ZXlBcnJvdyB7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTsKICAgIGNvbG9yOiAjRkY5OTIyOwp9CgouU3VydmV5QXJyb3dMZWZ0IHsKICAgIGZsb2F0OiBsZWZ0Owp9CgouU3VydmV5QXJyb3dSaWdodCB7CiAgICBmbG9hdDogcmlnaHQ7Cn0KCi5TdXJ2ZXlBcnJvdyBpewogICAgZm9udC1zaXplOiAyMHB4OwogICAgbWFyZ2luOiAwIDVweDsKfQoKLlN1cnZleUFycm93OmhvdmVyewogICAgY29sb3I6ICNGRjg2MDA7Cn0KCi5EaXNhYmxlZCB7CiAgICBkaXNwbGF5OiBub25lOwp9Ci5XaWRnZXRTcGFjaW5nUmlnaHQgewogICAgbWFyZ2luLXJpZ2h0OiAxM3B4Owp9Cgp9Cj09PT09PT0KLlJlbW92ZUJ1dHRvbkN1c3RvbWVyRmllbGQsCi5BZGRCdXR0b25DdXN0b21lckNvbmRpdGlvbiwKLlJlbW92ZUJ1dHRvbkN1c3RvbWVyQ29uZGl0aW9uIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoKLlJlbW92ZUJ1dHRvbkN1c3RvbWVyQ29uZGl0aW9uIHsKICAgIG1hcmdpbi1yaWdodDogMnB4Owp9Cgp9Cj4+Pj4+Pj4gb3JpZ2luL2ZlYXR1cmUtc3VydmV5aW1wcm92ZW1lbnRzLW1lcmdlZC1mbGktbWFzdGVyCg==</File>
        <File Location="var/httpd/htdocs/skins/Customer/default/css/Survey.Customer.Default.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgogKiBAcGFja2FnZSAgICAgU3VydmV5IC0gU2tpbiAiRGVmYXVsdCIKICogQHNlY3Rpb24gICAgIEN1c3RvbWVyCiAqLwoKQG1lZGlhIHNjcmVlbixwcm9qZWN0aW9uLHR2LGhhbmRoZWxkIHsKCiNvb29IZWFkZXIgewogICAgaGVpZ2h0OiA5N3B4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgIHBhZGRpbmctdG9wOiA0OHB4Owp9CgpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CgogICAgI29vb0hlYWRlciB7CiAgICAgICAgaGVpZ2h0OiA5MHB4OwogICAgICAgIHBhZGRpbmctdG9wOiA1NXB4OwogICAgICAgIHBhZGRpbmctbGVmdDogOHB4OwogICAgfQoKfQoKI29vb01haW5Cb3ggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmOTsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbEJHTGlnaHQpOwogICAgbWluLWhlaWdodDogY2FsYyggMTAwdmggLSAyNjVweCApOwp9CgpmaWVsZHNldC5TdXJ2ZXksCmRpdi5TdXJ2ZXlCbG9jayB7CiAgICB3aWR0aDogY2FsYyggMTAwJSAtIDMycHggKTsKICAgIG1heC13aWR0aDogNzM4cHg7CiAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgcGFkZGluZzogMjRweCAxNnB4IDI0cHggMTZweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7CiAgICBib3gtc2hhZG93OiAwIDE0cHggMjhweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7CiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDQsIDAsIDcxLCAwLjE2KTsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCAwIHZhbCgtLWNvbFNoYWRvd0RhcmspOwogICAgbWFyZ2luLXRvcDogMTZweDsKfQoKLlN1cnZleUJsb2NrIGRpdi5Db250ZW50IHsKICAgIG1hcmdpbi10b3A6IDhweDsKICAgIG1hcmdpbi1sZWZ0OiA4cHg7Cn0KCi5TdXJ2ZXlCbG9ja0hlYWRlciB7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U4RTlFOTsKICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGRkZGRkY7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDVweCA4cHggNHB4OwogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI0ZGRkZGRjsKfQoKZGl2LkFjdGlvblJvdyB7CiAgICBtYXgtd2lkdGg6IDc3MHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKCiAgICB0ZXh0LWFsaWduOiByaWdodDsKfQoKZGl2LkludHJvIC5Db250ZW50ewogICAgYm9yZGVyLXRvcDogMDsKfQoKZGl2LlF1ZXN0aW9uewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOUM5Qzk7CiAgICBjb2xvcjogIzkyOTI5MjsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIG1hcmdpbi1sZWZ0OiA0MHB4OwogICAgbWFyZ2luLXRvcDogMTVweDsKICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gNThweCApOwogICAgcGFkZGluZzogNHB4IDlweCAzcHggOXB4OwogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI0VDRUVFRTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgZGlzcGxheTogYmxvY2s7Cn0KCmRpdi5NYW5kYXRvcnkgewogICAgY29sb3I6IGJsYWNrOwp9CgpkaXYuRXJyb3IgewogICAgY29sb3I6ICNmZjUwNWUgIWltcG9ydGFudDsKfQoKZGl2LlRvb2x0aXBFcnJvcnsKICAgIG1hcmdpbjogLTEwcHggMCAwcHggNzVweDsKfQpkaXYuVG9vbHRpcEVycm9yIGRpdjpmaXJzdC1jaGlsZCB7CiAgICBib3JkZXItdG9wOiAwcHggIWltcG9ydGFudDsKfQpkaXYuVG9uZ3VlIHsKICAgIGJvcmRlcjogMHB4OwogICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7Cn0KCmxhYmVsLkFuc3dlciB7CiAgICBiYWNrZ3JvdW5kOm5vbmU7CiAgICBib3JkZXI6IG5vbmU7CiAgICBtYXJnaW46IDNweCAwIDAgOHB4OwogICAgdGV4dC1hbGlnbjpsZWZ0OwogICAgcGFkZGluZzogMDsKICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMzVweDsKICAgIGNvbG9yOiAjN2Y4MDlkOwogICAgY29sb3I6IHZhcigtLWNvbFRleHRMaWdodCk7Cn0KCi5NYW5kYXRvcnkgfiBsYWJlbC5BbnN3ZXIgewogICAgY29sb3I6ICMwMDAyM2M7CiAgICBjb2xvcjogdmFyKC0tY29sVGV4dERhcmspOwp9CgpsYWJlbC5BbnN3ZXIuTlBTIHsKICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7Cn0KCmZpZWxkc2V0IGlucHV0LApmaWVsZHNldCBpbnB1dC5OUFMsCmZpZWxkc2V0IHRleHRhcmVhLApkaXYuQW5zd2VyIHsKICAgIG1hcmdpbjogMTRweCAwIDAgNzVweDsKfQoKZmllbGRzZXQgaW5wdXQuTlBTOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgewogICAgbWFyZ2luOiAxNHB4IDAgMCA3cHg7Cn0KCi5SaWNoVGV4dEFuc3dlciB7CiAgICBtYXJnaW46IDE0cHggMCAwIDc1cHg7Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCiAgICAuUmljaFRleHRBbnN3ZXIgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgfQoKfQoKQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTBweCkgewoKICAgIC5SaWNoVGV4dEFuc3dlciA+IHRleHRhcmVhLAogICAgLlJpY2hUZXh0QW5zd2VyID4gLmNrZSB7CiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIH0KCn0KCmRpdi5BbnN3ZXIgewogICAgcGFkZGluZzowcHg7Cn0KCi5TdXJ2ZXlCdXR0b24gewogICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6NXB4OwogICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OjVweDsKICAgIC1tb3otYm94LXNoYWRvdzowIDAgM3B4ICNGNkY5Rjk7CiAgICBib3JkZXItY29sb3I6LW1vei11c2UtdGV4dC1jb2xvciAjRDZENkQ2ICNENkQ2RDY7CiAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNENkQ2RDY7CiAgICBib3JkZXItc3R5bGU6bm9uZSBzb2xpZCBzb2xpZDsKICAgIGJvcmRlci13aWR0aDptZWRpdW0gMXB4IDFweDsKICAgIGJvdHRvbTotMjJweDsKICAgIGNvbG9yOiM5OTk5OTk7CiAgICBkaXNwbGF5Om5vbmU7CiAgICBoZWlnaHQ6MTBweDsKICAgIG1hcmdpbjowIDEzcHg7CiAgICBwYWRkaW5nOjRweCA4cHggN3B4IDI0cHg7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsKfQoKLlN1cnZleUJsb2NrICsgZm9ybSB7CiAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICBtYXgtd2lkdGg6IDc3MHB4Owp9Cgp9Cg==</File>
        <File Location="var/packagesetup/Survey.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIHZhcjo6cGFja2FnZXNldHVwOjpTdXJ2ZXk7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgS2VybmVsOjpPdXRwdXQ6OlRlbXBsYXRlOjpQcm92aWRlcjsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKICAgICdLZXJuZWw6OlN5c3RlbTo6REInLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpMb2cnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpTeXNDb25maWcnLAopOwoKPWhlYWQxIE5BTUUKCnZhcjo6cGFja2FnZXNldHVwOjpTdXJ2ZXkgLSBjb2RlIHRvIGV4ZWN1dGUgZHVyaW5nIHBhY2thZ2UgaW5zdGFsbGF0aW9uCgo9aGVhZDEgREVTQ1JJUFRJT04KCkFsbCBmdW5jdGlvbnMKCj1oZWFkMSBQVUJMSUMgSU5URVJGQUNFCgo9aGVhZDIgbmV3KCkKCmNyZWF0ZSBhbiBvYmplY3QKCiAgICB1c2UgS2VybmVsOjpTeXN0ZW06Ok9iamVjdE1hbmFnZXI7CiAgICBsb2NhbCAkS2VybmVsOjpPTSA9IEtlcm5lbDo6U3lzdGVtOjpPYmplY3RNYW5hZ2VyLT5uZXcoKTsKICAgIG15ICRDb2RlT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgndmFyOjpwYWNrYWdlc2V0dXA6OlN1cnZleScpOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIEZvcmNlIGEgcmVsb2FkIG9mIFpaWkF1dG8ucG0gYW5kIFpaWkFBdXRvLnBtIHRvIGdldCB0aGUgZnJlc2ggY29uZmlndXJhdGlvbiB2YWx1ZXMuCiAgICBmb3IgbXkgJE1vZHVsZSAoIHNvcnQga2V5cyAlSU5DICkgewogICAgICAgIGlmICggJE1vZHVsZSA9fiBtL1paWkFBP3V0b1wucG0kLyApIHsKICAgICAgICAgICAgZGVsZXRlICRJTkN7JE1vZHVsZX07CiAgICAgICAgfQogICAgfQoKICAgICMgYWx3YXlzIGRpc2NhcmQgdGhlIGNvbmZpZyBvYmplY3QgYmVmb3JlIHBhY2thZ2UgY29kZSBpcyBleGVjdXRlZCwKICAgICMgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGNvbmZpZyBvYmplY3Qgd2lsbCBiZSBjcmVhdGVkIG5ld2x5LCBzbyB0aGF0IGl0CiAgICAjIHdpbGwgdXNlIHRoZSByZWNlbnRseSB3cml0dGVuIG5ldyBjb25maWcgZnJvbSB0aGUgcGFja2FnZQogICAgJEtlcm5lbDo6T00tPk9iamVjdHNEaXNjYXJkKAogICAgICAgIE9iamVjdHMgPT4gWydLZXJuZWw6OkNvbmZpZyddLAogICAgKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCj1oZWFkMiBDb2RlSW5zdGFsbCgpCgpydW4gdGhlIGNvZGUgaW5zdGFsbCBwYXJ0CgogICAgbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlSW5zdGFsbCgpOwoKPWN1dAoKc3ViIENvZGVJbnN0YWxsIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgcmV0dXJuIDE7Cn0KCj1oZWFkMiBDb2RlUmVpbnN0YWxsKCkKCnJ1biB0aGUgY29kZSByZWluc3RhbGwgcGFydAoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+Q29kZVJlaW5zdGFsbCgpOwoKPWN1dAoKc3ViIENvZGVSZWluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIENvZGVVcGdyYWRlKCkKCnJ1biB0aGUgY29kZSB1cGdyYWRlIHBhcnQKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVVcGdyYWRlKCk7Cgo9Y3V0CgpzdWIgQ29kZVVwZ3JhZGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIENvZGVVbmluc3RhbGwoKQoKcnVuIHRoZSBjb2RlIHVuaW5zdGFsbCBwYXJ0CgogICAgbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlVW5pbnN0YWxsKCk7Cgo9Y3V0CgpzdWIgQ29kZVVuaW5zdGFsbCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgQ29kZVVwZ3JhZGVGcm9tTG93ZXJUaGFuXzJfMF85MigpCgpUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgZXhlY3V0ZWQgaWYgdGhlIGluc3RhbGxlZCBtb2R1bGUgdmVyc2lvbiBpcyBzbWFsbGVyIHRoYW4gMi4wLjkyLgoKbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlVXBncmFkZUZyb21Mb3dlclRoYW5fMl8wXzkyKCk7Cgo9Y3V0CgpzdWIgQ29kZVVwZ3JhZGVGcm9tTG93ZXJUaGFuXzJfMF85MiB7ICAgICMjIG5vIGNyaXRpYyBxdyhPVE9CTzo6UmVxdWlyZUNhbWVsQ2FzZSkKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIFNFTEVDVCBhbGwgZnVuY3Rpb25hbGl0eSB2YWx1ZXMKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFNFTEVDVCBpZCwgc2VuZF90aW1lCiAgICAgICAgICAgIEZST00gc3VydmV5X3JlcXVlc3QnLAogICAgKTsKCiAgICBteSBATGlzdDsKICAgIFJPVzoKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgIG5leHQgUk9XIGlmICEkUm93WzFdOwoKICAgICAgICBwdXNoIEBMaXN0LCBcQFJvdzsKICAgIH0KCiAgICAjIHNhdmUgZW50cmllcyBpbiBuZXcgdGFibGUKICAgIGZvciBteSAkRW50cnkgKEBMaXN0KSB7CiAgICAgICAgcmV0dXJuIGlmICEkREJPYmplY3QtPkRvKAogICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgVVBEQVRFIHN1cnZleV9yZXF1ZXN0CiAgICAgICAgICAgICAgICBTRVQgY3JlYXRlX3RpbWUgPSA/CiAgICAgICAgICAgICAgICBXSEVSRSAgaWQgPSA/JywKICAgICAgICAgICAgQmluZCA9PiBbIFwkRW50cnktPlsxXSwgXCRFbnRyeS0+WzBdIF0sCiAgICAgICAgKTsKICAgIH0KCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIENvZGVVcGdyYWRlRnJvbUxvd2VyVGhhbl8yXzFfNSgpCgpUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgZXhlY3V0ZWQgaWYgdGhlIGluc3RhbGxlZCBtb2R1bGUgdmVyc2lvbiBpcyBzbWFsbGVyIHRoYW4gMi4xLjUuCgpteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVVcGdyYWRlRnJvbUxvd2VyVGhhbl8yXzFfNSgpOwoKPWN1dAoKc3ViIENvZGVVcGdyYWRlRnJvbUxvd2VyVGhhbl8yXzFfNSB7ICAgICMjIG5vIGNyaXRpYyBxdyhPVE9CTzo6UmVxdWlyZUNhbWVsQ2FzZSkKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBzZXQgYWxsIHN1cnZleV9xdWVzdGlvbiByZWNvcmRzCiAgICAjIHRoYXQgZG9uJ3QgaGF2ZSBhbnN3ZXJfcmVxdWlyZWQgc2V0IHRvIHNvbWV0aGluZwogICAgIyB0byAwCiAgICAkU2VsZi0+X1ByZWZpbGxfQW5zd2VyUmVxdWlyZWRGcm9tU3VydmV5UXVlc3Rpb25fMl8xXzUoKTsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIENvZGVVcGdyYWRlRnJvbUxvd2VyVGhhbl80XzBfMSgpCgpUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgZXhlY3V0ZWQgaWYgdGhlIGluc3RhbGxlZCBtb2R1bGUgdmVyc2lvbiBpcyBzbWFsbGVyIHRoYW4gNC4wLjEuCgpteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVVcGdyYWRlRnJvbUxvd2VyVGhhbl80XzBfMSgpOwoKPWN1dAoKc3ViIENvZGVVcGdyYWRlRnJvbUxvd2VyVGhhbl80XzBfMSB7ICAgICMjIG5vIGNyaXRpYyBxdyhPVE9CTzo6UmVxdWlyZUNhbWVsQ2FzZSkKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBtaWdyYXRlIHRoZSBEVEwgQ29udGVudCBpbiB0aGUgU3lzQ29uZmlnCiAgICAkU2VsZi0+X01pZ3JhdGVEVExJblN5c0NvbmZpZygpOwoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgQ29kZVVwZ3JhZGVGcm9tTG93ZXJUaGFuXzRfMF85MSgpCgpUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgZXhlY3V0ZWQgaWYgdGhlIGluc3RhbGxlZCBtb2R1bGUgdmVyc2lvbiBpcyBzbWFsbGVyIHRoYW4gNC4wLjkxLgoKbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlVXBncmFkZUZyb21Mb3dlclRoYW5fNF8wXzkxKCk7Cgo9Y3V0CgpzdWIgQ29kZVVwZ3JhZGVGcm9tTG93ZXJUaGFuXzRfMF85MSB7ICAgICMjIG5vIGNyaXRpYyBxdyhPVE9CTzo6UmVxdWlyZUNhbWVsQ2FzZSkKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGFuZ2UgY29uZmlndXJhdGlvbnMgdG8gbWF0Y2ggdGhlIG5ldyBtb2R1bGUgbG9jYXRpb24uCiAgICAkU2VsZi0+X01pZ3JhdGVDb25maWdzKCk7CgogICAgcmV0dXJuIDE7Cn0KCj1oZWFkMiBfUHJlZmlsbF9BbnN3ZXJSZXF1aXJlZEZyb21TdXJ2ZXlRdWVzdGlvbl8yXzFfNSgpCgpJbnNlcnRzIDAgaW50byBhbGwgYW5zd2VyX3JlcXVpcmVkIHJlY29yZHMgb2YgdGFibGUgc3V2ZXlfcXVlc3Rpb24Kd2hlcmUgdGhlcmUgaXMgbm8gZW50cnkgcHJlc2VudC4KCiAgICBteSAkU3VjY2VzcyA9ICRQYWNrYWdlU2V0dXAtPl9QcmVmaWxsX0Fuc3dlclJlcXVpcmVkRnJvbVN1cnZleVF1ZXN0aW9uXzJfMV81KCk7Cgo9Y3V0CgpzdWIgX1ByZWZpbGxfQW5zd2VyUmVxdWlyZWRGcm9tU3VydmV5UXVlc3Rpb25fMl8xXzUgeyAgICAjIyBubyBjcml0aWMgcXcoT1RPQk86OlJlcXVpcmVDYW1lbENhc2UpCiAgICBteSAoJFNlbGYpID0gQF87CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICBTRUxFQ1QgaWQsIGFuc3dlcl9yZXF1aXJlZAogICAgICAgICAgICBGUk9NIHN1cnZleV9xdWVzdGlvbicsCiAgICApOwogICAgbXkgQElkc1RvVXBkYXRlOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CgogICAgICAgICMgaWYgd2UgaGFkIGFuIGlkCiAgICAgICAgIyBidXQgbm8gYW5zd2VyX3JlcXVpcmVkIG9yIGFuc3dlcl9yZXF1aXJlZCBpc24ndCAwIG9yIDEKICAgICAgICAjIGNvbGxlY3QgdGhlIElEIGluIEBJZHNUb1VwZGF0ZQogICAgICAgIGlmICgKICAgICAgICAgICAgZGVmaW5lZCAkUm93WzBdCiAgICAgICAgICAgICYmIGxlbmd0aCAkUm93WzBdCiAgICAgICAgICAgICYmICgKICAgICAgICAgICAgICAgICFkZWZpbmVkICRSb3dbMV0KICAgICAgICAgICAgICAgIHx8ICggJFJvd1sxXSBuZSAnMCcgJiYgJFJvd1sxXSBuZSAnMScgKQogICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgIHB1c2ggQElkc1RvVXBkYXRlLCAkUm93WzBdOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgbXkgJFF1ZXN0aW9uSUQgKEBJZHNUb1VwZGF0ZSkgewogICAgICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMID0+ICcKICAgICAgICAgICAgICAgIFVQREFURSBzdXJ2ZXlfcXVlc3Rpb24KICAgICAgICAgICAgICAgIFNFVCBhbnN3ZXJfcmVxdWlyZWQgPSAwCiAgICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nLAogICAgICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgICAgIFwkUXVlc3Rpb25JRCwKICAgICAgICAgICAgXSwKICAgICAgICApOwogICAgfQogICAgcmV0dXJuIDE7Cn0KCnN1YiBfTWlncmF0ZURUTEluU3lzQ29uZmlnIHsKCiAgICAjIGNyZWF0ZSBuZWVkZWQgb2JqZWN0cwogICAgbXkgJENvbmZpZ09iamVjdCAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CiAgICBteSAkU3lzQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN5c0NvbmZpZycpOwogICAgbXkgJFByb3ZpZGVyT2JqZWN0ICA9IEtlcm5lbDo6T3V0cHV0OjpUZW1wbGF0ZTo6UHJvdmlkZXItPm5ldygpOwoKICAgICMgZ2V0IHNldHRpbmcncyBjb250ZW50CiAgICBteSAkU2V0dGluZyA9ICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpGcm9udGVuZDo6TWVudU1vZHVsZScpOwogICAgcmV0dXJuIGlmICEkU2V0dGluZzsKCiAgICBNRU5VTU9EVUxFOgogICAgZm9yIG15ICRNZW51TW9kdWxlICggc29ydCBrZXlzICV7JFNldHRpbmd9ICkgewoKICAgICAgICBteSAkU2V0dGluZ0NvbnRlbnQgPSAkU2V0dGluZy0+eyRNZW51TW9kdWxlfS0+e0xpbmt9OwoKICAgICAgICAjIGRvIG5vdGhpbmcgbm8gdmFsdWUgZm9yIG1pZ3JhdGluZwogICAgICAgIG5leHQgTUVOVU1PRFVMRSBpZiAhJFNldHRpbmdDb250ZW50OwoKICAgICAgICBteSAkVFRDb250ZW50OwogICAgICAgIGV2YWwgewogICAgICAgICAgICAkVFRDb250ZW50ID0gJFByb3ZpZGVyT2JqZWN0LT5NaWdyYXRlRFRMdG9UVCggQ29udGVudCA9PiAkU2V0dGluZ0NvbnRlbnQgKTsKICAgICAgICB9OwogICAgICAgIGlmICgkQCkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiJE1lbnVNb2R1bGUtPkxpbmsgOiAkQCEiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgIG5leHQgTUVOVU1PRFVMRSBpZiAkU2V0dGluZ0NvbnRlbnQgZXEgJFRUQ29udGVudDsKCiAgICAgICAgICAgICRTZXR0aW5nLT57JE1lbnVNb2R1bGV9LT57TGlua30gPSAkVFRDb250ZW50OwogICAgICAgIH0KCiAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU3lzQ29uZmlnT2JqZWN0LT5TZXR0aW5nc1NldCgKICAgICAgICAgICAgVXNlcklEICAgPT4gMSwKICAgICAgICAgICAgQ29tbWVudHMgPT4gJ0RlcGxveSBzdXJ2ZXkgbWVudSBtb2R1bGUuJywKICAgICAgICAgICAgU2V0dGluZ3MgPT4gWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdTdXJ2ZXk6OkZyb250ZW5kOjpNZW51TW9kdWxlJywKICAgICAgICAgICAgICAgICAgICBFZmZlY3RpdmVWYWx1ZSA9PiAkU2V0dGluZywKICAgICAgICAgICAgICAgICAgICBJc1ZhbGlkICAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgXSwKICAgICAgICApOwogICAgfQogICAgcmV0dXJuIDE7Cn0KCj1oZWFkMiBfTWlncmF0ZUNvbmZpZ3MoKQoKY2hhbmdlIGNvbmZpZ3VyYXRpb25zIHRvIG1hdGNoIHRoZSBuZXcgbW9kdWxlIGxvY2F0aW9uLgoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+X01pZ3JhdGVDb25maWdzKCk7Cgo9Y3V0CgpzdWIgX01pZ3JhdGVDb25maWdzIHsKCiAgICAjIGNyZWF0ZSBuZWVkZWQgb2JqZWN0cwogICAgbXkgJFN5c0NvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTeXNDb25maWcnKTsKICAgIG15ICRDb25maWdPYmplY3QgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwoKICAgICMgbWlncmF0ZSBzdXJ2ZXkgbWVudSBtb2R1bGUgc3lzY29uZmlnCiAgICAjIGdldCBzZXR0aW5nIGNvbnRlbnQgZm9yIHN1cnZleSBzeXNjb25maWcKICAgIG15ICRTZXR0aW5nID0gJENvbmZpZ09iamVjdC0+R2V0KCdTdXJ2ZXk6OkZyb250ZW5kOjpNZW51TW9kdWxlJyk7CgogICAgbXkgQFNldHRpbmdzRGVwbG95OwoKICAgIENPTkZJR0lURU06CiAgICBmb3IgbXkgJE1lbnVNb2R1bGUgKCBzb3J0IGtleXMgJXskU2V0dGluZ30gKSB7CgogICAgICAgICMgdXBkYXRlIG1vZHVsZSBsb2NhdGlvbgogICAgICAgIG15ICRNb2R1bGUgPSAkU2V0dGluZy0+eyRNZW51TW9kdWxlfS0+eydNb2R1bGUnfTsKICAgICAgICBuZXh0IENPTkZJR0lURU0gaWYgISRNb2R1bGU7CgogICAgICAgIGlmICggJE1vZHVsZSAhfiBte0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpTdXJ2ZXlNZW51KFx3Kyl9ICkgewogICAgICAgICAgICBuZXh0IENPTkZJR0lURU07CiAgICAgICAgfQoKICAgICAgICAkU2V0dGluZy0+eyRNZW51TW9kdWxlfS0+e01vZHVsZX0gPSAiS2VybmVsOjpPdXRwdXQ6OkhUTUw6OlN1cnZleU1lbnU6OiQxIjsKCiAgICAgICAgIyBzZXQgbmV3IHNldHRpbmcKICAgICAgICBwdXNoIEBTZXR0aW5nc0RlcGxveSwgewogICAgICAgICAgICBOYW1lICAgICAgICAgICA9PiAnU3VydmV5OjpGcm9udGVuZDo6TWVudU1vZHVsZSMjIycgLiAkTWVudU1vZHVsZSwKICAgICAgICAgICAgRWZmZWN0aXZlVmFsdWUgPT4gJFNldHRpbmctPnskTWVudU1vZHVsZX0sCiAgICAgICAgICAgIElzVmFsaWQgICAgICAgID0+IDEsCiAgICAgICAgfTsKICAgIH0KCiAgICAjIG1pZ3JhdGUgc3VydmV5IG92ZXJ2aWV3IHNtYWxsIFN5c0NvbmZpZwogICAgIyBnZXQgc2V0dGluZyBjb250ZW50IGZvciBzdXJ2ZXkgU3lzQ29uZmlnCiAgICAkU2V0dGluZyA9ICRDb25maWdPYmplY3QtPkdldCgnU3VydmV5OjpGcm9udGVuZDo6T3ZlcnZpZXcnKTsKCiAgICBpZiAoICRTZXR0aW5nLT57J1NtYWxsJ30tPntNb2R1bGV9ICkgewoKICAgICAgICAjIHVwZGF0ZSBtb2R1bGUgbG9jYXRpb24KICAgICAgICAkU2V0dGluZy0+eydTbWFsbCd9LT57TW9kdWxlfSA9ICJLZXJuZWw6Ok91dHB1dDo6SFRNTDo6U3VydmV5T3ZlcnZpZXc6OlNtYWxsIjsKCiAgICAgICAgIyBzZXQgbmV3IHNldHRpbmcKICAgICAgICBwdXNoIEBTZXR0aW5nc0RlcGxveSwgewogICAgICAgICAgICBOYW1lICAgICAgICAgICA9PiAnU3VydmV5OjpGcm9udGVuZDo6T3ZlcnZpZXcjIyNTbWFsbCcsCiAgICAgICAgICAgIEVmZmVjdGl2ZVZhbHVlID0+ICRTZXR0aW5nLT57J1NtYWxsJ30sCiAgICAgICAgICAgIElzVmFsaWQgICAgICAgID0+IDEsCiAgICAgICAgfTsKICAgIH0KCiAgICAjIG1pZ3JhdGUgc3VydmV5IHByZWZlcmVuY2UgU3lzQ29uZmlnCiAgICAjIGdldCBzZXR0aW5nIGNvbnRlbnQgZm9yIHN1cnZleSBTeXNDb25maWcKICAgICRTZXR0aW5nID0gJENvbmZpZ09iamVjdC0+R2V0KCdQcmVmZXJlbmNlc0dyb3VwcycpOwoKICAgIGlmICggJFNldHRpbmctPnsnU3VydmV5T3ZlcnZpZXdTbWFsbFBhZ2VTaG93bid9LT57TW9kdWxlfSApIHsKCiAgICAgICAgIyB1cGRhdGUgbW9kdWxlIGxvY2F0aW9uCiAgICAgICAgJFNldHRpbmctPnsnU3VydmV5T3ZlcnZpZXdTbWFsbFBhZ2VTaG93bid9LT57TW9kdWxlfSA9ICJLZXJuZWw6Ok91dHB1dDo6SFRNTDo6UHJlZmVyZW5jZXM6OkdlbmVyaWMiOwoKICAgICAgICAjIHNldCBuZXcgc2V0dGluZwogICAgICAgIHB1c2ggQFNldHRpbmdzRGVwbG95LCB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdQcmVmZXJlbmNlc0dyb3VwcyMjI1N1cnZleU92ZXJ2aWV3U21hbGxQYWdlU2hvd24nLAogICAgICAgICAgICBFZmZlY3RpdmVWYWx1ZSA9PiAkU2V0dGluZy0+eydTdXJ2ZXlPdmVydmlld1NtYWxsUGFnZVNob3duJ30sCiAgICAgICAgICAgIElzVmFsaWQgICAgICAgID0+IDEsCiAgICAgICAgfTsKICAgIH0KCiAgICBteSAkU3VjY2VzcyA9ICRTeXNDb25maWdPYmplY3QtPlNldHRpbmdzU2V0KAogICAgICAgIFVzZXJJRCAgID0+IDEsCiAgICAgICAgQ29tbWVudHMgPT4gJ0RlcGxveSBzdXJ2ZXkgc2V0dGluZ3MuJywKICAgICAgICBTZXR0aW5ncyA9PiBbCiAgICAgICAgICAgIFxAU2V0dGluZ3NEZXBsb3ksCiAgICAgICAgXSwKICAgICk7CgogICAgcmV0dXJuIDE7Cn0KCjE7Cgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RPQk8gcHJvamVjdCAoTDxodHRwczovL290b2JvLm9yZy8+KS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0Pi4KCj1jdXQK</File>
        <File Location="doc/en/Survey.pdf" Permission="644" Encode="Base64">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</File>
    </Filelist>
    <DatabaseInstall Type="post">
        <TableCreate Type="post" Name="survey">
            <Column AutoIncrement="true" Name="id" PrimaryKey="true" Required="true" Type="BIGINT"></Column>
            <Column Name="surveynumber" Required="false" Size="50" Type="VARCHAR"></Column>
            <Column Name="title" Required="false" Size="250" Type="VARCHAR"></Column>
            <Column Name="introduction" Required="false" Size="1000" Type="VARCHAR"></Column>
            <Column Name="description" Required="false" Size="1000" Type="VARCHAR"></Column>
            <Column Name="notification_sender" Required="false" Size="250" Type="VARCHAR"></Column>
            <Column Name="notification_subject" Required="false" Size="250" Type="VARCHAR"></Column>
            <Column Name="notification_body" Required="false" Size="2000" Type="VARCHAR"></Column>
            <Column Name="status" Required="false" Size="50" Type="VARCHAR"></Column>
            <Column Name="send_conditions" Required="false" Size="2000" Type="VARCHAR"></Column>
            <Column Name="create_time" Required="false" Type="DATE"></Column>
            <Column Name="create_by" Required="false" Type="INTEGER"></Column>
            <Column Name="change_time" Required="false" Type="DATE"></Column>
            <Column Name="change_by" Required="false" Type="INTEGER"></Column>
        </TableCreate>
        <TableCreate Type="post" Name="survey_queue">
            <Column Name="survey_id" Required="true" Type="BIGINT"></Column>
            <Column Name="queue_id" Required="true" Type="INTEGER"></Column>
            <Unique Name="survey_queue_view">
                                <UniqueColumn Name="survey_id"></UniqueColumn>
                <UniqueColumn Name="queue_id"></UniqueColumn>
</Unique>
            <Index Name="survey_queue_survey_id">
                <IndexColumn Name="survey_id">
                </IndexColumn>
            </Index>
            <Index Name="survey_queue_queue_id">
                <IndexColumn Name="queue_id">
                </IndexColumn>
            </Index>
        </TableCreate>
        <TableCreate Type="post" Name="survey_answer">
            <Column AutoIncrement="true" Name="id" PrimaryKey="true" Required="true" Type="BIGINT"></Column>
            <Column Name="question_id" Required="true" Type="BIGINT"></Column>
            <Column Name="answer" Required="true" Size="250" Type="VARCHAR"></Column>
            <Column Name="position" Required="true" Type="INTEGER"></Column>
            <Column Name="create_time" Required="false" Type="DATE"></Column>
            <Column Name="create_by" Required="false" Type="INTEGER"></Column>
            <Column Name="change_time" Required="false" Type="DATE"></Column>
            <Column Name="change_by" Required="false" Type="INTEGER"></Column>
            <Index Name="survey_answer_question_id">
                <IndexColumn Name="question_id">
                </IndexColumn>
            </Index>
        </TableCreate>
        <TableCreate Type="post" Name="survey_question">
            <Column AutoIncrement="true" Name="id" PrimaryKey="true" Required="true" Type="BIGINT"></Column>
            <Column Name="survey_id" Required="true" Type="BIGINT"></Column>
            <Column Name="question" Required="true" Size="250" Type="VARCHAR"></Column>
            <Column Name="question_type" Required="true" Size="50" Type="VARCHAR"></Column>
            <Column Name="position" Required="true" Type="SMALLINT"></Column>
            <Column Name="answer_required" Required="false" Type="SMALLINT"></Column>
            <Column Name="create_time" Required="false" Type="DATE"></Column>
            <Column Name="create_by" Required="false" Type="INTEGER"></Column>
            <Column Name="change_time" Required="false" Type="DATE"></Column>
            <Column Name="change_by" Required="false" Type="INTEGER"></Column>
            <Index Name="survey_question_survey_id">
                <IndexColumn Name="survey_id">
                </IndexColumn>
            </Index>
        </TableCreate>
        <TableCreate Type="post" Name="survey_request">
            <Column AutoIncrement="true" Name="id" PrimaryKey="true" Required="true" Type="BIGINT"></Column>
            <Column Name="ticket_id" Required="true" Type="BIGINT"></Column>
            <Column Name="survey_id" Required="true" Type="BIGINT"></Column>
            <Column Name="valid_id" Required="true" Type="SMALLINT"></Column>
            <Column Name="public_survey_key" Required="true" Size="250" Type="VARCHAR"></Column>
            <Column Name="send_to" Required="true" Size="250" Type="VARCHAR"></Column>
            <Column Name="send_time" Required="false" Type="DATE"></Column>
            <Column Name="vote_time" Required="false" Type="DATE"></Column>
            <Column Name="create_time" Required="false" Type="DATE"></Column>
            <Index Name="survey_request_ticket_id">
                <IndexColumn Name="ticket_id">
                </IndexColumn>
            </Index>
            <Index Name="survey_request_survey_id">
                <IndexColumn Name="survey_id">
                </IndexColumn>
            </Index>
            <Index Name="survey_request_valid_id">
                <IndexColumn Name="valid_id">
                </IndexColumn>
            </Index>
        </TableCreate>
        <TableCreate Type="post" Name="survey_vote">
            <Column AutoIncrement="true" Name="id" PrimaryKey="true" Required="true" Type="BIGINT"></Column>
            <Column Name="request_id" Required="true" Type="BIGINT"></Column>
            <Column Name="question_id" Required="true" Type="BIGINT"></Column>
            <Column Name="vote_value" Required="true" Size="1000" Type="VARCHAR"></Column>
            <Column Name="create_time" Required="false" Type="DATE"></Column>
            <Index Name="survey_vote_request_id">
                <IndexColumn Name="request_id">
                </IndexColumn>
            </Index>
            <Index Name="survey_vote_question_id">
                <IndexColumn Name="question_id">
                </IndexColumn>
            </Index>
        </TableCreate>
    </DatabaseInstall>
    <DatabaseUpgrade Type="post">
        <TableAlter Type="post" Name="survey_question" Version="1.0.14">
            <ColumnChange NameNew="question_type" NameOld="type" Required="true" Size="50" Type="VARCHAR"></ColumnChange>
        </TableAlter>
        <TableAlter Type="post" Name="survey" Version="1.0.18">
            <ColumnAdd Name="notification_sender" Required="false" Size="250" Type="VARCHAR"></ColumnAdd>
            <ColumnAdd Name="notification_subject" Required="false" Size="250" Type="VARCHAR"></ColumnAdd>
            <ColumnAdd Name="notification_body" Required="false" Size="2000" Type="VARCHAR"></ColumnAdd>
        </TableAlter>
        <TableCreate Type="post" Name="survey_queue" Version="1.0.18">
            <Column Name="survey_id" Required="true" Type="BIGINT"></Column>
            <Column Name="queue_id" Required="true" Type="INTEGER"></Column>
        </TableCreate>
        <TableAlter Type="post" Name="survey_request" Version="2.0.92">
            <ColumnAdd Name="create_time" Required="false" Type="DATE"></ColumnAdd>
        </TableAlter>
        <TableAlter Type="post" Name="survey_question" Version="2.1.5">
            <ColumnAdd Name="answer_required" Required="false" Type="SMALLINT"></ColumnAdd>
        </TableAlter>
        <TableAlter Type="post" Name="survey" Version="2.3.2">
            <ColumnAdd Name="send_conditions" Required="false" Size="2000" Type="VARCHAR"></ColumnAdd>
        </TableAlter>
    </DatabaseUpgrade>
    <DatabaseUninstall Type="pre">
        <TableDrop Type="pre" Name="survey">
        </TableDrop>
        <TableDrop Type="pre" Name="survey_queue">
        </TableDrop>
        <TableDrop Type="pre" Name="survey_answer">
        </TableDrop>
        <TableDrop Type="pre" Name="survey_question">
        </TableDrop>
        <TableDrop Type="pre" Name="survey_request">
        </TableDrop>
        <TableDrop Type="pre" Name="survey_vote">
        </TableDrop>
    </DatabaseUninstall>
</otrs_package>