Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1geCmk-0002S5-3z for pgadmin-hackers@arkaria.postgresql.org; Tue, 01 Jan 2019 05:40:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1geCmh-0007zu-M0 for pgadmin-hackers@arkaria.postgresql.org; Tue, 01 Jan 2019 05:40:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1geCmh-0007zn-8K for pgadmin-hackers@lists.postgresql.org; Tue, 01 Jan 2019 05:40:11 +0000 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1geCmc-00052z-74 for pgadmin-hackers@lists.postgresql.org; Tue, 01 Jan 2019 05:40:10 +0000 Received: by mail-lf1-x132.google.com with SMTP id e26so19164741lfc.2 for ; Mon, 31 Dec 2018 21:40:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=8DYZjocMGeYfPT2f7z3atld5BFHoucUKtz8RrMoTEJo=; b=qL1tAe1LZpuQo1QgGLh8CGI1CUUOkqk4j5nYFhktzOcthtJhJwBgIEaBS2yYvOxAD9 QHZKgXpzFcWUiZHlvpJ2eRq+T3qACwgR4jaXEBWuskA/g5KEt9qiX/48Tjz2LjvnMtdN C6u5KqfvL0W+kiDZCe6l9MmJ+KV0qJTCxJiphM7dcxT5Xtj+izONLz0IjeiZ/bqdw0Dw vbLi1UyttxmAy5+jiIft1WYMjhTxaBy5CG/tm4nE5cHtHkcvyledyejtpyMON52iJ/Lh 1oSEA65fFHap62OWq+mZKpw/G5g0uV+5M2siitjhPRujiiF7msroR2fbEqz9mMg6tmh5 QzHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=8DYZjocMGeYfPT2f7z3atld5BFHoucUKtz8RrMoTEJo=; b=oMNXmDNUuzlAlCx7jozO5cTBpa4wYPOpJ9TaXOjU/uZP2YrcVkedleN3Vb1cpsQAmV szhxWqXaV5/1Y0HUOa7Yb2Zh/hpl5YAGq3iMtrldzymoFdFptk358zmaxmwTLbYlZ3sc u+CFtF8ksXEbaOwXc1QVg7HNcsiBCB3a+Mulpn2asdcYo/UdM2rNmk1nfHOPcZWTN4yK 8+/gCok5AUw+k5Mt49RJY6RYlfCIk/Gp/9IxvzjbU97PcFbWVKSQc3KF+HHyWil/wQj7 nv8ZjzHlCJ3VwCXieTFxQdsADTcNE48B02fOt/78Cmyu3bp1+A9omS8FTQDiDMQKoMqK gSTg== X-Gm-Message-State: AA+aEWaSMnzp3ExR6MgFRZXmocRL9zOyYz/1ElMdHRNTTuf3772lrCU+ SRopJBtLLbwDECcmAyArBpCpGTKwrh8hDxH5jeNKkT2YqikRNw== X-Google-Smtp-Source: AFSGD/W/IYob7ek/jlHR6/exBDR0BgOou28MSyf+A+jWha/YewwPY8E63y8gSItJDQb2/VC6GrOoEdnEMzGAbFxtM8E= X-Received: by 2002:a19:2395:: with SMTP id j143mr18777175lfj.107.1546321202382; Mon, 31 Dec 2018 21:40:02 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Aditya Toshniwal Date: Tue, 1 Jan 2019 11:09:51 +0530 Message-ID: Subject: Re: pgAdmin 4 commit: Improvement in the look and feel of the whole applica To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000fa3d9d057e5ef51e" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000fa3d9d057e5ef51e Content-Type: multipart/alternative; boundary="000000000000fa3d98057e5ef51c" --000000000000fa3d98057e5ef51c Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached is the patch to improve the previously committed new design changes. The patch includes: - Base font size changed from 0.815rem to 0.875rem, for navbar from 0.875rem to 0.925rem. - Dialog sizes made consistent throughout the application. Now there are 3 size options for width and height each - sm, md, lg. Combination of any of these to be used hereafter - Alignment fix for controls of Node properties dialogs which includes showing text and label in one line without dialog size change, checkbox alignment, switch control alignment at places and other minor improvements in other dialogs - Error message design change in dialogs validation - SQL Editor data grid editor popup design changes which were missed - Design change for dashboard server activity grid - Login page language dropdown color fix - Properties accordion collapse design fix - Help, Info icon fixed across all dialogs which were not working if clicked exactly on the text - Added missing icon with buttons at few places - Shadow behind the dialogs is increased to make it look clearly separated and depth. - Control Alignment fix in maintenance dialog - Min height of alertify dialogs set for better UX - File dialog design fix when no files found - Grant wizard fixes - Scroll bar visibility on first page, use full space for SQL generated on the last page - Browser toolbar buttons changed to sync with SQL editor toolbar buttons - Rounded corners for docker floating dialog (no properties) - Other improvements wherever noticed. I hope this covers majority of the issues. Kindly review. On Fri, Dec 21, 2018 at 7:48 PM Aditya Toshniwal < aditya.toshniwal@enterprisedb.com> wrote: > > > On Fri, Dec 21, 2018 at 7:46 PM Dave Page wrote: > >> On Fri, Dec 21, 2018 at 2:14 PM Aditya Toshniwal >> wrote: >> > >> > For the query tool results grid text pop-out, you mean the border size >> around it ? >> > We don't have any design discussed for it, so could you please propose >> what can be done. >> >> Border, button colours etc. I can't draw anything, but I'd suggest >> that the border should be squared not rounded, and the >> thickness/shadow etc adjusted to match the other styling. >> > Cool. > Button colors are already changed. Others things noted. Will work on it. > >> > >> > On Fri, Dec 21, 2018 at 7:35 PM Dave Page wrote: >> >> >> >> On Fri, Dec 21, 2018 at 2:02 PM Aditya Toshniwal >> >> wrote: >> >> > >> >> > >> >> > >> >> > On Fri, Dec 21, 2018 at 7:29 PM Dave Page wrote: >> >> >> >> >> >> One other issue: I'm seeing that standard sized dialogues (e.g. the >> >> >> Server or Database Properties dialogues) are wrapping their labels >> and >> >> >> controls at the default size. That should not be the case. >> >> > >> >> > Yep. Akshay has logged that in the sheet shared ( >> https://drive.google.com/open?id=127BgrvdVUvWSEp-GnQvCDx1WaaemsycxSD0aUpWxb6k >> ). >> >> >> >> OK, but the answer isn't to increase the size of the dialogues as >> >> suggested. The size is fine (though we should review for consistency, >> >> and ensure we are using no more than 3 default standard sizes >> >> throughout the app); we should make the controls display nicely on the >> >> default dialogue size and wrap if the user makes it smaller than we >> >> can display in. >> >> >> >> >> On Fri, Dec 21, 2018 at 12:46 PM Dave Page >> wrote: >> >> >> > >> >> >> > Hi >> >> >> > >> >> >> > On Fri, Dec 21, 2018 at 12:29 PM Aditya Toshniwal >> >> >> > wrote: >> >> >> > > >> >> >> > > Hi Dave, >> >> >> > > >> >> >> > > On Fri, Dec 21, 2018 at 5:51 PM Dave Page >> wrote: >> >> >> > >> >> >> >> > >> Nice! Thanks Ashesh. >> >> >> > >> >> >> >> > >> Some small issues I spotted: >> >> >> > >> >> >> >> > >> - The font looks somewhat small. How does it compare in size >> to, say, >> >> >> > >> Gmail? I think it needs to be increased to at least that size. >> >> >> > > >> >> >> > > Gmail uses 0.875rem (14px) for the left panel (Inbox, Sent). We >> are using 0.875rem (14px) for main navbar links and 0.815rem(13.04px) for >> all other text. >> >> >> > >> >> >> > Let's increase the default to 0.875, and make the main links >> >> >> > proportionally bigger. >> >> >> > >> >> >> > >> - Dialogues have 2 close buttons next to each other in the >> top-right. >> >> >> > >> Looks like an icon and a text version? >> >> >> > > >> >> >> > > You need to do a yarn install. wcDocker code is changed to fix >> that. >> >> >> > >> >> >> > Yup, that fixed it. >> >> >> > >> >> >> > >> - Why do some Preferences panels use alternate line colouring, >> whilst >> >> >> > >> others don't? I suspect it's because some are actually tables >> under >> >> >> > >> the hood? I think we need consistency there. >> >> >> > > >> >> >> > > Noted. >> >> >> > >> >> >> >> > >> >> >> >> > >> - The Maintenance dialogue looks terrible - it needs to be >> made much >> >> >> > >> more compact. I also seem to be getting a failure to create >> >> >> > >> maintenance jobs (backups etc work fine). >> >> >> > > >> >> >> > > Noted. >> >> >> > >> >> >> >> > >> >> >> >> > >> - I think the buttons on the Browser need borders to match >> other buttons. >> >> >> > > >> >> >> > > It is made consistent with other wcDocker buttons like close, >> right arrow, left arrow. However, we can make it look like other buttons. >> >> >> > >> >> >> > I think they're a different class of buttons - control/navigation >> vs. >> >> >> > function. I think we should make this change as the browser >> buttons >> >> >> > really are a toolbar just like the larger on on the query tool. >> >> >> > >> >> >> > Thanks! >> >> >> > >> >> >> > >> Thanks! >> >> >> > >> >> >> >> > >> On Fri, Dec 21, 2018 at 12:01 PM Ashesh Vashi >> >> >> > >> wrote: >> >> >> > >> > >> >> >> > >> > Improvement in the look and feel of the whole application >> >> >> > >> > >> >> >> > >> > Changed the SCSS/CSS for the below third party libraries to >> adopt the >> >> >> > >> > new look 'n' feel: >> >> >> > >> > - wcDocker >> >> >> > >> > - Alertify dialogs, and notifications >> >> >> > >> > - AciTree >> >> >> > >> > - Bootstrap Navbar >> >> >> > >> > - Bootstrap Tabs >> >> >> > >> > - Bootstrap Drop-Down menu >> >> >> > >> > - Backgrid >> >> >> > >> > - Select2 >> >> >> > >> > >> >> >> > >> > Adopated the new the look 'n' feel for the dialogs, wizard, >> properties, >> >> >> > >> > tab panels, tabs, fieldset, subnode control, spinner >> control, HTML >> >> >> > >> > table, and other form controls. >> >> >> > >> > >> >> >> > >> > - Font is changed to Roboto >> >> >> > >> > - Using SCSS variables to define the look 'n' feel >> >> >> > >> > - Designer background images for the Login, and Forget >> password pages in >> >> >> > >> > 'web' mode >> >> >> > >> > - Improved the look 'n' feel for the key selection in the >> preferences >> >> >> > >> > dialog >> >> >> > >> > - Table classes consistency changes across the application >> >> >> > >> > - File Open and Save dialog list view changes >> >> >> > >> > >> >> >> > >> > Author(s): Aditya Toshniwal & Khushboo Vashi >> >> >> > >> > >> >> >> > >> > Branch >> >> >> > >> > ------ >> >> >> > >> > master >> >> >> > >> > >> >> >> > >> > Details >> >> >> > >> > ------- >> >> >> > >> > >> https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=5799ac14ba17dc25fbec184b3b2c6afbe37f1f74 >> >> >> > >> > >> >> >> > >> > Modified Files >> >> >> > >> > -------------- >> >> >> > >> > web/package.json | 2 +- >> >> >> > >> > .../static/js/fts_configuration.js | 2 +- >> >> >> > >> > .../databases/schemas/functions/__init__.py | 4 +- >> >> >> > >> > .../function => static}/css/function.css | 0 >> >> >> > >> > .../templates/trigger_function/css/function.css | 3 - >> >> >> > >> > .../{templates/edbfunc => static}/css/edbfunc.css | 0 >> >> >> > >> > .../static/js/exclusion_constraint.js | 18 +- >> >> >> > >> > .../foreign_key/static/js/foreign_key.js | 17 +- >> >> >> > >> > .../schemas/tables/rules/static/css/rule.css | 7 + >> >> >> > >> > .../tables/rules/templates/rules/css/rule.css | 8 - >> >> >> > >> > .../databases/schemas/views/static/css/view.css | 7 + >> >> >> > >> > .../schemas/views/templates/mview/css/mview.css | 4 - >> >> >> > >> > .../schemas/views/templates/view/css/view.css | 4 - >> >> >> > >> > .../pgagent/schedules/static/js/pga_schedule.js | 3 +- >> >> >> > >> > .../servers/pgagent/static/css/pga_job.css | 3 + >> >> >> > >> > .../pgagent/templates/pga_job/css/pga_job.css | 13 - >> >> >> > >> > .../server_groups/servers/static/css/servers.css | 4 + >> >> >> > >> > .../server_groups/servers/static/js/server.js | 22 +- >> >> >> > >> > .../server_groups/servers/static/js/variable.js | 4 +- >> >> >> > >> > .../servers/tablespaces/static/js/tablespace.js | 13 +- >> >> >> > >> > .../servers/templates/css/servers.css | 4 - >> >> >> > >> > web/pgadmin/browser/static/css/browser.css | 13 - >> >> >> > >> > web/pgadmin/browser/static/css/wizard.css | 21 +- >> >> >> > >> > web/pgadmin/browser/static/js/browser.js | 26 +- >> >> >> > >> > web/pgadmin/browser/static/js/collection.js | 16 +- >> >> >> > >> > web/pgadmin/browser/static/js/keyboard.js | 14 +- >> >> >> > >> > web/pgadmin/browser/static/js/menu.js | 28 +- >> >> >> > >> > web/pgadmin/browser/static/js/node.js | 53 +- >> >> >> > >> > web/pgadmin/browser/static/js/node.ui.js | 4 +- >> >> >> > >> > web/pgadmin/browser/static/js/panel.js | 15 +- >> >> >> > >> > web/pgadmin/browser/static/js/toolbar.js | 3 - >> >> >> > >> > web/pgadmin/browser/static/js/wizard.js | 58 +- >> >> >> > >> > web/pgadmin/browser/static/scss/_browser.scss | 43 +- >> >> >> > >> > web/pgadmin/browser/static/scss/_wizard.scss | 41 +- >> >> >> > >> > web/pgadmin/browser/templates/browser/css/node.css | 2 +- >> >> >> > >> > web/pgadmin/browser/templates/browser/index.html | 9 +- >> >> >> > >> > web/pgadmin/dashboard/__init__.py | 2 +- >> >> >> > >> > web/pgadmin/dashboard/static/css/dashboard.css | 21 +- >> >> >> > >> > web/pgadmin/dashboard/static/js/dashboard.js | 120 +- >> >> >> > >> > web/pgadmin/dashboard/static/scss/_dashboard.scss | 44 +- >> >> >> > >> > .../templates/dashboard/database_dashboard.html | 171 ++- >> >> >> > >> > .../templates/dashboard/server_dashboard.html | 197 ++- >> >> >> > >> > .../templates/dashboard/welcome_dashboard.html | 30 +- >> >> >> > >> > web/pgadmin/feature_tests/browser_tool_bar_test.py | 23 +- >> >> >> > >> > web/pgadmin/feature_tests/file_manager_test.py | 23 +- >> >> >> > >> > .../feature_tests/keyboard_shortcut_test.py | 5 +- >> >> >> > >> > .../feature_tests/pg_datatype_validation_test.py | 5 +- >> >> >> > >> > .../pg_utilities_backup_restore_test.py | 28 +- >> >> >> > >> > .../feature_tests/pg_utilities_maintenance_test.py | 16 +- >> >> >> > >> > .../feature_tests/query_tool_journey_test.py | 5 +- >> >> >> > >> > web/pgadmin/feature_tests/query_tool_tests.py | 117 +- >> >> >> > >> > web/pgadmin/feature_tests/view_data_dml_queries.py | 16 +- >> >> >> > >> > .../misc/bgprocess/static/css/bgprocess.css | 11 - >> >> >> > >> > web/pgadmin/misc/bgprocess/static/js/bgprocess.js | 173 ++- >> >> >> > >> > .../misc/bgprocess/static/scss/_bgprocess.scss | 81 +- >> >> >> > >> > web/pgadmin/misc/depends/static/js/depends.js | 3 +- >> >> >> > >> > .../misc/file_manager/static/css/file_manager.css | 141 +- >> >> >> > >> > .../misc/file_manager/static/js/create_dialogue.js | 9 +- >> >> >> > >> > .../misc/file_manager/static/js/select_dialogue.js | 19 +- >> >> >> > >> > web/pgadmin/misc/file_manager/static/js/utility.js | 77 +- >> >> >> > >> > .../file_manager/static/scss/_file_manager.scss | 157 +-- >> >> >> > >> > .../file_manager/templates/file_manager/index.html | 95 +- >> >> >> > >> > .../misc/statistics/static/js/statistics.js | 3 +- >> >> >> > >> > web/pgadmin/preferences/static/css/preferences.css | 14 - >> >> >> > >> > web/pgadmin/preferences/static/js/preferences.js | 31 +- >> >> >> > >> > .../preferences/static/scss/_preferences.scss | 16 + >> >> >> > >> > web/pgadmin/static/css/pgadmin.css | 81 +- >> >> >> > >> > web/pgadmin/static/fonts/Roboto-Bold.ttf | Bin 0 >> -> 170760 bytes >> >> >> > >> > web/pgadmin/static/fonts/Roboto-Medium.ttf | Bin 0 >> -> 172064 bytes >> >> >> > >> > web/pgadmin/static/fonts/Roboto-Regular.ttf | Bin 0 >> -> 171676 bytes >> >> >> > >> > web/pgadmin/static/img/collapse_expand.svg | 15 + >> >> >> > >> > web/pgadmin/static/img/forgot_password.svg | 283 >> ++++ >> >> >> > >> > web/pgadmin/static/img/login.svg | 1 + >> >> >> > >> > web/pgadmin/static/js/alertify.pgadmin.defaults.js | 82 +- >> >> >> > >> > web/pgadmin/static/js/backform.pgadmin.js | 80 +- >> >> >> > >> > web/pgadmin/static/js/backgrid.pgadmin.js | 33 +- >> >> >> > >> > web/pgadmin/static/js/slickgrid/editors.js | 8 +- >> >> >> > >> > web/pgadmin/static/js/sqleditor/filter_dialog.js | 33 +- >> >> >> > >> > .../static/js/sqleditor/query_tool_preferences.js | 15 +- >> >> >> > >> > web/pgadmin/static/scss/_aci_tree.overrides.scss | 75 +- >> >> >> > >> > web/pgadmin/static/scss/_alert.scss | 12 +- >> >> >> > >> > web/pgadmin/static/scss/_alertify.overrides.scss | 150 +- >> >> >> > >> > web/pgadmin/static/scss/_backform.overrides.scss | 8 + >> >> >> > >> > web/pgadmin/static/scss/_backgrid.overrides.scss | 251 >> +++- >> >> >> > >> > web/pgadmin/static/scss/_bootstrap.overrides.scss | 230 >> ++-- >> >> >> > >> > web/pgadmin/static/scss/_codemirror.overrides.scss | 94 +- >> >> >> > >> > web/pgadmin/static/scss/_pgadmin.grid.scss | 56 + >> >> >> > >> > web/pgadmin/static/scss/_pgadmin.style.scss | 1440 >> +++++--------------- >> >> >> > >> > web/pgadmin/static/scss/_select2.overrides.scss | 24 +- >> >> >> > >> > web/pgadmin/static/scss/_webcabin.overrides.scss | 368 >> ----- >> >> >> > >> > web/pgadmin/static/scss/_webcabin.pgadmin.scss | 250 >> ++++ >> >> >> > >> > web/pgadmin/static/scss/pgadmin.scss | 10 +- >> >> >> > >> > .../static/scss/resources/_default.style.scss | 90 +- >> >> >> > >> > .../static/scss/resources/_default.variables.scss | 203 ++- >> >> >> > >> > web/pgadmin/static/vendor/backform/backform.js | 645 >> +++++++++ >> >> >> > >> > .../templates/security/change_password.html | 43 +- >> >> >> > >> > .../templates/security/forgot_password.html | 9 +- >> >> >> > >> > web/pgadmin/templates/security/login_user.html | 16 +- >> >> >> > >> > web/pgadmin/templates/security/panel.html | 23 +- >> >> >> > >> > web/pgadmin/tools/backup/__init__.py | 6 +- >> >> >> > >> > web/pgadmin/tools/backup/static/js/backup.js | 8 +- >> >> >> > >> > .../backup/static/js/backup_dialog_wrapper.js | 22 +- >> >> >> > >> > web/pgadmin/tools/datagrid/__init__.py | 1 - >> >> >> > >> > web/pgadmin/tools/datagrid/static/js/datagrid.js | 38 +- >> >> >> > >> > .../tools/datagrid/templates/datagrid/filter.html | 2 - >> >> >> > >> > .../tools/datagrid/templates/datagrid/index.html | 193 ++- >> >> >> > >> > web/pgadmin/tools/debugger/static/css/debugger.css | 34 +- >> >> >> > >> > web/pgadmin/tools/debugger/static/js/debugger.js | 2 +- >> >> >> > >> > .../tools/debugger/static/js/debugger_ui.js | 28 +- >> >> >> > >> > web/pgadmin/tools/debugger/static/js/direct.js | 13 +- >> >> >> > >> > .../tools/debugger/static/scss/_debugger.scss | 8 - >> >> >> > >> > .../tools/debugger/templates/debugger/direct.html | 89 +- >> >> >> > >> > .../tools/grant_wizard/static/js/grant_wizard.js | 27 +- >> >> >> > >> > .../grant_wizard/static/scss/_grant_wizard.scss | 31 +- >> >> >> > >> > .../tools/import_export/static/js/import_export.js | 24 +- >> >> >> > >> > web/pgadmin/tools/maintenance/__init__.py | 10 +- >> >> >> > >> > .../tools/maintenance/static/js/maintenance.js | 24 +- >> >> >> > >> > .../maintenance/static/scss/_maintenance.scss | 2 +- >> >> >> > >> > web/pgadmin/tools/restore/__init__.py | 14 +- >> >> >> > >> > web/pgadmin/tools/restore/static/js/restore.js | 8 +- >> >> >> > >> > .../restore/static/js/restore_dialog_wrapper.js | 24 +- >> >> >> > >> > .../tools/sqleditor/static/css/sqleditor.css | 128 +- >> >> >> > >> > web/pgadmin/tools/sqleditor/static/js/sqleditor.js | 35 +- >> >> >> > >> > .../tools/sqleditor/static/scss/_history.scss | 42 +- >> >> >> > >> > .../tools/sqleditor/static/scss/_sqleditor.scss | 128 +- >> >> >> > >> > .../user_management/static/css/user_management.css | 37 - >> >> >> > >> > .../user_management/static/js/user_management.js | 53 +- >> >> >> > >> > .../static/scss/_user_management.scss | 12 +- >> >> >> > >> > .../javascript/alerts/alertify_wrapper_spec.js | 4 +- >> >> >> > >> > .../backup/backup_dialog_wrapper_spec.js | 8 +- >> >> >> > >> > .../restore/restore_dialog_wrapper_spec.js | 8 +- >> >> >> > >> > web/webpack.config.js | 2 +- >> >> >> > >> > web/webpack.shim.js | 2 +- >> >> >> > >> > web/webpack.test.config.js | 1 + >> >> >> > >> > web/yarn.lock | 1015 >> +++++++++++++- >> >> >> > >> > 135 files changed, 5002 insertions(+), 3850 deletions(-) >> >> >> > >> > >> >> >> > >> >> >> >> > >> >> >> >> > >> -- >> >> >> > >> Dave Page >> >> >> > >> Blog: http://pgsnake.blogspot.com >> >> >> > >> Twitter: @pgsnake >> >> >> > >> >> >> >> > >> EnterpriseDB UK: http://www.enterprisedb.com >> >> >> > >> The Enterprise PostgreSQL Company >> >> >> > > >> >> >> > > >> >> >> > > >> >> >> > > -- >> >> >> > > Thanks and Regards, >> >> >> > > Aditya Toshniwal >> >> >> > > Software Engineer | EnterpriseDB Software Solutions | Pune >> >> >> > > "Don't Complain about Heat, Plant a tree" >> >> >> > >> >> >> > >> >> >> > >> >> >> > -- >> >> >> > Dave Page >> >> >> > Blog: http://pgsnake.blogspot.com >> >> >> > Twitter: @pgsnake >> >> >> > >> >> >> > EnterpriseDB UK: http://www.enterprisedb.com >> >> >> > The Enterprise PostgreSQL Company >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> Dave Page >> >> >> Blog: http://pgsnake.blogspot.com >> >> >> Twitter: @pgsnake >> >> >> >> >> >> EnterpriseDB UK: http://www.enterprisedb.com >> >> >> The Enterprise PostgreSQL Company >> >> > >> >> > >> >> > >> >> > -- >> >> > Thanks and Regards, >> >> > Aditya Toshniwal >> >> > Software Engineer | EnterpriseDB Software Solutions | Pune >> >> > "Don't Complain about Heat, Plant a tree" >> >> >> >> >> >> >> >> -- >> >> Dave Page >> >> Blog: http://pgsnake.blogspot.com >> >> Twitter: @pgsnake >> >> >> >> EnterpriseDB UK: http://www.enterprisedb.com >> >> The Enterprise PostgreSQL Company >> > >> > >> > >> > -- >> > Thanks and Regards, >> > Aditya Toshniwal >> > Software Engineer | EnterpriseDB Software Solutions | Pune >> > "Don't Complain about Heat, Plant a tree" >> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Software Engineer | EnterpriseDB Software Solutions | Pune > "Don't Complain about Heat, Plant a tree" > -- Thanks and Regards, Aditya Toshniwal Software Engineer | EnterpriseDB Software Solutions | Pune "Don't Complain about Heat, Plant a tree" --000000000000fa3d98057e5ef51c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached is the p= atch to improve the previously committed new design changes.
The patch includes:
-= Base font size changed from 0.815rem to 0.875rem, for navbar from 0.875rem= to 0.925rem.
- Dialog sizes made con= sistent throughout the application. Now there are 3 size options for width = and height each - sm, md, lg. Combination of any of these to be used hereaf= ter
- Alignment fix for controls of N= ode properties dialogs which includes showing text and label in one line wi= thout dialog size change, checkbox alignment, switch control alignment at p= laces and other minor improvements in other dialogs
- Error message design change in dialogs validation
- SQL Editor data grid editor popup design change= s which were missed
- Design change f= or dashboard server activity grid
- Login= page language dropdown color fix
- Prope= rties accordion collapse design fix
- Hel= p, Info icon fixed across all dialogs which were not working if clicked exa= ctly on the text
- Added missing icon wit= h buttons at few places
- Shadow behind t= he dialogs is increased to make it look clearly separated and depth.
<= div class=3D"gmail_default">- Control Alignment fix in maintenance dialog
- Min height of alertify dialogs set for b= etter UX
- File dialog design fix when no= files found
- Grant wizard fixes - Scrol= l bar visibility on first page, use full space for SQL generated on the las= t page
- Browser toolbar buttons changed = to sync with SQL editor toolbar buttons
-= Rounded corners for docker floating dialog (no properties)
- Other improvements wherever noticed.

I hope this cover= s majority of the issues.
Kindly review.<= /div>

On Fri, Dec 21, 2018 at 7:48 PM Aditya = Toshniwal <aditya.t= oshniwal@enterprisedb.com> wrote:


<= div class=3D"gmail_quote">
On Fri, Dec 21, 2018 at 7:46 PM = Dave Page <dpage@= pgadmin.org> wrote:
On Fri, Dec 21, 2018 at 2:14 PM Aditya Toshniwal
<= aditya.toshniwal@enterprisedb.com> wrote:
>
> For the query tool results grid text pop-out, you mean the border size= around it ?
> We don't have any design discussed for it, so could you please pro= pose what can be done.

Border, button colours etc. I can't draw anything, but I'd suggest<= br> that the border should be squared not rounded, and the
thickness/shadow etc adjusted to match the other styling.
<= div>= Cool.
Button colors are already changed. Others things not= ed.=C2=A0Will work on it.
>
> On Fri, Dec 21, 2018 at 7:35 PM Dave Page <dpage@pgadmin.org> wrote:
>>
>> On Fri, Dec 21, 2018 at 2:02 PM Aditya Toshniwal
>> <aditya.toshniwal@enterprisedb.com> wrote:
>> >
>> >
>> >
>> > On Fri, Dec 21, 2018 at 7:29 PM Dave Page <dpage@pgadmin.org> wrote: >> >>
>> >> One other issue: I'm seeing that standard sized dialo= gues (e.g. the
>> >> Server or Database Properties dialogues) are wrapping the= ir labels and
>> >> controls at the default size. That should not be the case= .
>> >
>> > Yep. Akshay has logged that in the sheet shared (https://drive.google.com/open?id= =3D127BgrvdVUvWSEp-GnQvCDx1WaaemsycxSD0aUpWxb6k).
>>
>> OK, but the answer isn't to increase the size of the dialogues= as
>> suggested. The size is fine (though we should review for consisten= cy,
>> and ensure we are using no more than 3 default standard sizes
>> throughout the app); we should make the controls display nicely on= the
>> default dialogue size and wrap if the user makes it smaller than w= e
>> can display in.
>>
>> >> On Fri, Dec 21, 2018 at 12:46 PM Dave Page <dpage@pgadmin.org> wrot= e:
>> >> >
>> >> > Hi
>> >> >
>> >> > On Fri, Dec 21, 2018 at 12:29 PM Aditya Toshniwal >> >> > <aditya.toshniwal@enterprisedb.com> wrote:
>> >> > >
>> >> > > Hi Dave,
>> >> > >
>> >> > > On Fri, Dec 21, 2018 at 5:51 PM Dave Page <<= a href=3D"mailto:dpage@pgadmin.org" target=3D"_blank">dpage@pgadmin.org= > wrote:
>> >> > >>
>> >> > >> Nice! Thanks Ashesh.
>> >> > >>
>> >> > >> Some small issues I spotted:
>> >> > >>
>> >> > >> - The font looks somewhat small. How does i= t compare in size to, say,
>> >> > >> Gmail? I think it needs to be increased to = at least that size.
>> >> > >
>> >> > > Gmail uses 0.875rem (14px) for the left panel (= Inbox, Sent). We are using 0.875rem (14px)=C2=A0 for main navbar links and = 0.815rem(13.04px) for all other text.
>> >> >
>> >> > Let's increase the default to 0.875, and make th= e main links
>> >> > proportionally bigger.
>> >> >
>> >> > >> - Dialogues have 2 close buttons next to ea= ch other in the top-right.
>> >> > >> Looks like an icon and a text version?
>> >> > >
>> >> > > You need to do a yarn install. wcDocker code is= changed to fix that.
>> >> >
>> >> > Yup, that fixed it.
>> >> >
>> >> > >> - Why do some Preferences panels use altern= ate line colouring, whilst
>> >> > >> others don't? I suspect it's becaus= e some are actually tables under
>> >> > >> the hood? I think we need consistency there= .
>> >> > >
>> >> > > Noted.
>> >> > >>
>> >> > >>
>> >> > >> - The Maintenance dialogue looks terrible -= it needs to be made much
>> >> > >> more compact. I also seem to be getting a f= ailure to create
>> >> > >> maintenance jobs (backups etc work fine). >> >> > >
>> >> > > Noted.
>> >> > >>
>> >> > >>
>> >> > >> - I think the buttons on the Browser need b= orders to match other buttons.
>> >> > >
>> >> > > It is made consistent with other wcDocker butto= ns like close, right arrow, left arrow. However, we can make it look like o= ther buttons.
>> >> >
>> >> > I think they're a different class of buttons - c= ontrol/navigation vs.
>> >> > function. I think we should make this change as the = browser buttons
>> >> > really are a toolbar just like the larger on on the = query tool.
>> >> >
>> >> > Thanks!
>> >> >
>> >> > >> Thanks!
>> >> > >>
>> >> > >> On Fri, Dec 21, 2018 at 12:01 PM Ashesh Vas= hi
>> >> > >> <ashesh.vashi@enterprisedb.com> wrote: >> >> > >> >
>> >> > >> > Improvement in the look and feel of th= e whole application
>> >> > >> >
>> >> > >> > Changed the SCSS/CSS for the below thi= rd party libraries to adopt the
>> >> > >> > new look 'n' feel:
>> >> > >> > - wcDocker
>> >> > >> > - Alertify dialogs, and notifications<= br> >> >> > >> > - AciTree
>> >> > >> > - Bootstrap Navbar
>> >> > >> > - Bootstrap Tabs
>> >> > >> > - Bootstrap Drop-Down menu
>> >> > >> > - Backgrid
>> >> > >> > - Select2
>> >> > >> >
>> >> > >> > Adopated the new the look 'n' = feel for the dialogs, wizard, properties,
>> >> > >> > tab panels, tabs, fieldset, subnode co= ntrol, spinner control, HTML
>> >> > >> > table, and other form controls.
>> >> > >> >
>> >> > >> > - Font is changed to Roboto
>> >> > >> > - Using SCSS variables to define the l= ook 'n' feel
>> >> > >> > - Designer background images for the L= ogin, and Forget password pages in
>> >> > >> >=C2=A0 =C2=A0'web' mode
>> >> > >> > - Improved the look 'n' feel f= or the key selection in the preferences
>> >> > >> >=C2=A0 =C2=A0dialog
>> >> > >> > - Table classes consistency changes ac= ross the application
>> >> > >> > - File Open and Save dialog list view = changes
>> >> > >> >
>> >> > >> > Author(s): Aditya Toshniwal & Khus= hboo Vashi
>> >> > >> >
>> >> > >> > Branch
>> >> > >> > ------
>> >> > >> > master
>> >> > >> >
>> >> > >> > Details
>> >> > >> > -------
>> >> > >> > https://git.postgresql.org/g= itweb?p=3Dpgadmin4.git;a=3Dcommitdiff;h=3D5799ac14ba17dc25fbec184b3b2c6afbe= 37f1f74
>> >> > >> >
>> >> > >> > Modified Files
>> >> > >> > --------------
>> >> > >> > web/package.json=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 2 +-
>> >> > >> > .../static/js/fts_configuration.js=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 2= +-
>> >> > >> > .../databases/schemas/functions/__init= __.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 +-
>> >> > >> > .../function =3D> static}/css/funct= ion.css=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 0
>> >> > >> > .../templates/trigger_function/css/fun= ction.css=C2=A0 =C2=A0 |=C2=A0 =C2=A0 3 -
>> >> > >> > .../{templates/edbfunc =3D> static}= /css/edbfunc.css=C2=A0 |=C2=A0 =C2=A0 0
>> >> > >> > .../static/js/exclusion_constraint.js= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A018 +-
>> >> > >> > .../foreign_key/static/js/foreign_key.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A017 +-
>> >> > >> > .../schemas/tables/rules/static/css/ru= le.css=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 7 +
>> >> > >> > .../tables/rules/templates/rules/css/r= ule.css=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 8 -
>> >> > >> > .../databases/schemas/views/static/css= /view.css=C2=A0 =C2=A0 |=C2=A0 =C2=A0 7 +
>> >> > >> > .../schemas/views/templates/mview/css/= mview.css=C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 -
>> >> > >> > .../schemas/views/templates/view/css/v= iew.css=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 -
>> >> > >> > .../pgagent/schedules/static/js/pga_sc= hedule.js=C2=A0 =C2=A0 |=C2=A0 =C2=A0 3 +-
>> >> > >> > .../servers/pgagent/static/css/pga_job= .css=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 3 +
>> >> > >> > .../pgagent/templates/pga_job/css/pga_= job.css=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A013 -
>> >> > >> > .../server_groups/servers/static/css/s= ervers.css=C2=A0 =C2=A0|=C2=A0 =C2=A0 4 +
>> >> > >> > .../server_groups/servers/static/js/se= rver.js=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A022 +-
>> >> > >> > .../server_groups/servers/static/js/va= riable.js=C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 +-
>> >> > >> > .../servers/tablespaces/static/js/tabl= espace.js=C2=A0 =C2=A0 |=C2=A0 =C2=A013 +-
>> >> > >> > .../servers/templates/css/servers.css= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 -
>> >> > >> > web/pgadmin/browser/static/css/browser= .css=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A013 -
>> >> > >> > web/pgadmin/browser/static/css/wizard.= css=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A021 +-
>> >> > >> > web/pgadmin/browser/static/js/browser.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A026 +-
>> >> > >> > web/pgadmin/browser/static/js/collecti= on.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A016 +-
>> >> > >> > web/pgadmin/browser/static/js/keyboard= .js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A014 +-
>> >> > >> > web/pgadmin/browser/static/js/menu.js= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A028 +-
>> >> > >> > web/pgadmin/browser/static/js/node.js= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A053 +-
>> >> > >> > web/pgadmin/browser/static/js/node.ui.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 4 +-
>> >> > >> > web/pgadmin/browser/static/js/panel.js= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A015 +-
>> >> > >> > web/pgadmin/browser/static/js/toolbar.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 3 -
>> >> > >> > web/pgadmin/browser/static/js/wizard.j= s=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A058 +-
>> >> > >> > web/pgadmin/browser/static/scss/_brows= er.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A043 +-
>> >> > >> > web/pgadmin/browser/static/scss/_wizar= d.scss=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A041 +-
>> >> > >> > web/pgadmin/browser/templates/browser/= css/node.css |=C2=A0 =C2=A0 2 +-
>> >> > >> > web/pgadmin/browser/templates/browser/= index.html=C2=A0 =C2=A0|=C2=A0 =C2=A0 9 +-
>> >> > >> > web/pgadmin/dashboard/__init__.py=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 = 2 +-
>> >> > >> > web/pgadmin/dashboard/static/css/dashb= oard.css=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A021 +-
>> >> > >> > web/pgadmin/dashboard/static/js/dashbo= ard.js=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 120 +-
>> >> > >> > web/pgadmin/dashboard/static/scss/_das= hboard.scss=C2=A0 |=C2=A0 =C2=A044 +-
>> >> > >> > .../templates/dashboard/database_dashb= oard.html=C2=A0 =C2=A0 |=C2=A0 171 ++-
>> >> > >> > .../templates/dashboard/server_dashboa= rd.html=C2=A0 =C2=A0 =C2=A0 |=C2=A0 197 ++-
>> >> > >> > .../templates/dashboard/welcome_dashbo= ard.html=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A030 +-
>> >> > >> > web/pgadmin/feature_tests/browser_tool= _bar_test.py |=C2=A0 =C2=A023 +-
>> >> > >> > web/pgadmin/feature_tests/file_manager= _test.py=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A023 +-
>> >> > >> > .../feature_tests/keyboard_shortcut_te= st.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 5 +-
>> >> > >> > .../feature_tests/pg_datatype_validati= on_test.py=C2=A0 =C2=A0|=C2=A0 =C2=A0 5 +-
>> >> > >> > .../pg_utilities_backup_restore_test.p= y=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A028 +-
>> >> > >> > .../feature_tests/pg_utilities_mainten= ance_test.py |=C2=A0 =C2=A016 +-
>> >> > >> > .../feature_tests/query_tool_journey_t= est.py=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 5 +-
>> >> > >> > web/pgadmin/feature_tests/query_tool_t= ests.py=C2=A0 =C2=A0 =C2=A0 |=C2=A0 117 +-
>> >> > >> > web/pgadmin/feature_tests/view_data_dm= l_queries.py |=C2=A0 =C2=A016 +-
>> >> > >> > .../misc/bgprocess/static/css/bgproces= s.css=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A011 -
>> >> > >> > web/pgadmin/misc/bgprocess/static/js/b= gprocess.js=C2=A0 |=C2=A0 173 ++-
>> >> > >> > .../misc/bgprocess/static/scss/_bgproc= ess.scss=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A081 +-
>> >> > >> > web/pgadmin/misc/depends/static/js/dep= ends.js=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 3 +-
>> >> > >> > .../misc/file_manager/static/css/file_= manager.css=C2=A0 |=C2=A0 141 +-
>> >> > >> > .../misc/file_manager/static/js/create= _dialogue.js |=C2=A0 =C2=A0 9 +-
>> >> > >> > .../misc/file_manager/static/js/select= _dialogue.js |=C2=A0 =C2=A019 +-
>> >> > >> > web/pgadmin/misc/file_manager/static/j= s/utility.js |=C2=A0 =C2=A077 +-
>> >> > >> > .../file_manager/static/scss/_file_man= ager.scss=C2=A0 =C2=A0 |=C2=A0 157 +--
>> >> > >> > .../file_manager/templates/file_manage= r/index.html |=C2=A0 =C2=A095 +-
>> >> > >> > .../misc/statistics/static/js/statisti= cs.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 3 +-
>> >> > >> > web/pgadmin/preferences/static/css/pre= ferences.css |=C2=A0 =C2=A014 -
>> >> > >> > web/pgadmin/preferences/static/js/pref= erences.js=C2=A0 =C2=A0|=C2=A0 =C2=A031 +-
>> >> > >> > .../preferences/static/scss/_preferenc= es.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A016 +
>> >> > >> > web/pgadmin/static/css/pgadmin.css=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A081= +-
>> >> > >> > web/pgadmin/static/fonts/Roboto-Bold.t= tf=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 Bin 0 -> 170760 bytes=
>> >> > >> > web/pgadmin/static/fonts/Roboto-Medium= .ttf=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 Bin 0 -> 172064 bytes
>> >> > >> > web/pgadmin/static/fonts/Roboto-Regula= r.ttf=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 Bin 0 -> 171676 bytes
>> >> > >> > web/pgadmin/static/img/collapse_expand= .svg=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A015 +
>> >> > >> > web/pgadmin/static/img/forgot_password= .svg=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 283 ++++
>> >> > >> > web/pgadmin/static/img/login.svg=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2= =A0 1 +
>> >> > >> > web/pgadmin/static/js/alertify.pgadmin= .defaults.js |=C2=A0 =C2=A082 +-
>> >> > >> > web/pgadmin/static/js/backform.pgadmin= .js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A080 +-
>> >> > >> > web/pgadmin/static/js/backgrid.pgadmin= .js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A033 +-
>> >> > >> > web/pgadmin/static/js/slickgrid/editor= s.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > web/pgadmin/static/js/sqleditor/filter= _dialog.js=C2=A0 =C2=A0|=C2=A0 =C2=A033 +-
>> >> > >> > .../static/js/sqleditor/query_tool_pre= ferences.js=C2=A0 |=C2=A0 =C2=A015 +-
>> >> > >> > web/pgadmin/static/scss/_aci_tree.over= rides.scss=C2=A0 =C2=A0|=C2=A0 =C2=A075 +-
>> >> > >> > web/pgadmin/static/scss/_alert.scss=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A012 +- >> >> > >> > web/pgadmin/static/scss/_alertify.over= rides.scss=C2=A0 =C2=A0|=C2=A0 150 +-
>> >> > >> > web/pgadmin/static/scss/_backform.over= rides.scss=C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +
>> >> > >> > web/pgadmin/static/scss/_backgrid.over= rides.scss=C2=A0 =C2=A0|=C2=A0 251 +++-
>> >> > >> > web/pgadmin/static/scss/_bootstrap.ove= rrides.scss=C2=A0 |=C2=A0 230 ++--
>> >> > >> > web/pgadmin/static/scss/_codemirror.ov= errides.scss |=C2=A0 =C2=A094 +-
>> >> > >> > web/pgadmin/static/scss/_pgadmin.grid.= scss=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A056 +
>> >> > >> > web/pgadmin/static/scss/_pgadmin.style= .scss=C2=A0 =C2=A0 =C2=A0 =C2=A0 | 1440 +++++---------------
>> >> > >> > web/pgadmin/static/scss/_select2.overr= ides.scss=C2=A0 =C2=A0 |=C2=A0 =C2=A024 +-
>> >> > >> > web/pgadmin/static/scss/_webcabin.over= rides.scss=C2=A0 =C2=A0|=C2=A0 368 -----
>> >> > >> > web/pgadmin/static/scss/_webcabin.pgad= min.scss=C2=A0 =C2=A0 =C2=A0|=C2=A0 250 ++++
>> >> > >> > web/pgadmin/static/scss/pgadmin.scss= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A010 +-<= br> >> >> > >> > .../static/scss/resources/_default.sty= le.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A090 +-
>> >> > >> > .../static/scss/resources/_default.var= iables.scss=C2=A0 |=C2=A0 203 ++-
>> >> > >> > web/pgadmin/static/vendor/backform/bac= kform.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 645 +++++++++
>> >> > >> > .../templates/security/change_password= .html=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A043 +-
>> >> > >> > .../templates/security/forgot_password= .html=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 9 +-
>> >> > >> > web/pgadmin/templates/security/login_u= ser.html=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A016 +-
>> >> > >> > web/pgadmin/templates/security/panel.h= tml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A023 +-
>> >> > >> > web/pgadmin/tools/backup/__init__.py= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 6 +-<= br> >> >> > >> > web/pgadmin/tools/backup/static/js/bac= kup.js=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > .../backup/static/js/backup_dialog_wra= pper.js=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A022 +-
>> >> > >> > web/pgadmin/tools/datagrid/__init__.py= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 1 -
>> >> > >> > web/pgadmin/tools/datagrid/static/js/d= atagrid.js=C2=A0 =C2=A0|=C2=A0 =C2=A038 +-
>> >> > >> > .../tools/datagrid/templates/datagrid/= filter.html=C2=A0 |=C2=A0 =C2=A0 2 -
>> >> > >> > .../tools/datagrid/templates/datagrid/= index.html=C2=A0 =C2=A0|=C2=A0 193 ++-
>> >> > >> > web/pgadmin/tools/debugger/static/css/= debugger.css |=C2=A0 =C2=A034 +-
>> >> > >> > web/pgadmin/tools/debugger/static/js/d= ebugger.js=C2=A0 =C2=A0|=C2=A0 =C2=A0 2 +-
>> >> > >> > .../tools/debugger/static/js/debugger_= ui.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A028 +-
>> >> > >> > web/pgadmin/tools/debugger/static/js/d= irect.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A013 +-
>> >> > >> > .../tools/debugger/static/scss/_debugg= er.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 8 -
>> >> > >> > .../tools/debugger/templates/debugger/= direct.html=C2=A0 |=C2=A0 =C2=A089 +-
>> >> > >> > .../tools/grant_wizard/static/js/grant= _wizard.js=C2=A0 =C2=A0|=C2=A0 =C2=A027 +-
>> >> > >> > .../grant_wizard/static/scss/_grant_wi= zard.scss=C2=A0 =C2=A0 |=C2=A0 =C2=A031 +-
>> >> > >> > .../tools/import_export/static/js/impo= rt_export.js |=C2=A0 =C2=A024 +-
>> >> > >> > web/pgadmin/tools/maintenance/__init__= .py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A010 +-
>> >> > >> > .../tools/maintenance/static/js/mainte= nance.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A024 +-
>> >> > >> > .../maintenance/static/scss/_maintenan= ce.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 2 +-
>> >> > >> > web/pgadmin/tools/restore/__init__.py= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A014 +-
>> >> > >> > web/pgadmin/tools/restore/static/js/re= store.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > .../restore/static/js/restore_dialog_w= rapper.js=C2=A0 =C2=A0 |=C2=A0 =C2=A024 +-
>> >> > >> > .../tools/sqleditor/static/css/sqledit= or.css=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 128 +-
>> >> > >> > web/pgadmin/tools/sqleditor/static/js/= sqleditor.js |=C2=A0 =C2=A035 +-
>> >> > >> > .../tools/sqleditor/static/scss/_histo= ry.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A042 +-
>> >> > >> > .../tools/sqleditor/static/scss/_sqled= itor.scss=C2=A0 =C2=A0 |=C2=A0 128 +-
>> >> > >> > .../user_management/static/css/user_ma= nagement.css |=C2=A0 =C2=A037 -
>> >> > >> > .../user_management/static/js/user_man= agement.js=C2=A0 =C2=A0|=C2=A0 =C2=A053 +-
>> >> > >> > .../static/scss/_user_management.scss= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A012 +-
>> >> > >> > .../javascript/alerts/alertify_wrapper= _spec.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 4 +-
>> >> > >> > .../backup/backup_dialog_wrapper_spec.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > .../restore/restore_dialog_wrapper_spe= c.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > web/webpack.config.js=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 |=C2=A0 =C2=A0 2 +-
>> >> > >> > web/webpack.shim.js=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 2 +-
>> >> > >> > web/webpack.test.config.js=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0|=C2=A0 =C2=A0 1 +
>> >> > >> > web/yarn.lock=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 1015 +++++++++++++-
>> >> > >> > 135 files changed, 5002 insertions(+),= 3850 deletions(-)
>> >> > >> >
>> >> > >>
>> >> > >>
>> >> > >> --
>> >> > >> Dave Page
>> >> > >> Blog: http://pgsnake.blogspot.com
>> >> > >> Twitter: @pgsnake
>> >> > >>
>> >> > >> EnterpriseDB UK: http://www.enterprisedb.= com
>> >> > >> The Enterprise PostgreSQL Company
>> >> > >
>> >> > >
>> >> > >
>> >> > > --
>> >> > > Thanks and Regards,
>> >> > > Aditya Toshniwal
>> >> > > Software Engineer | EnterpriseDB Software Solut= ions | Pune
>> >> > > "Don't Complain about Heat, Plant a tr= ee"
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Dave Page
>> >> > Blog: http://pgsnake.blogspot.com
>> >> > Twitter: @pgsnake
>> >> >
>> >> > EnterpriseDB UK: http://www.enterprisedb.com >> >> > The Enterprise PostgreSQL Company
>> >>
>> >>
>> >>
>> >> --
>> >> Dave Page
>> >> Blog: http://pgsnake.blogspot.com
>> >> Twitter: @pgsnake
>> >>
>> >> EnterpriseDB UK: http://www.enterprisedb.com
>> >> The Enterprise PostgreSQL Company
>> >
>> >
>> >
>> > --
>> > Thanks and Regards,
>> > Aditya Toshniwal
>> > Software Engineer | EnterpriseDB Software Solutions | Pune >> > "Don't Complain about Heat, Plant a tree"
>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>
>
>
> --
> Thanks and Regards,
> Aditya Toshniwal
> Software Engineer | EnterpriseDB Software Solutions | Pune
> "Don't Complain about Heat, Plant a tree"



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


--
Thanks and Regards,
Aditya Toshniwal
Software Engineer |=C2=A0EnterpriseDB Software Sol= utions |=C2=A0Pune
"Don't Complain about Heat, Plant a tr= ee"


--
Thanks and Rega= rds,
Aditya Toshniwa= l
Softw= are Engineer |=C2=A0EnterpriseDB Software Solutions |=C2=A0Pune
&q= uot;Don't Complain about Heat, Plant a tree"
--000000000000fa3d98057e5ef51c-- --000000000000fa3d9d057e5ef51e Content-Type: application/octet-stream; name="RM3692.part2.patch" Content-Disposition: attachment; filename="RM3692.part2.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jqdbpcj00 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Fib3V0L3N0YXRpYy9qcy9hYm91dC5qcyBiL3dlYi9w Z2FkbWluL2Fib3V0L3N0YXRpYy9qcy9hYm91dC5qcwppbmRleCAxZTcyYzkxNy4uMmFhZjk4ZjQg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Fib3V0L3N0YXRpYy9qcy9hYm91dC5qcworKysgYi93 ZWIvcGdhZG1pbi9hYm91dC9zdGF0aWMvanMvYWJvdXQuanMKQEAgLTIwLDcgKzIwLDggQEAgZGVm aW5lKAogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICBzZXR1cDogZnVuY3Rpb24oKSB7 CiAgICAgICAgICAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6W3sg dGV4dDogZ2V0dGV4dCgnT0snKSwga2V5OiAyNywgY2xhc3NOYW1lOiAnYnRuIGJ0bi1wcmltYXJ5 JyB9XSwKKyAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6W3sgdGV4dDogZ2V0dGV4dCgnT0snKSwg a2V5OiAyNywKKyAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1wcmltYXJ5 IGZhIGZhLWxnIGZhLWNoZWNrIHBnLWFsZXJ0aWZ5LWJ1dHRvbicgfV0sCiAgICAgICAgICAgICAg ICAgICBvcHRpb25zOiB7CiAgICAgICAgICAgICAgICAgICAgIG1vZGFsOiBmYWxzZSwKICAgICAg ICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLApAQCAtNDQsNyArNDUsNyBAQCBkZWZpbmUo CiAgICAgICAgICAgICBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgIGFsZXJ0aWZ5LmFi b3V0RGlhbG9nKAogICAgICAgICAgICAgICAgICAgUyhnZXR0ZXh0KCdBYm91dCAlcycpKS5zcHJp bnRmKHBnQWRtaW4uQnJvd3Nlci51dGlscy5hcHBfbmFtZSkudmFsdWUoKSwgZGF0YQotICAgICAg ICAgICAgICApLnJlc2l6ZVRvKDgwMCwgNDUwKTsKKyAgICAgICAgICAgICAgKS5yZXNpemVUbyhw Z0FkbWluLkJyb3dzZXIuc3RkVy5tZCwgcGdBZG1pbi5Ccm93c2VyLnN0ZEgubWQpOwogICAgICAg ICAgICAgfSk7CiAgICAgICB9LAogICAgIH07CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvbGFuZ3VhZ2VzL3N0YXRpYy9qcy9s YW5ndWFnZS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9sYW5ndWFnZXMvc3RhdGljL2pzL2xhbmd1YWdlLmpzCmluZGV4IGU3ZTJhYTQzLi5i MWM3Njg4NyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdlcy9zdGF0aWMvanMvbGFuZ3VhZ2UuanMKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdl cy9zdGF0aWMvanMvbGFuZ3VhZ2UuanMKQEAgLTIyMCwxNCArMjIwLDE0IEBAIGRlZmluZSgncGdh ZG1pbi5ub2RlLmxhbmd1YWdlJywgWwogICAgICAgICAgIH0sCiAgICAgICAgIH0sIHsKICAgICAg ICAgICBpZDogJ2xhbmFjbCcsIGxhYmVsOiBnZXR0ZXh0KCdQcml2aWxlZ2VzJyksIHR5cGU6ICdj b2xsZWN0aW9uJywKLSAgICAgICAgICBncm91cDogJ3NlY3VyaXR5JywgY29udHJvbDogJ3VuaXF1 ZS1jb2wtY29sbGVjdGlvbicsIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKKyAgICAgICAgICBn cm91cDogZ2V0dGV4dCgnU2VjdXJpdHknKSwgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlv bicsIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKICAgICAgICAgICBtb2RlbDogcGdCcm93c2Vy Lk5vZGUuUHJpdmlsZWdlUm9sZU1vZGVsLmV4dGVuZCh7CiAgICAgICAgICAgICBwcml2aWxlZ2Vz OiBbJ1UnXSwKICAgICAgICAgICB9KSwgY2FuQWRkOiB0cnVlLCBjYW5EZWxldGU6IHRydWUsIHVu aXF1ZUNvbCA6IFsnZ3JhbnRlZSddLAogICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ3NlY2xh YmVscycsIGxhYmVsOiBnZXR0ZXh0KCdTZWN1cml0eSBMYWJlbHMnKSwgbW9kZTogWydlZGl0Jywg J2NyZWF0ZSddLAogICAgICAgICAgIG1vZGVsOiBwZ0Jyb3dzZXIuU2VjTGFiZWxNb2RlbCwgZWRp dGFibGU6IGZhbHNlLAotICAgICAgICAgIHR5cGU6ICdjb2xsZWN0aW9uJywgZ3JvdXA6ICdzZWN1 cml0eScsIG1pbl92ZXJzaW9uOiA5MDIwMCwKKyAgICAgICAgICB0eXBlOiAnY29sbGVjdGlvbics IGdyb3VwOiBnZXR0ZXh0KCdTZWN1cml0eScpLCBtaW5fdmVyc2lvbjogOTAyMDAsCiAgICAgICAg ICAgY2FuQWRkOiB0cnVlLCBjYW5FZGl0OiBmYWxzZSwgY2FuRGVsZXRlOiB0cnVlLAogICAgICAg ICAgIGNvbnRyb2w6ICd1bmlxdWUtY29sLWNvbGxlY3Rpb24nLAogICAgICAgICB9LApkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvc3RhdGljL2pzL3NjaGVtYS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N0YXRpYy9qcy9zY2hlbWEuanMKaW5k ZXggYzcxNmY4MjQuLjg3NzViOWZiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9zdGF0aWMvanMvc2NoZW1hLmpz CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3N0YXRpYy9qcy9zY2hlbWEuanMKQEAgLTcyLDcgKzcyLDcgQEAgZGVmaW5lKCdw Z2FkbWluLm5vZGUuc2NoZW1hJywgWwogICAgICAgICB2YXIgZ3JpZCA9IHNlbGYuZ3JpZCA9IG5l dyBCYWNrZ3JpZC5HcmlkKHsKICAgICAgICAgICBjb2x1bW5zOiBzZWxmLmdyaWRfY29sdW1ucywK ICAgICAgICAgICBjb2xsZWN0aW9uOiBzZWxmLm1vZGVsLmdldChzZWxmLmZpZWxkLmdldCgnbmFt ZScpKSwKLSAgICAgICAgICBjbGFzc05hbWU6ICdiYWNrZ3JpZCB0YWJsZS1ib3JkZXJlZCcsCisg ICAgICAgICAgY2xhc3NOYW1lOiAnYmFja2dyaWQgdGFibGUtYm9yZGVyZWQgdGFibGUtbm9vdXRl ci1ib3JkZXIgdGFibGUtaG92ZXInLAogICAgICAgICB9KTsKIAogICAgICAgLy8gcmVuZGVyIGdy aWQKQEAgLTEyMCw2ICsxMjAsOCBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zY2hlbWEnLCBbCiAK ICAgIC8vIEV4dGVuZCB0aGUgYnJvd3NlcidzIGNvbGxlY3Rpb24gY2xhc3MgZm9yIFZhY3V1bVNl dHRpbmdzTW9kZWwKICAgQmFja2Zvcm0uVmFjdXVtU2V0dGluZ3NTY2hlbWEgPSBbeworICAgIGlk OiAnc3BhY2VyX2N0cmwnLCBncm91cDogZ2V0dGV4dCgnVGFibGUnKSwgbW9kZTogWydlZGl0Jywg J2NyZWF0ZSddLCB0eXBlOiAnc3BhY2VyJywKKyAgfSx7CiAgICAgaWQ6ICdhdXRvdmFjdXVtX2N1 c3RvbScsIGxhYmVsOiBnZXR0ZXh0KCdDdXN0b20gYXV0by12YWN1dW0/JyksCiAgICAgZ3JvdXA6 IGdldHRleHQoJ1RhYmxlJyksIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKICAgICB0eXBlOiAn c3dpdGNoJywKQEAgLTE4NCw2ICsxODYsOCBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zY2hlbWEn LCBbCiAgICAgICBdLAogICAgIH0pLAogICAgIGRlcHM6IFsnYXV0b3ZhY3V1bV9lbmFibGVkJ10s CisgIH0seworICAgIGlkOiAnc3BhY2VyX2N0cmwnLCBncm91cDogZ2V0dGV4dCgnVG9hc3QgVGFi bGUnKSwgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLCB0eXBlOiAnc3BhY2VyJywKICAgfSx7CiAg ICAgaWQ6ICd0b2FzdF9hdXRvdmFjdXVtJywgbGFiZWw6IGdldHRleHQoJ0N1c3RvbSBhdXRvLXZh Y3V1bT8nKSwKICAgICBncm91cDogZ2V0dGV4dCgnVG9hc3QgVGFibGUnKSwgbW9kZTogWydlZGl0 JywgJ2NyZWF0ZSddLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvc3RhdGljL2pzL2lu ZGV4LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvc3RhdGljL2pzL2luZGV4LmpzCmluZGV4IGJiMTk4 NmJkLi5mNmQ4ZjMxOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvc3RhdGljL2pzL2lu ZGV4LmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9pbmRleGVzL3N0YXRpYy9qcy9pbmRleC5qcwpAQCAtMjI4 LDcgKzIyOCw2IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLmluZGV4JywgWwogICAgICAgaGFzRGVw ZW5kczogdHJ1ZSwKICAgICAgIGhhc1N0YXRpc3RpY3M6IHRydWUsCiAgICAgICBzdGF0c1ByZXR0 aWZ5RmllbGRzOiBbJ1NpemUnLCAnSW5kZXggc2l6ZSddLAotICAgICAgd2lkdGg6ICc0NSUnLAog ICAgICAgSW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgIC8qIEF2b2lkIG11bGl0cGxlIHJlZ2lz dHJhdGlvbiBvZiBtZW51cyAqLwogICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy9zdGF0aWMvanMvdGFibGUuanMgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvc3RhdGljL2pz L3RhYmxlLmpzCmluZGV4IGM4YTA5Mjk3Li40MTg1YWE3NyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3N0YXRpYy9qcy90YWJsZS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvc3RhdGljL2pzL3RhYmxlLmpzCkBA IC00NCw3ICs0NCw3IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLnRhYmxlJywgWwogICAgICAgc3Fs Q3JlYXRlSGVscDogJ3NxbC1jcmVhdGV0YWJsZS5odG1sJywKICAgICAgIGRpYWxvZ0hlbHA6IHVy bF9mb3IoJ2hlbHAuc3RhdGljJywgeydmaWxlbmFtZSc6ICd0YWJsZV9kaWFsb2cuaHRtbCd9KSwK ICAgICAgIGhhc1NjcmlwdFR5cGVzOiBbJ2NyZWF0ZScsICdzZWxlY3QnLCAnaW5zZXJ0JywgJ3Vw ZGF0ZScsICdkZWxldGUnXSwKLSAgICAgIHdpZHRoOiAnNjAlJywKKyAgICAgIHdpZHRoOiAnNjUw cHgnLAogICAgICAgSW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgIC8qIEF2b2lkIG11bHRpcGxl IHJlZ2lzdHJhdGlvbiBvZiBtZW51cyAqLwogICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Bn YWdlbnQvc2NoZWR1bGVzL3N0YXRpYy9qcy9wZ2Ffc2NoZWR1bGUuanMgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3NjaGVkdWxlcy9zdGF0aWMvanMv cGdhX3NjaGVkdWxlLmpzCmluZGV4IGJjYzI3NTA5Li5lNjBmMzMwNCAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC9zY2hlZHVsZXMv c3RhdGljL2pzL3BnYV9zY2hlZHVsZS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3NjaGVkdWxlcy9zdGF0aWMvanMvcGdhX3NjaGVkdWxl LmpzCkBAIC0xODcsNiArMTg3LDE1IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLnBnYV9zY2hlZHVs ZScsIFsKICAgICAgICAgfSwKICAgICAgIH0pOwogCisgICAgdmFyIEN1c3RvbUluZm9Db250cm9s ID0gQmFja2Zvcm0uQ29udHJvbC5leHRlbmQoeworICAgICAgdGVtcGxhdGU6IF8udGVtcGxhdGUo WworICAgICAgICAnPGRpdj4nLAorICAgICAgICAnICA8JT1pbmZvdGV4dCU+JywKKyAgICAgICAg JzwvZGl2PicsCisgICAgICBdLmpvaW4oJ1xuJykpLAorICAgICAgY2xhc3NOYW1lOiAncGdhZG1p bi1jb250cm9sLWdyb3VwJywKKyAgICB9KTsKKwogICAgIHBnQnJvd3Nlci5Ob2Rlc1sncGdhX3Nj aGVkdWxlJ10gPSBwZ0Jyb3dzZXIuTm9kZS5leHRlbmQoewogICAgICAgcGFyZW50X3R5cGU6ICdw Z2Ffam9iJywKICAgICAgIHR5cGU6ICdwZ2Ffc2NoZWR1bGUnLApAQCAtMzM1LDYgKzM0NCwxMCBA QCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5wZ2Ffc2NoZWR1bGUnLCBbCiAgICAgICAgICAgICAgIHJl dHVybiB0aGlzOwogICAgICAgICAgICAgfSwKICAgICAgICAgICB9KSwgbW9kZTogWydwcm9wZXJ0 aWVzJ10sCisgICAgICAgIH0seworICAgICAgICAgIHR5cGU6ICdjb250cm9sJywgIG1vZGU6IFsn Y3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ1JlcGVhdCcpLAorICAgICAgICAgIGlu Zm90ZXh0OiBnZXR0ZXh0KCdTY2hlZHVsZXMgYXJlIHNwZWNpZmllZCB1c2luZyBhIDxiPmNyb24t c3R5bGU8L2I+IGZvcm1hdC48YnIvPjx1bD48bGk+Rm9yIGVhY2ggc2VsZWN0ZWQgdGltZSBvciBk YXRlIGVsZW1lbnQsIHRoZSBzY2hlZHVsZSB3aWxsIGV4ZWN1dGUuPGJyLz5lLmcuIFRvIGV4ZWN1 dGUgYXQgNSBtaW51dGVzIHBhc3QgZXZlcnkgaG91ciwgc2ltcGx5IHNlbGVjdCDigJgwNeKAmSBp biB0aGUgTWludXRlcyBsaXN0IGJveC48YnIvPjwvbGk+PGxpPlZhbHVlcyBmcm9tIG1vcmUgdGhh biBvbmUgZmllbGQgbWF5IGJlIHNwZWNpZmllZCBpbiBvcmRlciB0byBmdXJ0aGVyIGNvbnRyb2wg dGhlIHNjaGVkdWxlLjxici8+ZS5nLiBUbyBleGVjdXRlIGF0IDEyOjA1IGFuZCAxNDowNSBldmVy eSBNb25kYXkgYW5kIFRodXJzZGF5LCB5b3Ugd291bGQgY2xpY2sgbWludXRlIDA1LCBob3VycyAx MiBhbmQgMTQsIGFuZCB3ZWVrZGF5cyBNb25kYXkgYW5kIFRodXJzZGF5LjwvbGk+PGxpPkZvciBh ZGRpdGlvbmFsIGZsZXhpYmlsaXR5LCB0aGUgTW9udGggRGF5cyBjaGVjayBsaXN0IGluY2x1ZGVz IGFuIGV4dHJhIExhc3QgRGF5IG9wdGlvbi4gVGhpcyBtYXRjaGVzIHRoZSBsYXN0IGRheSBvZiB0 aGUgbW9udGgsIHdoZXRoZXIgaXQgaGFwcGVucyB0byBiZSB0aGUgMjh0aCwgMjl0aCwgMzB0aCBv ciAzMXN0LjwvbGk+PC91bD4nKSwKKyAgICAgICAgICBjb250cm9sOiBDdXN0b21JbmZvQ29udHJv bCwKICAgICAgICAgfSx7CiAgICAgICAgICAgdHlwZTogJ25lc3RlZCcsIGxhYmVsOiBnZXR0ZXh0 KCdEYXlzJyksIGdyb3VwOiBnZXR0ZXh0KCdSZXBlYXQnKSwKICAgICAgICAgICBtb2RlOiBbJ2Ny ZWF0ZScsICdlZGl0J10sCkBAIC0zNDQsMTEgKzM1NywxMSBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9k ZS5wZ2Ffc2NoZWR1bGUnLCBbCiAgICAgICAgICAgICAgICAgdGhpcywgYXJndW1lbnRzCiAgICAg ICAgICAgICAgICk7CiAKLSAgICAgICAgICAgICAgdGhpcy4kZWwucHJlcGVuZCgKLSAgICAgICAg ICAgICAgICAnPGRpdiBjbGFzcz0ic2V0LWdyb3VwIj4nICsKLSAgICAgICAgICAgICAgICAgIGdl dHRleHQoJ1NjaGVkdWxlcyBhcmUgc3BlY2lmaWVkIHVzaW5nIGEgPGI+Y3Jvbi1zdHlsZTwvYj4g Zm9ybWF0Ljxici8+PHVsPjxsaT5Gb3IgZWFjaCBzZWxlY3RlZCB0aW1lIG9yIGRhdGUgZWxlbWVu dCwgdGhlIHNjaGVkdWxlIHdpbGwgZXhlY3V0ZS48YnIvPmUuZy4gVG8gZXhlY3V0ZSBhdCA1IG1p bnV0ZXMgcGFzdCBldmVyeSBob3VyLCBzaW1wbHkgc2VsZWN0IOKAmDA14oCZIGluIHRoZSBNaW51 dGVzIGxpc3QgYm94Ljxici8+PC9saT48bGk+VmFsdWVzIGZyb20gbW9yZSB0aGFuIG9uZSBmaWVs ZCBtYXkgYmUgc3BlY2lmaWVkIGluIG9yZGVyIHRvIGZ1cnRoZXIgY29udHJvbCB0aGUgc2NoZWR1 bGUuPGJyLz5lLmcuIFRvIGV4ZWN1dGUgYXQgMTI6MDUgYW5kIDE0OjA1IGV2ZXJ5IE1vbmRheSBh bmQgVGh1cnNkYXksIHlvdSB3b3VsZCBjbGljayBtaW51dGUgMDUsIGhvdXJzIDEyIGFuZCAxNCwg YW5kIHdlZWtkYXlzIE1vbmRheSBhbmQgVGh1cnNkYXkuPC9saT48bGk+Rm9yIGFkZGl0aW9uYWwg ZmxleGliaWxpdHksIHRoZSBNb250aCBEYXlzIGNoZWNrIGxpc3QgaW5jbHVkZXMgYW4gZXh0cmEg TGFzdCBEYXkgb3B0aW9uLiBUaGlzIG1hdGNoZXMgdGhlIGxhc3QgZGF5IG9mIHRoZSBtb250aCwg d2hldGhlciBpdCBoYXBwZW5zIHRvIGJlIHRoZSAyOHRoLCAyOXRoLCAzMHRoIG9yIDMxc3QuPC9s aT48L3VsPicpICsKLSAgICAgICAgICAgICAgICAgICc8L2Rpdj4nCi0gICAgICAgICAgICAgICk7 CisgICAgICAgICAgICAgIC8vICQoCisgICAgICAgICAgICAgIC8vICAgJzxkaXY+JyArCisgICAg ICAgICAgICAgIC8vICAgICBnZXR0ZXh0KCdTY2hlZHVsZXMgYXJlIHNwZWNpZmllZCB1c2luZyBh IDxiPmNyb24tc3R5bGU8L2I+IGZvcm1hdC48YnIvPjx1bD48bGk+Rm9yIGVhY2ggc2VsZWN0ZWQg dGltZSBvciBkYXRlIGVsZW1lbnQsIHRoZSBzY2hlZHVsZSB3aWxsIGV4ZWN1dGUuPGJyLz5lLmcu IFRvIGV4ZWN1dGUgYXQgNSBtaW51dGVzIHBhc3QgZXZlcnkgaG91ciwgc2ltcGx5IHNlbGVjdCDi gJgwNeKAmSBpbiB0aGUgTWludXRlcyBsaXN0IGJveC48YnIvPjwvbGk+PGxpPlZhbHVlcyBmcm9t IG1vcmUgdGhhbiBvbmUgZmllbGQgbWF5IGJlIHNwZWNpZmllZCBpbiBvcmRlciB0byBmdXJ0aGVy IGNvbnRyb2wgdGhlIHNjaGVkdWxlLjxici8+ZS5nLiBUbyBleGVjdXRlIGF0IDEyOjA1IGFuZCAx NDowNSBldmVyeSBNb25kYXkgYW5kIFRodXJzZGF5LCB5b3Ugd291bGQgY2xpY2sgbWludXRlIDA1 LCBob3VycyAxMiBhbmQgMTQsIGFuZCB3ZWVrZGF5cyBNb25kYXkgYW5kIFRodXJzZGF5LjwvbGk+ PGxpPkZvciBhZGRpdGlvbmFsIGZsZXhpYmlsaXR5LCB0aGUgTW9udGggRGF5cyBjaGVjayBsaXN0 IGluY2x1ZGVzIGFuIGV4dHJhIExhc3QgRGF5IG9wdGlvbi4gVGhpcyBtYXRjaGVzIHRoZSBsYXN0 IGRheSBvZiB0aGUgbW9udGgsIHdoZXRoZXIgaXQgaGFwcGVucyB0byBiZSB0aGUgMjh0aCwgMjl0 aCwgMzB0aCBvciAzMXN0LjwvbGk+PC91bD4nKSArCisgICAgICAgICAgICAgIC8vICAgJzwvZGl2 PicKKyAgICAgICAgICAgICAgLy8gKS5pbnNlcnRCZWZvcmUodGhpcy4kZWwpOwogCiAgICAgICAg ICAgICAgIHJldHVybiByZXM7CiAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvc3RhdGljL2pzL3JvbGUuanMg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9yb2xlcy9zdGF0aWMv anMvcm9sZS5qcwppbmRleCA0MTlhZTQ1Zi4uMDIyNmE1YmUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3JvbGVzL3N0YXRpYy9qcy9yb2xlLmpz CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3JvbGVzL3N0 YXRpYy9qcy9yb2xlLmpzCkBAIC02OCwxOCArNjgsMTkgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUu cm9sZScsIFsKIAogICB2YXIgUm9sZUN1c3RvbVN3aXRjaENvbnRyb2wgPSBCYWNrZm9ybS5Td2l0 Y2hDb250cm9sLmV4dGVuZCh7CiAgICAgdGVtcGxhdGU6IF8udGVtcGxhdGUoWwotICAgICAgJzxs YWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCI+PCU9bGFiZWwlPjwvbGFiZWw+JywKLSAgICAgICc8 ZGl2IGNsYXNzPSJwZ2FkbWluLWNvbnRyb2xzIj4nLAotICAgICAgJyAgPGRpdiBjbGFzcz0iY2hl Y2tib3giIHN0eWxlPSJmbG9hdDpyaWdodCI+JywKKyAgICAgICc8bGFiZWwgY2xhc3M9ImNvbnRy b2wtbGFiZWwgcGctZWwtc20tMTAgcGctZWwtMTIiPjwlPWxhYmVsJT48L2xhYmVsPicsCisgICAg ICAnPGRpdiBjbGFzcz0icGdhZG1pbi1jb250cm9scyBwZy1lbC1zbS0yIHBnLWVsLTEyIj4nLAor ICAgICAgJyAgPGRpdiBjbGFzcz0iY2hlY2tib3giPicsCiAgICAgICAnICAgIDxsYWJlbD4nLAog ICAgICAgJyAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9IjwlPWV4dHJhQ2xhc3Nl cy5qb2luKFwnIFwnKSU+IiBuYW1lPSI8JT1uYW1lJT4iIDwlPXZhbHVlID8gImNoZWNrZWQ9XCdj aGVja2VkXCciIDogIiIlPiA8JT1kaXNhYmxlZCA/ICJkaXNhYmxlZCIgOiAiIiU+IDwlPXJlcXVp cmVkID8gInJlcXVpcmVkIiA6ICIiJT4gLz4nLAogICAgICAgJyAgICA8L2xhYmVsPicsCiAgICAg ICAnICA8L2Rpdj4nLAotICAgICAgJyAgPCUgaWYgKGhlbHBNZXNzYWdlICYmIGhlbHBNZXNzYWdl Lmxlbmd0aCkgeyAlPicsCi0gICAgICAnICAgIDxzcGFuIGNsYXNzPSI8JT1CYWNrZm9ybS5oZWxw TWVzc2FnZUNsYXNzTmFtZSU+Ij48JT1oZWxwTWVzc2FnZSU+PC9zcGFuPicsCi0gICAgICAnICA8 JSB9ICU+JywKICAgICAgICc8L2Rpdj4nLAorICAgICAgJzwlIGlmIChoZWxwTWVzc2FnZSAmJiBo ZWxwTWVzc2FnZS5sZW5ndGgpIHsgJT4nLAorICAgICAgJyAgPHNwYW4gY2xhc3M9IjwlPUJhY2tm b3JtLmhlbHBNZXNzYWdlQ2xhc3NOYW1lJT4iPjwlPWhlbHBNZXNzYWdlJT48L3NwYW4+JywKKyAg ICAgICc8JSB9ICU+JywKICAgICBdLmpvaW4oJ1xuJykpLAorICAgIGNsYXNzTmFtZTogJ3BnYWRt aW4tY29udHJvbC1ncm91cCBmb3JtLWdyb3VwIHBnLWVsLTEyIHJvdycsCiAgIH0pOwogCiAgIHZh ciBSb2xlTWVtYmVyc0NvbnRyb2wgPSBCYWNrZm9ybS5Db250cm9sLmV4dGVuZCh7CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9zdGF0aWMvY3Nz L3NlcnZlcnMuY3NzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv c3RhdGljL2Nzcy9zZXJ2ZXJzLmNzcwppbmRleCBlODk4MWNmNS4uNjVmOWY1M2QgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3N0YXRpYy9jc3Mv c2VydmVycy5jc3MKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvc3RhdGljL2Nzcy9zZXJ2ZXJzLmNzcwpAQCAtOSw0ICs5LDQgQEAKIAogLmNoYW5nZV9wYXNz d29yZCB7CiAgIHBhZGRpbmctbGVmdDogN3B4OwotfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL3RhYmxlc3BhY2VzL3N0YXRpYy9qcy90YWJsZXNwYWNlLmpzIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGFibGVzcGFjZXMvc3RhdGljL2pzL3RhYmxlc3Bh Y2UuanMKaW5kZXggMjVkODVhOGIuLjdlOWRkNzlkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90YWJsZXNwYWNlcy9zdGF0aWMvanMvdGFibGVz cGFjZS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90 YWJsZXNwYWNlcy9zdGF0aWMvanMvdGFibGVzcGFjZS5qcwpAQCAtMzAyLDcgKzMwMiw3IEBAIGRl ZmluZSgncGdhZG1pbi5ub2RlLnRhYmxlc3BhY2UnLCBbCiAgICAgICAgICAgICAgIH07CiAgICAg ICAgICAgICB9KTsKICAgICAgICAgICB9Ci0gICAgICAgICAgQWxlcnRpZnkubW92ZV9vYmplY3Rz X2RsZyh0cnVlKS5yZXNpemVUbygnNDAlJywnNTAlJyk7CisgICAgICAgICAgQWxlcnRpZnkubW92 ZV9vYmplY3RzX2RsZyh0cnVlKS5yZXNpemVUbyhwZ0Jyb3dzZXIuc3RkVy5tZCxwZ0Jyb3dzZXIu c3RkSC5tZCk7CiAgICAgICAgIH0sCiAgICAgICB9LAogICAgICAgbW9kZWw6IHBnQnJvd3Nlci5O b2RlLk1vZGVsLmV4dGVuZCh7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc3RhdGljL2pzL3NlcnZlcl9ncm91cC5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zdGF0aWMvanMvc2VydmVyX2dyb3VwLmpzCmluZGV4IDU4ZDFjY2QyLi45 MzA1M2E5NSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3N0 YXRpYy9qcy9zZXJ2ZXJfZ3JvdXAuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3N0YXRpYy9qcy9zZXJ2ZXJfZ3JvdXAuanMKQEAgLTksOCArOSw4IEBAIGRlZmluZSgn cGdhZG1pbi5ub2RlLnNlcnZlcl9ncm91cCcsIFsKICAgICAgIHR5cGU6ICdzZXJ2ZXJfZ3JvdXAn LAogICAgICAgZGlhbG9nSGVscDogdXJsX2ZvcignaGVscC5zdGF0aWMnLCB7J2ZpbGVuYW1lJzog J3NlcnZlcl9ncm91cF9kaWFsb2cuaHRtbCd9KSwKICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdTZXJ2 ZXIgR3JvdXAnKSwKLSAgICAgIHdpZHRoOiAnMzUwcHgnLAotICAgICAgaGVpZ2h0OiAnMjUwcHgn LAorICAgICAgd2lkdGg6ICcyNTBweCcsCisgICAgICBoZWlnaHQ6ICcxNTBweCcsCiAgICAgICBp c19jb2xsZWN0aW9uOiB0cnVlLAogICAgICAgSW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgIC8q IEF2b2lkIG11bHRpcGxlIHJlZ2lzdHJhdGlvbiBvZiBtZW51cyAqLwpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvY3NzL3dpemFyZC5jc3MgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3N0YXRpYy9jc3Mvd2l6YXJkLmNzcwppbmRleCAxY2RkZWQwMC4uZDI5Mzg4MWYgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2Nzcy93aXphcmQuY3NzCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2Nzcy93aXphcmQuY3NzCkBAIC00NCwzMCArNDQsMTEg QEAKICAgd2lkdGg6IDE0MHB4OwogfQogCi0ud2l6YXJkLXJpZ2h0LXBhbmVsX2NvbnRlbnQgewot ICBwYWRkaW5nOiAwLjVyZW0gMHJlbTsKLX0KLQogLyogV2l6YXJkIEZvb3RlciBDU1MgKi8KIC5w Z2FkbWluLXdpemFyZCAuZm9vdGVyIC5yb3cgewogICBtYXJnaW46IDAgLTZweCAzcHggLTZweDsK IH0KIAotLyogV2l6YXJkIEJ1dHRvbiBDU1MgKi8KLQotLnBnYWRtaW4td2l6YXJkIC53aXphcmQt YnV0dG9ucyBidXR0b24ud2l6YXJkLW5leHQgaS5mYSB7Ci0gIHBhZGRpbmctbGVmdDogNXB4Owot fQotCi0ucGdhZG1pbi13aXphcmQgLndpemFyZC1idXR0b25zIGJ1dHRvbi53aXphcmQtYmFjayBp LmZhLAotLnBnYWRtaW4td2l6YXJkIC53aXphcmQtYnV0dG9ucyBidXR0b24ud2l6YXJkLWNhbmNl bCBpLmZhIHsKLSAgcGFkZGluZy1yaWdodDogNXB4OwotfQotCi0ucGdhZG1pbi13aXphcmQgLndp emFyZC1idXR0b25zIC53aXphcmQtZmluaXNoIHsKLSAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRh bnQ7Ci19Ci0KIC53aXphcmQtaGVhZGVyIC53aXphcmQtY2FuY2VsLWV2ZW50IHsKICAgYmFja2dy b3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFB QkFBQUFBUUNBWUFBQUFmOC85aEFBQUFka2xFUVZRNGpkMlN3UW5BSUF4RjM2R0gwcE9URkhFZ0Yz SWtSNUxPMEY0U0NHSlZFSHJvQXkvZi9FK2lnVit5QWE2aE83bnJjZ0FadUlCZzlDQmFscHBYRW5E TDBSQTFxNTU2QVNkUXFoQnJMbExUeFZjaDF1eEhaaVUyQXVLczJWZHQyM0dHSFN5L3dmSXZ6T3pC UGhwamFSTy81d0cvc3pldkorWlh6QUFBQUFCSlJVNUVya0pnZ2c9PSkgbm8tcmVwZWF0IGNlbnRl ciBjZW50ZXI7CiAgIHBhZGRpbmc6IDEwcHg7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3N0YXRpYy9qcy9icm93c2VyLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMv YnJvd3Nlci5qcwppbmRleCBlOWVmMjVjOS4uMDBmNzJlOTQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc3RhdGljL2pzL2Jyb3dzZXIuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zdGF0aWMvanMvYnJvd3Nlci5qcwpAQCAtMTA4LDYgKzEwOCwxOSBAQCBkZWZpbmUoJ3BnYWRt aW4uYnJvd3NlcicsIFsKICAgICAvLyBJdCB3aWxsIGJlIHVzZWQgdG8gcmVnaXN0ZXIgZXh0ZW5z aW9ucywgdG9vbHMsIGNoaWxkIG5vZGUgc2NyaXB0cywKICAgICAvLyBldGMuCiAgICAgc2NyaXB0 czoge30sCisgICAgLy8gU3RhbmRhcmQgV2lkdGhzIGFuZCBIZWlnaHQgZm9yIGRpYWxvZ3MgaW4g cHgKKyAgICBzdGRXOiB7CisgICAgICBzbTogNTAwLAorICAgICAgbWQ6IDcwMCwKKyAgICAgIGxn OiA5MDAsCisgICAgICBkZWZhdWx0OiA1MDAsCisgICAgfSwKKyAgICBzdGRIOiB7CisgICAgICBz bTogMjAwLAorICAgICAgbWQ6IDQwMCwKKyAgICAgIGxnOiA1NTAsCisgICAgICBkZWZhdWx0OiA1 NTAsCisgICAgfSwKICAgICAvLyBEZWZhdWx0IHBhbmVscwogICAgIHBhbmVsczogewogICAgICAg Ly8gUGFuZWwgdG8ga2VlcCB0aGUgbGVmdCBoYW5kIGJyb3dzZXIgdHJlZQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvbm9kZS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc3RhdGljL2pzL25vZGUuanMKaW5kZXggOWZlMzFhZWEuLjc2ZGU5OTY0IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9ub2RlLmpzCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc3RhdGljL2pzL25vZGUuanMKQEAgLTMxMywxOCArMzEzLDE5IEBAIGRlZmluZSgn cGdhZG1pbi5icm93c2VyLm5vZGUnLCBbCiAgICAgICAgICAgfQogCiAgICAgICAgICAgdmFyIG9u U2Vzc2lvbkludmFsaWQgPSBmdW5jdGlvbihtc2cpIHsKLSAgICAgICAgICAgIHZhciBhbGVydE1l c3NhZ2UgPSAnXAotICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSBlcnJvci1pbi1mb290 ZXIgYmctZGFuZ2VyLWxpZ2h0IGJvcmRlci1kYW5nZXIgdGV4dC1kYW5nZXIgdGV4dC0xNCI+XAot ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkgbWVkaWEtbWlkZGxlIj5cCi0g ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGVydC1pY29uIGVycm9yLWljb24iPlwKLSAg ICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIiBh cmlhLWhpZGRlbj0idHJ1ZSI+PC9pPlwKLSAgICAgICAgICAgICAgICAgIDwvZGl2PlwKLSAgICAg ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4dCI+JyArIG1zZyArICc8L2Rpdj5c Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlLWVycm9yLWJhciI+XAotICAg ICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJjbG9zZS1lcnJvciI+eDwvYT5cCi0gICAgICAg ICAgICAgICAgICAgIDwvZGl2PlwKLSAgICAgICAgICAgICAgICA8L2Rpdj5cCi0gICAgICAgICAg ICAgIDwvZGl2Pic7CisgICAgICAgICAgICB2YXIgYWxlcnRNZXNzYWdlID0gYAorICAgICAgICAg ICAgPGRpdiBjbGFzcz0iZXJyb3ItaW4tZm9vdGVyIj4KKyAgICAgICAgICAgICAgPGRpdiBjbGFz cz0iZC1mbGV4IHB4LTIgcHktMSI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHItMiI+ CisgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUg dGV4dC1kYW5nZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+CisgICAgICAgICAgICAgICAgPC9k aXY+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4dCI+JHttc2d9PC9kaXY+ CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtYXV0byBjbG9zZS1lcnJvci1iYXIiPgor ICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImNsb3NlLWVycm9yIGZhIGZhLXRpbWVzIHRleHQt ZGFuZ2VyIj48L2E+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgIDwvZGl2 PgorICAgICAgICAgICAgPC9kaXY+YDsKKwogICAgICAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVk KHRoYXQuc3RhdHVzQmFyKSkgewogICAgICAgICAgICAgICB0aGF0LnN0YXR1c0Jhci5odG1sKGFs ZXJ0TWVzc2FnZSkuY3NzKCd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKTsKICAgICAgICAgICAgICAg dGhhdC5zdGF0dXNCYXIuZmluZCgnYS5jbG9zZS1lcnJvcicpLmJpbmQoJ2NsaWNrJywgZnVuY3Rp b24oKSB7CkBAIC01NTgsMTIgKzU1OSw0MyBAQCBkZWZpbmUoJ3BnYWRtaW4uYnJvd3Nlci5ub2Rl JywgWwogCiAgICAgICAgICAgICBkLmJvZHkuaW5zZXJ0QmVmb3JlKGVsLCBkLmJvZHkuZmlyc3RD aGlsZCk7CiAKLSAgICAgICAgICAgIHZhciBwVyA9IHNjcmVlbi53aWR0aCA8IDgwMCA/ICc5NSUn IDogJzUwMHB4JywKLSAgICAgICAgICAgICAgcEggPSBzY3JlZW4uaGVpZ2h0IDwgNjAwID8gJzk1 JScgOiAnNTUwcHgnLAotICAgICAgICAgICAgICB3ID0gcGdBZG1pbi50b1B4KGVsLCBzZWxmLndp ZHRoIHx8IHBXLCAnd2lkdGgnLCB0cnVlKSwKLSAgICAgICAgICAgICAgaCA9IHBnQWRtaW4udG9Q eChlbCwgc2VsZi5oZWlnaHQgfHwgcEgsICdoZWlnaHQnLCB0cnVlKSwKLSAgICAgICAgICAgICAg eCA9IChiLm9mZnNldFdpZHRoIC0gdykgLyAyLAotICAgICAgICAgICAgICB5ID0gKGIub2Zmc2V0 SGVpZ2h0IC0gaCkgLyAyOworICAgICAgICAgICAgbGV0IHcsIGgsIHgsIHk7CisgICAgICAgICAg ICBpZihzY3JlZW4ud2lkdGggPCA4MDApIHsKKyAgICAgICAgICAgICAgdz0gcGdBZG1pbi50b1B4 KGVsLCAnOTUlJywgJ3dpZHRoJywgdHJ1ZSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg ICAgICAgICB3PSBwZ0FkbWluLnRvUHgoZWwsIHNlbGYud2lkdGggfHwgcGdCcm93c2VyLnN0ZFcu ZGVmYXVsdCsncHgnLCAnd2lkdGgnLCB0cnVlKTsKKworICAgICAgICAgICAgICAvKiBGaXQgdG8g c3RhbmRhcmQgc2l6ZXMgKi8KKyAgICAgICAgICAgICAgaWYodyA8PSBwZ0Jyb3dzZXIuc3RkVy5z bSkgeworICAgICAgICAgICAgICAgIHcgPSBwZ0Jyb3dzZXIuc3RkVy5zbTsKKyAgICAgICAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZih3IDw9IHBnQnJvd3Nlci5zdGRXLm1kKSB7 CisgICAgICAgICAgICAgICAgICB3ID0gcGdCcm93c2VyLnN0ZFcubWQ7CisgICAgICAgICAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgIHcgPSBwZ0Jyb3dzZXIuc3RkVy5sZzsKKyAg ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAg ICAgICAgaWYoc2NyZWVuLmhlaWdodCA8IDYwMCkgeworICAgICAgICAgICAgICBoID0gcGdBZG1p bi50b1B4KGVsLCAnOTUlJywgJ2hlaWdodCcsIHRydWUpOworICAgICAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgICAgaCA9IHBnQWRtaW4udG9QeChlbCwgc2VsZi5oZWlnaHQgfHwgcGdCcm93 c2VyLnN0ZEguZGVmYXVsdCsncHgnLCAnaGVpZ2h0JywgdHJ1ZSk7CisKKyAgICAgICAgICAgICAg LyogRml0IHRvIHN0YW5kYXJkIHNpemVzICovCisgICAgICAgICAgICAgIGlmKGggPD0gcGdCcm93 c2VyLnN0ZEguc20pIHsKKyAgICAgICAgICAgICAgICBoID0gcGdCcm93c2VyLnN0ZEguc207Cisg ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYoaCA8PSBwZ0Jyb3dzZXIu c3RkSC5tZCkgeworICAgICAgICAgICAgICAgICAgaCA9IHBnQnJvd3Nlci5zdGRILm1kOworICAg ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICBoID0gcGdCcm93c2VyLnN0 ZEgubGc7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9 CisKKyAgICAgICAgICAgIHggPSAoYi5vZmZzZXRXaWR0aCAtIHcpIC8gMiwKKyAgICAgICAgICAg IHkgPSAoYi5vZmZzZXRIZWlnaHQgLSBoKSAvIDQ7CiAKICAgICAgICAgICAgIHZhciBwID0gcGdC cm93c2VyLmRvY2tlci5hZGRQYW5lbCgKICAgICAgICAgICAgICAgJ25vZGVfcHJvcHMnLCB3Y0Rv Y2tlci5ET0NLLkZMT0FULCB1bmRlZmluZWQsIHsKQEAgLTEzMTksNyArMTM1MSw3IEBAIGRlZmlu ZSgncGdhZG1pbi5icm93c2VyLm5vZGUnLCBbCiAKICAgICAgICAgICAgIHZhciBidG5Hcm91cCA9 IHRoaXMuZmluZCgnLnBnLXByb3AtYnRuLWdyb3VwJyksCiAgICAgICAgICAgICAgIGJ0blNhdmUg PSBidG5Hcm91cC5maW5kKCdidXR0b24uYnRuLXByaW1hcnknKSwKLSAgICAgICAgICAgICAgYnRu UmVzZXQgPSBidG5Hcm91cC5maW5kKCdidXR0b24uYnRuLXdhcm5pbmcnKTsKKyAgICAgICAgICAg ICAgYnRuUmVzZXQgPSBidG5Hcm91cC5maW5kKCdidXR0b24uYnRuLXNlY29uZGFyeVt0eXBlPSJy ZXNldCJdJyk7CiAKICAgICAgICAgICAgIGlmIChoYXNFcnJvciB8fCAhbW9kaWZpZWQpIHsKICAg ICAgICAgICAgICAgYnRuU2F2ZS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvcGFuZWwuanMgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3N0YXRpYy9qcy9wYW5lbC5qcwppbmRleCA0NTEzMWQxMC4uMDljMjFhOWYgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3BhbmVsLmpzCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc3RhdGljL2pzL3BhbmVsLmpzCkBAIC0xNDIsMTAgKzE0MiwxMCBAQCBkZWZp bmUoCiAgICAgICAgICAgICAgIHAucGdSZXNpemVUaW1lb3V0ID0gbnVsbDsKIAogICAgICAgICAg ICAgICAvKiogQ2FsY3VsYXRpb25zIGJhc2VkIG9uIGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9k b2NzLzQuMS9sYXlvdXQvZ3JpZC8jZ3JpZC1vcHRpb25zICoqLwotICAgICAgICAgICAgICBpZiAo dyA8IDU3NikgeworICAgICAgICAgICAgICBpZiAodyA8IDQ4MCkgewogICAgICAgICAgICAgICAg IHcgPSAneHMnOwogICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIGlmICh3ID49IDU3Nikg eworICAgICAgICAgICAgICBpZiAodyA+PSA0ODApIHsKICAgICAgICAgICAgICAgICB3ID0gJ3Nt JzsKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBpZiAodyA+PSA3NjgpIHsKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3Rvb2xiYXIuanMgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3N0YXRpYy9qcy90b29sYmFyLmpzCmluZGV4IDc3MTljMjlhLi5iMDFlMjhl OCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvdG9vbGJhci5qcwor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy90b29sYmFyLmpzCkBAIC0xMyw2ICsx Myw3IEBAIGxldCBfZGVmYXVsdFRvb2xCYXJCdXR0b25zID0gWwogICAgIHRleHQ6ICcnLAogICAg IHRvZ2dsZWQ6IGZhbHNlLAogICAgIHRvZ2dsZUNsYXNzOiAnJywKKyAgICBwYXJlbnRDbGFzczog J3BnLXRvb2xiYXItYnRuJywKICAgICBlbmFibGVkOiBmYWxzZSwKICAgfSwKICAgewpAQCAtMjEs NiArMjIsNyBAQCBsZXQgX2RlZmF1bHRUb29sQmFyQnV0dG9ucyA9IFsKICAgICB0ZXh0OiAnJywK ICAgICB0b2dnbGVkOiBmYWxzZSwKICAgICB0b2dnbGVDbGFzczogJycsCisgICAgcGFyZW50Q2xh c3M6ICdwZy10b29sYmFyLWJ0bicsCiAgICAgZW5hYmxlZDogZmFsc2UsCiAgIH0sCiAgIHsKQEAg LTI5LDYgKzMxLDcgQEAgbGV0IF9kZWZhdWx0VG9vbEJhckJ1dHRvbnMgPSBbCiAgICAgdGV4dDog JycsCiAgICAgdG9nZ2xlZDogZmFsc2UsCiAgICAgdG9nZ2xlQ2xhc3M6ICcnLAorICAgIHBhcmVu dENsYXNzOiAncGctdG9vbGJhci1idG4nLAogICAgIGVuYWJsZWQ6IGZhbHNlLAogICB9LAogXTsK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3dpemFyZC5qcyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3dpemFyZC5qcwppbmRleCBmYmIxYTU3OC4uNDAx YTczNDIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3dpemFyZC5q cworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy93aXphcmQuanMKQEAgLTEwNiwy MCArMTA2LDE5IEBAIGRlZmluZShbCiAgICAgICAnICAgICAgICA8L2Rpdj4nICsKICAgICAgICcg ICAgICA8L2Rpdj4nICsKICAgICAgICcgICAgICA8ZGl2IGNsYXNzPSJ3aXphcmQtZm9vdGVyIHBn LXByb3AtZm9vdGVyIj4nICsKLSAgICAgICAgJyAgICAgIDxkaXYgY2xhc3M9InBnLXByb3Atc3Rh dHVzLWJhciIgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj4nICsKLSAgICAgICAgJyAgICAgICAg PGRpdiBjbGFzcz0ibWVkaWEgZXJyb3ItaW4tZm9vdGVyIGJnLWRhbmdlci1saWdodCBib3JkZXIt ZGFuZ2VyIHRleHQtZGFuZ2VyIHRleHQtMTQiPicgKwotICAgICAgICAnICAgICAgICAgIDxkaXYg Y2xhc3M9Im1lZGlhLWJvZHkgbWVkaWEtbWlkZGxlIj4nICsKLSAgICAgICAgJyAgICAgICAgICAg IDxkaXYgY2xhc3M9ImFsZXJ0LWljb24gZXJyb3ItaWNvbiI+JyArCi0gICAgICAgICcgICAgICAg ICAgICAgIDxpIGNsYXNzPSJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZSIgYXJpYS1oaWRkZW49 InRydWUiPjwvaT4nICsKLSAgICAgICAgJyAgICAgICAgICAgIDwvZGl2PicgKwotICAgICAgICAn ICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4dCI+JyArCi0gICAgICAgICcgICAgICAg ICAgICA8L2Rpdj4nICsKLSAgICAgICAgJyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlLWVy cm9yLWJhciI+JyArCi0gICAgICAgICcgICAgICAgICAgICAgIDxhIGNsYXNzPSJjbG9zZS1lcnJv ciI+eDwvYT4nICsKLSAgICAgICAgJyAgICAgICAgICAgIDwvZGl2PicgKwotICAgICAgICAnICAg ICAgICAgIDwvZGl2PicgKwotICAgICAgICAnICAgICAgICA8L2Rpdj4nICsKLSAgICAgICAgJyAg ICAgIDwvZGl2PicgKworICAgICAgJyAgICAgICAgPGRpdiBjbGFzcz0icGctcHJvcC1zdGF0dXMt YmFyIiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPicgKworICAgICAgJyAgICAgICAgICA8ZGl2 IGNsYXNzPSJlcnJvci1pbi1mb290ZXIiPiAnICsKKyAgICAgICcgICAgICAgICAgICA8ZGl2IGNs YXNzPSJkLWZsZXggcHgtMiBweS0xIj4gJyArCisgICAgICAnICAgICAgICAgICAgICA8ZGl2IGNs YXNzPSJwci0yIj4gJyArCisgICAgICAnICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1l eGNsYW1hdGlvbi10cmlhbmdsZSB0ZXh0LWRhbmdlciIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g JyArCisgICAgICAnICAgICAgICAgICAgICA8L2Rpdj4gJyArCisgICAgICAnICAgICAgICAgICAg ICA8ZGl2IGNsYXNzPSJhbGVydC10ZXh0Ij48L2Rpdj4gJyArCisgICAgICAnICAgICAgICAgICAg ICA8ZGl2IGNsYXNzPSJtbC1hdXRvIGNsb3NlLWVycm9yLWJhciI+ICcgKworICAgICAgJyAgICAg ICAgICAgICAgICA8YSBjbGFzcz0iY2xvc2UtZXJyb3IgZmEgZmEtdGltZXMgdGV4dC1kYW5nZXIi PjwvYT4gJyArCisgICAgICAnICAgICAgICAgICAgICA8L2Rpdj4gJyArCisgICAgICAnICAgICAg ICAgICAgPC9kaXY+ICcgKworICAgICAgJyAgICAgICAgICA8L2Rpdj4gJyArCisgICAgICAnICAg ICAgICA8L2Rpdj4nICsKICAgICAgICcgICAgICAgIDxkaXYgY2xhc3M9IndpemFyZC1idXR0b25z IGQtZmxleCI+JyArCiAgICAgICAnICAgICAgICAgIDxkaXY+JyArCiAgICAgICAnICAgICAgICAg ICAgPGJ1dHRvbiB0aXRsZSA9ICInICsgZ2V0dGV4dCgnSGVscCBmb3IgdGhpcyBkaWFsb2cuJykg KyAnIicgKwpAQCAtMTI4LDE0ICsxMjcsMTQgQEAgZGVmaW5lKFsKICAgICAgICcgICAgICAgICAg PC9kaXY+JyArCiAgICAgICAnICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLWF1dG8iPicgKwogICAg ICAgJyAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgd2l6YXJk LWNhbmNlbCIgPCU9dGhpcy5vcHRpb25zLmRpc2FibGVfY2FuY2VsID8gImRpc2FibGVkIiA6ICIi JT4+JyArCi0gICAgICAnICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1sZyBmYS1jbG9z ZSI+PC9pPicgKyBnZXR0ZXh0KCdDYW5jZWwnKSArICc8L2J1dHRvbj4nICsKKyAgICAgICcgICAg ICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNsb3NlIj48L2k+Jm5ic3A7JyArIGdldHRleHQo J0NhbmNlbCcpICsgJzwvYnV0dG9uPicgKwogICAgICAgJyAgICAgICAgICAgICAgPGJ1dHRvbiBj bGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgd2l6YXJkLWJhY2siIDwlPXRoaXMub3B0aW9ucy5kaXNh YmxlX3ByZXYgPyAiZGlzYWJsZWQiIDogIiIlPj4nICsKLSAgICAgICcgICAgICAgICAgICAgICAg PGkgY2xhc3M9ImZhIGZhLWJhY2t3YXJkIj48L2k+JyArIGdldHRleHQoJ0JhY2snKSArICc8L2J1 dHRvbj4nICsKKyAgICAgICcgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWJhY2t3YXJk Ij48L2k+Jm5ic3A7JyArIGdldHRleHQoJ0JhY2snKSArICc8L2J1dHRvbj4nICsKICAgICAgICcg ICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IHdpemFyZC1uZXh0 IiA8JT10aGlzLm9wdGlvbnMuZGlzYWJsZV9uZXh0ID8gImRpc2FibGVkIiA6ICIiJT4+JyArCiAg ICAgICAnICAgICAgICAgICAgICAgICcgKyBnZXR0ZXh0KCdOZXh0JykgKwotICAgICAgJyAgICAg ICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZm9yd2FyZCI+PC9pPjwvYnV0dG9uPicgKworICAg ICAgJyAgICAgICAgICAgICAgICAmbmJzcDs8aSBjbGFzcz0iZmEgZmEtZm9yd2FyZCI+PC9pPjwv YnV0dG9uPicgKwogICAgICAgJyAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1w cmltYXJ5IHdpemFyZC1maW5pc2giIDwlPXRoaXMub3B0aW9ucy5kaXNhYmxlX2ZpbmlzaCA/ICJk aXNhYmxlZCIgOiAiIiU+PicgKwotICAgICAgJyAgICAgICAgICAgICAgICAnICsgZ2V0dGV4dCgn RmluaXNoJykgKyAnPC9idXR0b24+JyArCisgICAgICAnICAgICAgICAgICAgICAgIDxpIGNsYXNz PSJmYSBmYS1jaGVjayI+PC9pPiZuYnNwOycgKyBnZXR0ZXh0KCdGaW5pc2gnKSArICc8L2J1dHRv bj4nICsKICAgICAgICcgICAgICAgICAgPC9kaXY+JyArCiAgICAgICAnICAgICAgICA8L2Rpdj4n ICsKICAgICAgICcgICAgICA8L2Rpdj4nICsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc3RhdGljL3Njc3MvX2Jyb3dzZXIuc2NzcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGlj L3Njc3MvX2Jyb3dzZXIuc2NzcwppbmRleCAxNThkMjg5MS4uNzZjMjMwY2QgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL3Njc3MvX2Jyb3dzZXIuc2NzcworKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3N0YXRpYy9zY3NzL19icm93c2VyLnNjc3MKQEAgLTQ2LDMgKzQ2LDgg QEAgc2FtcCwKICAgdGV4dC1hbGlnbjogY2VudGVyOwogICBjb2xvcjogJGxvYWRpbmctZmc7CiB9 CisKKy5wZy10b29sYmFyLWJ0biB7CisgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOworICBib3JkZXI6 ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRidG4tc2Vjb25kYXJ5LWJvcmRlcjsKK30K XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNj L2JncHJvY2Vzcy9zdGF0aWMvc2Nzcy9fYmdwcm9jZXNzLnNjc3MgYi93ZWIvcGdhZG1pbi9taXNj L2JncHJvY2Vzcy9zdGF0aWMvc2Nzcy9fYmdwcm9jZXNzLnNjc3MKaW5kZXggNTk1NzI5MTQuLmNh ZjU0ZjIzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9taXNjL2JncHJvY2Vzcy9zdGF0aWMvc2Nz cy9fYmdwcm9jZXNzLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vbWlzYy9iZ3Byb2Nlc3Mvc3RhdGlj L3Njc3MvX2JncHJvY2Vzcy5zY3NzCkBAIC04Miw3ICs4Miw3IEBAICRiZ3Byb2MtY29udGFpbmVy LXBhZDogMnB4OwogCiAuYWpzLWJnLWJncHJvY2VzcyA+IC5wZy1iZy1iZ3Byb2Nlc3MgPiAucGct Ymctc3RhdHVzLmJnLWZhaWxlZCB7CiAgIGNvbG9yOiAkY29sb3ItZmc7Ci0gIGJhY2tncm91bmQt Y29sb3I6ICRjb2xvci1kYW5nZXItbGlnaHQ7CisgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1k YW5nZXItbGlnaHRlcjsKIH0KIAogLnBnLXBhbmVsLWNvbnRlbnQgZGl2LmJnLXByb2Nlc3Mtd2F0 Y2hlciB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9zdGF0aWMv Y3NzL2ZpbGVfbWFuYWdlci5jc3MgYi93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9zdGF0 aWMvY3NzL2ZpbGVfbWFuYWdlci5jc3MKaW5kZXggMjM4MjRmYTcuLmRkNzU5NmI0IDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9zdGF0aWMvY3NzL2ZpbGVfbWFuYWdl ci5jc3MKKysrIGIvd2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvc3RhdGljL2Nzcy9maWxl X21hbmFnZXIuY3NzCkBAIC0yMzYsMTAgKzIzNiw4IEBAIGEuZHotcmVtb3ZlIHsKIAogLmZpbGVf bGlzdGluZyAubm9fZm9sZGVyX2ZvdW5kIHsKICAgdGV4dC1hbGlnbjogY2VudGVyOwotICBwb3Np dGlvbjogYWJzb2x1dGU7Ci0gIHRvcDogNTBweDsKICAgd2lkdGg6IDEwMCU7Ci0gIGZvbnQtc2l6 ZTogMTRweDsKKyAgcGFkZGluZzogMC41cmVtOwogfQogCiBkaXYuY2hhbmdlX2ZpbGVfdHlwZXMg c3BhbiB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9zdGF0aWMv anMvZmlsZV9tYW5hZ2VyLmpzIGIvd2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvc3RhdGlj L2pzL2ZpbGVfbWFuYWdlci5qcwppbmRleCAxZGNjZDc5Yi4uZWQ0Zjk5ZTQgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9qcy9maWxlX21hbmFnZXIuanMK KysrIGIvd2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvc3RhdGljL2pzL2ZpbGVfbWFuYWdl ci5qcwpAQCAtMjksOSArMjksOSBAQCBkZWZpbmUoJ21pc2MuZmlsZV9tYW5hZ2VyJywgWwogICAg IC8vIENhbGwgZGlhbG9ncyBzdWJqZWN0IHRvIGRpYWxvZ190eXBlIHBhcmFtCiAgICAgc2hvd19k aWFsb2c6IGZ1bmN0aW9uKHBhcmFtcykgewogICAgICAgaWYgKHBhcmFtcy5kaWFsb2dfdHlwZSA9 PSAnY3JlYXRlX2ZpbGUnKSB7Ci0gICAgICAgIEFsZXJ0aWZ5LmNyZWF0ZU1vZGVEbGcocGFyYW1z KS5yZXNpemVUbygnNjAlJywgJzgwJScpOworICAgICAgICBBbGVydGlmeS5jcmVhdGVNb2RlRGxn KHBhcmFtcykucmVzaXplVG8ocGdBZG1pbi5Ccm93c2VyLnN0ZFcubWQscGdBZG1pbi5Ccm93c2Vy LnN0ZEgubGcpOwogICAgICAgfSBlbHNlIHsKLSAgICAgICAgQWxlcnRpZnkuZmlsZVNlbGVjdGlv bkRsZyhwYXJhbXMpLnJlc2l6ZVRvKCc2MCUnLCAnODAlJyk7CisgICAgICAgIEFsZXJ0aWZ5LmZp bGVTZWxlY3Rpb25EbGcocGFyYW1zKS5yZXNpemVUbyhwZ0FkbWluLkJyb3dzZXIuc3RkVy5tZCxw Z0FkbWluLkJyb3dzZXIuc3RkSC5sZyk7CiAgICAgICB9CiAgICAgfSwKICAgfTsKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9qcy91dGlsaXR5LmpzIGIv d2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvc3RhdGljL2pzL3V0aWxpdHkuanMKaW5kZXgg NWZiZjBhNTUuLjQ3YjdiZmMwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFu YWdlci9zdGF0aWMvanMvdXRpbGl0eS5qcworKysgYi93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFu YWdlci9zdGF0aWMvanMvdXRpbGl0eS5qcwpAQCAtNTc2LDcgKzU3Niw3IEBAIGRlZmluZShbCiAK ICAgICAgICAgICByZXN1bHQgKz0gJzwvdWw+JzsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg ICByZXN1bHQgKz0gJzx0YWJsZSBpZD0iY29udGVudHMiIGNsYXNzPSJ0YWJsZSB0YWJsZS1ib3Jk ZXJlZCB0YWJsZS1ub291dGVyLWJvcmRlciB0YWJsZS1ob3ZlciB0YWJsZXNvcnRlciI+JzsKKyAg ICAgICAgICByZXN1bHQgKz0gJzx0YWJsZSBpZD0iY29udGVudHMiIGNsYXNzPSJ0YWJsZSB0YWJs ZS1ib3JkZXJlZCB0YWJsZS1ub291dGVyLWJvcmRlciB0YWJsZS1ib3R0b20tYm9yZGVyIHRhYmxl LWhvdmVyIHRhYmxlc29ydGVyIj4nOwogICAgICAgICAgIHJlc3VsdCArPSAnPHRoZWFkPjx0cj48 dGg+JzsKICAgICAgICAgICByZXN1bHQgKz0gJzxzcGFuPicgKyBsZy5uYW1lICsgJzwvc3Bhbj48 L3RoPic7CiAgICAgICAgICAgcmVzdWx0ICs9ICc8dGg+PHNwYW4+JyArIGxnLnNpemUgKyAnPC9z cGFuPjwvdGg+PHRoPic7CkBAIC02NTksMTYgKzY1OSwxNSBAQCBkZWZpbmUoWwogICAgICAgICBp ZiAoJCgnLmZpbGVpbmZvJykuZGF0YSgndmlldycpID09ICdncmlkJykgewogICAgICAgICAgIHJl c3VsdCArPSAnPHVsIGlkPSJjb250ZW50cyIgY2xhc3M9ImdyaWQiPjwvdWw+JzsKICAgICAgICAg fSBlbHNlIHsKLSAgICAgICAgICByZXN1bHQgKz0gJzx0YWJsZSBpZD0iY29udGVudHMiIGNsYXNz PSJsaXN0IHRhYmxlc29ydGVyIj4nOwotICAgICAgICAgIHJlc3VsdCArPSAnPHRoZWFkPjx0cj48 dGg+PHNwYW4+JyArCi0gICAgICAgICAgICBsZy5uYW1lICsgJzwvc3Bhbj48L3RoPjx0aD48c3Bh bj4nICsgbGcuc2l6ZSArCi0gICAgICAgICAgICAnPC9zcGFuPjwvdGg+PHRoPjxzcGFuPicgKyBs Zy5tb2RpZmllZCArCi0gICAgICAgICAgICAnPC9zcGFuPjwvdGg+PC90cj48L3RoZWFkPic7Ci0g ICAgICAgICAgcmVzdWx0ICs9ICc8dGJvZHk+JzsKKyAgICAgICAgICByZXN1bHQgKz0gJzx0YWJs ZSBpZD0iY29udGVudHMiIGNsYXNzPSJ0YWJsZSB0YWJsZS1ib3JkZXJlZCB0YWJsZS1ub291dGVy LWJvcmRlciB0YWJsZS1lbXB0eS1yb3dzIGFibGVzb3J0ZXIiPic7CisgICAgICAgICAgcmVzdWx0 ICs9ICc8dGhlYWQ+PHRyPjx0aD48c3Bhbj4nICsgbGcubmFtZSArICc8L3NwYW4+PC90aD4nICsK KyAgICAgICAgICAgICAgICAgICAgJzx0aD48c3Bhbj4nICsgbGcuc2l6ZSArICc8L3NwYW4+PC90 aD4nICsKKyAgICAgICAgICAgICAgICAgICAgJzx0aD48c3Bhbj4nICsgbGcubW9kaWZpZWQgKyAn PC9zcGFuPjwvdGg+JyArCisgICAgICAgICAgICAgICAgICAgICc8L3RyPjwvdGhlYWQ+JzsKKyAg ICAgICAgICByZXN1bHQgKz0gJzwvdGJvZHk+JzsKKyAgICAgICAgICByZXN1bHQgKz0gJzwvdGFi bGU+JzsKICAgICAgICAgfQotICAgICAgICByZXN1bHQgKz0gJzxoMSBjbGFzcz0ibm9fZm9sZGVy X2ZvdW5kIj4nICsKLSAgICAgICAgICBsZy5jb3VsZF9ub3RfcmV0cmlldmVfZm9sZGVyICsgJzwv aDE+JzsKLQorICAgICAgICByZXN1bHQgKz0gJzxkaXYgY2xhc3M9Im5vX2ZvbGRlcl9mb3VuZCI+ JyArIGxnLmNvdWxkX25vdF9yZXRyaWV2ZV9mb2xkZXIgKyAnPC9kaXY+JzsKICAgICAgICAgdmFy IGNhcF9ub19mb2xkZXJzID0gWyd1cGxvYWQnLCAnY3JlYXRlJ107CiAKICAgICAgICAgZGF0YS5D YXBhYmlsaXRpZXMgPSBjYXBfbm9fZm9sZGVyczsKQEAgLTExMzcsNyArMTEzNiw3IEBAIGRlZmlu ZShbCiAgICAgICAgICAgICA8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdzaG93X2hpZGRlbicg b25jbGljaz0ncGdBZG1pbi5GaWxlVXRpbHMuaGFuZGxlQ2xpY2sodGhpcyknIHRhYmluZGV4PScx MSc+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtYXV0byI+Ci0g ICAgICAgICAgICA8bGFiZWw+JHtnZXR0ZXh0KCdGb3JtYXQnKX08L2xhYmVsPgorICAgICAgICAg ICAgPGxhYmVsIGNsYXNzPSJteS1hdXRvIj4ke2dldHRleHQoJ0Zvcm1hdCcpfTwvbGFiZWw+CiAg ICAgICAgICAgICA8c2VsZWN0IG5hbWU9J3R5cGUnIHRhYmluZGV4PScxMic+JHtmaWxlRm9ybWF0 c308L3NlbGVjdD4KICAgICAgICAgICA8ZGl2PmA7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9zY3NzL19maWxlX21hbmFnZXIuc2Nz cyBiL3dlYi9wZ2FkbWluL21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9zY3NzL19maWxlX21hbmFn ZXIuc2NzcwppbmRleCA4NWY4NTQ2My4uMmQ5MGE2N2YgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9zY3NzL19maWxlX21hbmFnZXIuc2NzcworKysgYi93 ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9zdGF0aWMvc2Nzcy9fZmlsZV9tYW5hZ2VyLnNj c3MKQEAgLTE0Miw2ICsxNDIsOSBAQAogCiAuYWxsb3dlZF9maWxlX3R5cGVzIHsKICAgYm9yZGVy LXRvcDogJHBhbmVsLWJvcmRlcjsKKyAgYmFja2dyb3VuZDogJGNvbG9yLWJnLXRoZW1lOworICB6 LWluZGV4OiA1OworICBwYWRkaW5nOiAwLjI1cmVtOwogfQogCiAudXBsb2FkX2ZpbGV7CkBAIC0y MTEsMTAgKzIxNCwxMCBAQAogfQogCiAuZmlsZWluZm8gLmZtX2RpbW1lciB7Ci0gIGhlaWdodDog Y2FsYygxMDAlIC0gMzJweCk7CiAgIGRpc3BsYXk6IG5vbmU7Ci0gIHRvcDogMHB4OwotICBiYWNr Z3JvdW5kOiRjb2xvci1mZzsKKyAgdG9wOiAwOworICBib3R0b206IDA7CisgIGJhY2tncm91bmQ6 ICRsb2FkaW5nLWJnOwogICBvcGFjaXR5OiAwLjU7CiAgIHdpZHRoOiAxMDAlOwogICBwb3NpdGlv bjogYWJzb2x1dGU7CkBAIC0yMjMsMTAgKzIyNiw4IEBACiAKIC5maWxlaW5mbyAuZGVsZXRlX2l0 ZW0sIC5maWxlaW5mbyAucmVwbGFjZV9maWxlIHsKICAgZGlzcGxheTogbm9uZTsKLSAgcGFkZGlu ZzogMTVweCAxNXB4OwotICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1saWdodDsKLSAg Ym9yZGVyLWxlZnQ6IDA7Ci0gIGJvcmRlci1yaWdodDogMDsKKyAgcGFkZGluZzogMXJlbTsKKyAg Ym9yZGVyLWJvdHRvbTogJHBhbmVsLWJvcmRlcjsKICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLXRo ZW1lOwogICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgIHRvcDogMDsKQEAgLTIzNSwxNSArMjM2LDYg QEAKICAgei1pbmRleDogNDsKIH0KIAotLmZpbGVpbmZvIC5kZWxldGVfaXRlbSBzcGFuLnB1bGwt cmlnaHQgLmJ0biwKLS5maWxlaW5mbyAucmVwbGFjZV9maWxlIHNwYW4ucHVsbC1yaWdodCAuYnRu IHsKLSAgcGFkZGluZzogMHB4IDVweDsKLSAgY29sb3I6ICRjb2xvci1mZzsKLSAgYmFja2dyb3Vu ZDogJGNvbG9yLWJnOwotICBmb250LXNpemU6IDEycHg7Ci0gIG1hcmdpbi1yaWdodDogNHB4Owot fQotCiAudXBsb2FkX2ZpbGUgLmR6X2Nyb3NzX2J0biB7CiAgIGNvbG9yOiAkY29sb3ItZmctdGhl bWU7CiAgIHJpZ2h0OiAwcHg7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFu YWdlci90ZW1wbGF0ZXMvZmlsZV9tYW5hZ2VyL2luZGV4Lmh0bWwgYi93ZWIvcGdhZG1pbi9taXNj L2ZpbGVfbWFuYWdlci90ZW1wbGF0ZXMvZmlsZV9tYW5hZ2VyL2luZGV4Lmh0bWwKaW5kZXggOWQx ZTM2NzMuLmY4NTQ1NDVlIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdl ci90ZW1wbGF0ZXMvZmlsZV9tYW5hZ2VyL2luZGV4Lmh0bWwKKysrIGIvd2ViL3BnYWRtaW4vbWlz Yy9maWxlX21hbmFnZXIvdGVtcGxhdGVzL2ZpbGVfbWFuYWdlci9pbmRleC5odG1sCkBAIC02NCwx NiArNjQsMTYgQEAKICAgICAgICAgPGRpdiBjbGFzcz0nZm1fZGltbWVyJz48L2Rpdj4KICAgICAg ICAgPGRpdiBjbGFzcz0nZGVsZXRlX2l0ZW0nPgogICAgICAgICAgICAgPHNwYW4+e3sgXygnQXJl IHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/JykgfX08L3NwYW4+Ci0gICAg ICAgIDxzcGFuIGNsYXNzPSJwdWxsLXJpZ2h0Ij4KLSAgICAgICAgPGJ1dHRvbiB0eXBlPSdidXR0 b24nIGNsYXNzPSdidG4gYnRuX3llcycgdGFiaW5kZXg9IjEzIj57eyBfKCdZZXMnKSB9fTwvYnV0 dG9uPgotICAgICAgICA8YnV0dG9uIHR5cGU9J2J1dHRvbicgY2xhc3M9J2J0biBidG5fbm8nIHRh YmluZGV4PSIxNCI+e3sgXygnTm8nKSB9fTwvYnV0dG9uPgotICAgICAgICA8L3NwYW4+CisgICAg ICAgICAgICA8c3BhbiBjbGFzcz0icHVsbC1yaWdodCI+CisgICAgICAgICAgICAgICAgPGJ1dHRv biB0eXBlPSdidXR0b24nIGNsYXNzPSdidG4gYnRuLXNlY29uZGFyeSBidG5fbm8nIHRhYmluZGV4 PSIxNCI+e3sgXygnTm8nKSB9fTwvYnV0dG9uPgorICAgICAgICAgICAgICAgIDxidXR0b24gdHlw ZT0nYnV0dG9uJyBjbGFzcz0nYnRuIGJ0bi1wcmltYXJ5IGJ0bl95ZXMnIHRhYmluZGV4PSIxMyI+ e3sgXygnWWVzJykgfX08L2J1dHRvbj4KKyAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgPC9k aXY+CiAgICAgICAgIDxkaXYgY2xhc3M9J3JlcGxhY2VfZmlsZSc+CiAgICAgICAgICAgICA8c3Bh bj57eyBfKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVwbGFjZSB0aGlzIGZpbGU/JykgfX08 L3NwYW4+CiAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHVsbC1yaWdodCI+Ci0gICAgICAgICAg ICAgICAgPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSdidG4gYnRuX3llcycgdGFiaW5kZXg9 IjE1Ij57eyBfKCdZZXMnKSB9fTwvYnV0dG9uPgotICAgICAgICAgICAgICAgIDxidXR0b24gdHlw ZT0nYnV0dG9uJyBjbGFzcz0nYnRuIGJ0bl9ubycgdGFiaW5kZXg9IjE2Ij57eyBfKCdObycpIH19 PC9idXR0b24+CisgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSdi dG4gYnRuLXNlY29uZGFyeSBidG5fbm8nIHRhYmluZGV4PSIxNiI+e3sgXygnTm8nKSB9fTwvYnV0 dG9uPgorICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nYnRuIGJ0 bi1wcmltYXJ5IGJ0bl95ZXMnIHRhYmluZGV4PSIxNSI+e3sgXygnWWVzJykgfX08L2J1dHRvbj4K ICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgPC9kaXY+CiAgICAgPC9kaXY+CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9wcmVmZXJlbmNlcy9zdGF0aWMvanMvcHJlZmVyZW5jZXMuanMgYi93 ZWIvcGdhZG1pbi9wcmVmZXJlbmNlcy9zdGF0aWMvanMvcHJlZmVyZW5jZXMuanMKaW5kZXggNTEx YzgwYTEuLmIyNWJlNWM4IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9wcmVmZXJlbmNlcy9zdGF0 aWMvanMvcHJlZmVyZW5jZXMuanMKKysrIGIvd2ViL3BnYWRtaW4vcHJlZmVyZW5jZXMvc3RhdGlj L2pzL3ByZWZlcmVuY2VzLmpzCkBAIC00NzcsNyArNDc3LDcgQEAgZGVmaW5lKCdwZ2FkbWluLnBy ZWZlcmVuY2VzJywgWwogCiAgICAgfSwKICAgICBzaG93OiBmdW5jdGlvbigpIHsKLSAgICAgIEFs ZXJ0aWZ5LnByZWZlcmVuY2VzRGxnKHRydWUpLnJlc2l6ZVRvKCc2MCUnLCAnNjAlJyk7CisgICAg ICBBbGVydGlmeS5wcmVmZXJlbmNlc0RsZyh0cnVlKS5yZXNpemVUbyhwZ0FkbWluLkJyb3dzZXIu c3RkVy5sZyxwZ0FkbWluLkJyb3dzZXIuc3RkSC5sZyk7CiAgICAgfSwKICAgfTsKIApkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vcHJlZmVyZW5jZXMvc3RhdGljL3Njc3MvX3ByZWZlcmVuY2VzLnNj c3MgYi93ZWIvcGdhZG1pbi9wcmVmZXJlbmNlcy9zdGF0aWMvc2Nzcy9fcHJlZmVyZW5jZXMuc2Nz cwppbmRleCA3YzhkNjc0YS4uMjQxY2E4ZjUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3ByZWZl cmVuY2VzL3N0YXRpYy9zY3NzL19wcmVmZXJlbmNlcy5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3By ZWZlcmVuY2VzL3N0YXRpYy9zY3NzL19wcmVmZXJlbmNlcy5zY3NzCkBAIC0zLDggKzMsNyBAQAog ICBwYWRkaW5nLXRvcDogMnB4OwogICBoZWlnaHQ6IDEwMCU7CiAgIG92ZXJmbG93OiBhdXRvOwot ICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3ItZ3JheS1saWdodDsKLSAgYmFja2dyb3Vu ZC1pbWFnZTogJGNvbG9yLWdyYXktbGlnaHRlcjsKKyAgYm9yZGVyLXJpZ2h0OiAkcGFuZWwtYm9y ZGVyOwogfQogCiAucHJlZmVyZW5jZXNfY29udGVudCB7CkBAIC0yMSw0ICsyMCw4IEBACiAKIC5i dG4tY2hlY2tib3ggewogICBwYWRkaW5nOiAkYnRuLWNoZWNrYm94LXBhZGRpbmc7CisKKyAgJiBp bnB1dFt0eXBlPSJjaGVja2JveCJdeworICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50Owor ICB9CiB9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYWxlcnRpZnkucGdhZG1p bi5kZWZhdWx0cy5qcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9hbGVydGlmeS5wZ2FkbWluLmRl ZmF1bHRzLmpzCmluZGV4IDJkMDkzZGYzLi44MzA0Nzk4NSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vc3RhdGljL2pzL2FsZXJ0aWZ5LnBnYWRtaW4uZGVmYXVsdHMuanMKKysrIGIvd2ViL3BnYWRt aW4vc3RhdGljL2pzL2FsZXJ0aWZ5LnBnYWRtaW4uZGVmYXVsdHMuanMKQEAgLTE5NywxMCArMTk3 LDEwIEBAIGRlZmluZShbCiAgICAgICAgIHRoaXMucGdSZXNpemVUaW1lb3V0ID0gbnVsbDsKIAog ICAgICAgICAvKiogQ2FsY3VsYXRpb25zIGJhc2VkIG9uIGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNv bS9kb2NzLzQuMS9sYXlvdXQvZ3JpZC8jZ3JpZC1vcHRpb25zICoqLwotICAgICAgICBpZiAodyA8 IDU3NikgeworICAgICAgICBpZiAodyA8IDQ4MCkgewogICAgICAgICAgIHcgPSAneHMnOwogICAg ICAgICB9Ci0gICAgICAgIGlmICh3ID49IDU3NikgeworICAgICAgICBpZiAodyA+PSA0ODApIHsK ICAgICAgICAgICB3ID0gJ3NtJzsKICAgICAgICAgfQogICAgICAgICBpZiAodyA+PSA3NjgpIHsK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZm9ybS5wZ2FkbWluLmpzIGIv d2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tmb3JtLnBnYWRtaW4uanMKaW5kZXggMDI0YTdlZWQu LjM1N2JlOWU0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0ucGdh ZG1pbi5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0ucGdhZG1pbi5qcwpA QCAtMjI4OCw3ICsyMjg4LDcgQEAgZGVmaW5lKFsKICAgICAgICc8ZGl2IGNsYXNzPSJpbnB1dC1n cm91cCI+JywKICAgICAgICc8aW5wdXQgdHlwZT0iPCU9dHlwZSU+IiBjbGFzcz0iZm9ybS1jb250 cm9sIDwlPWV4dHJhQ2xhc3Nlcy5qb2luKFwnIFwnKSU+IiBuYW1lPSI8JT1uYW1lJT4iIG1pbj0i PCU9bWluJT4iIG1heD0iPCU9bWF4JT4ibWF4bGVuZ3RoPSI8JT1tYXhsZW5ndGglPiIgdmFsdWU9 IjwlLXZhbHVlJT4iIHBsYWNlaG9sZGVyPSI8JS1wbGFjZWhvbGRlciU+IiA8JT1kaXNhYmxlZCA/ ICJkaXNhYmxlZCIgOiAiIiU+IDwlPXJlcXVpcmVkID8gInJlcXVpcmVkIiA6ICIiJT4gLz4nLAog ICAgICAgJzxkaXYgY2xhc3M9ImlucHV0LWdyb3VwLWFwcGVuZCI+JywKLSAgICAgICc8YnV0dG9u IGNsYXNzPSJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGZhIGZhLWVsbGlwc2lzLWggc2VsZWN0 X2l0ZW0iIDwlPWRpc2FibGVkID8gImRpc2FibGVkIiA6ICIiJT4gPjwvYnV0dG9uPicsCisgICAg ICAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgZmEgZmEtZWxsaXBzaXMtaCBzZWxl Y3RfaXRlbSIgPCU9ZGlzYWJsZWQgPyAiZGlzYWJsZWQiIDogIiIlPiA+PC9idXR0b24+JywKICAg ICAgICc8L2Rpdj4nLAogICAgICAgJzwvZGl2PicsCiAgICAgICAnPCUgaWYgKGhlbHBNZXNzYWdl ICYmIGhlbHBNZXNzYWdlLmxlbmd0aCkgeyAlPicsCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9z dGF0aWMvanMvc2xpY2tncmlkL2VkaXRvcnMuanMgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc2xp Y2tncmlkL2VkaXRvcnMuanMKaW5kZXggMmQ3MzJjNTYuLjZmMjc4ZWM0IDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9zdGF0aWMvanMvc2xpY2tncmlkL2VkaXRvcnMuanMKKysrIGIvd2ViL3BnYWRt aW4vc3RhdGljL2pzL3NsaWNrZ3JpZC9lZGl0b3JzLmpzCkBAIC0zNiw3ICszNiwxMyBAQAogICBm dW5jdGlvbiBnZXRCdXR0b25zKGVkaXRhYmxlKSB7CiAgICAgdmFyICRidXR0b25zID0gJCgnPGRp diBjbGFzcz1cJ3BnX2J1dHRvbnNcJyAvPicpLAogICAgICAgbGFiZWwgPSBlZGl0YWJsZSA/ICdD YW5jZWwnIDogJ09LJywKLSAgICAgIGJ1dHRvbl90eXBlID0gZWRpdGFibGUgPyAnYnRuLWRhbmdl cicgOiAnYnRuLXByaW1hcnknOworICAgICAgYnV0dG9uX3R5cGUgPSBlZGl0YWJsZSA/ICdidG4t c2Vjb25kYXJ5JyA6ICdidG4tcHJpbWFyeScsCisgICAgICBidXR0b25faWNvbiA9IGVkaXRhYmxl ID8gJ2ZhLXRpbWVzJyA6ICdmYS1jaGVjayc7CisKKyAgICAkKCc8YnV0dG9uIGNsYXNzPVwnYnRu ICcgKyBidXR0b25fdHlwZSArICcgbG9uZ190ZXh0X2VkaXRvciBwZy1hbGVydGlmeS1idXR0b25c JyBkYXRhLWxhYmVsPSInK2xhYmVsKyciPicgKworICAgICc8c3BhbiBjbGFzcz0iZmEgJysgYnV0 dG9uX2ljb24gKycgcGctYWxlcnRpZnktYnV0dG9uIj48L3NwYW4+Jm5ic3A7JysgbGFiZWwgKwor ICAgICc8L2J1dHRvbj4nKQorICAgIC5hcHBlbmRUbygkYnV0dG9ucyk7CiAKICAgICBpZiAoZWRp dGFibGUpIHsKICAgICAgICQoJzxidXR0b24gY2xhc3M9XCdidG4gYnRuLXByaW1hcnkgbG9uZ190 ZXh0X2VkaXRvclwnIGRhdGEtbGFiZWw9IlNhdmUiPicrCkBAIC00NCwxMSArNTAsNiBAQAogICAg ICAgICAnPC9idXR0b24+JykKICAgICAgICAgLmFwcGVuZFRvKCRidXR0b25zKTsKICAgICB9Ci0K LSAgICAkKCc8YnV0dG9uIGNsYXNzPVwnYnRuICcgKyBidXR0b25fdHlwZSArICcgbG9uZ190ZXh0 X2VkaXRvciBwZy1hbGVydGlmeS1idXR0b25cJyBkYXRhLWxhYmVsPSInK2xhYmVsKyciPicgKwot ICAgICAgJzxzcGFuIGNsYXNzPSJmYSBmYS1zYXZlIHBnLWFsZXJ0aWZ5LWJ1dHRvbiI+PC9zcGFu PiZuYnNwOycrIGxhYmVsICsKLSAgICAgICc8L2J1dHRvbj4nKQotICAgICAgLmFwcGVuZFRvKCRi dXR0b25zKTsKICAgICByZXR1cm4gJGJ1dHRvbnM7CiAgIH0KIApkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvci9maWx0ZXJfZGlhbG9nLmpzIGIvd2ViL3BnYWRtaW4v c3RhdGljL2pzL3NxbGVkaXRvci9maWx0ZXJfZGlhbG9nLmpzCmluZGV4IDZkYzk1NzFiLi5mMjVl ZjMxMiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvci9maWx0ZXJf ZGlhbG9nLmpzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3IvZmlsdGVyX2Rp YWxvZy5qcwpAQCAtMTEyLDE5ICsxMTIsMTcgQEAgbGV0IEZpbHRlckRpYWxvZyA9IHsKICAgICAg ICAgICAgIHRoaXMuX19pbnRlcm5hbC5idXR0b25zWzJdLmVsZW1lbnQuZGlzYWJsZWQgPSB0cnVl OwogCiAgICAgICAgICAgICAvLyBTdGF0dXMgYmFyCi0gICAgICAgICAgICB0aGlzLnN0YXR1c0Jh ciA9ICQoJzxkaXYgY2xhc3M9XCdwZy1wcm9wLXN0YXR1cy1iYXIgcGctZWwteHMtMTIgZC1ub25l XCc+JyArCi0gICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9XCdtZWRpYSBlcnJvci1pbi1mb290 ZXIgYmctZGFuZ2VyLWxpZ2h0IGJvcmRlci1kYW5nZXIgdGV4dC1kYW5nZXIgdGV4dC0xNFwnPicg KwotICAgICAgICAgICAgICAnICAgIDxkaXYgY2xhc3M9XCdtZWRpYS1ib2R5IG1lZGlhLW1pZGRs ZVwnPicgKwotICAgICAgICAgICAgICAnICAgICAgPGRpdiBjbGFzcz1cJ2FsZXJ0LWljb24gZXJy b3ItaWNvblwnPicgKwotICAgICAgICAgICAgICAnICAgICAgICA8aSBjbGFzcz1cJ2ZhIGZhLWV4 Y2xhbWF0aW9uLXRyaWFuZ2xlXCcgYXJpYS1oaWRkZW49XCd0cnVlXCc+PC9pPicgKwotICAgICAg ICAgICAgICAnICAgICAgPC9kaXY+JyArCi0gICAgICAgICAgICAgICcgICAgICA8ZGl2IGNsYXNz PVwnYWxlcnQtdGV4dFwnPicgKwotICAgICAgICAgICAgICAnICAgICAgPC9kaXY+JyArCi0gICAg ICAgICAgICAgICcgICAgPC9kaXY+JyArCi0gICAgICAgICAgICAgICcgIDwvZGl2PicgKwotICAg ICAgICAgICAgICAnPC9kaXY+JywgewotICAgICAgICAgICAgICAgIHRleHQ6ICcnLAotICAgICAg ICAgICAgICB9KS5hcHBlbmRUbygkY29udGFpbmVyKTsKKyAgICAgICAgICAgIHRoaXMuc3RhdHVz QmFyID0gJCgKKyAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9XCdwZy1wcm9wLXN0YXR1cy1iYXIg cGctZWwteHMtMTIgZC1ub25lXCc+JyArCisgICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9ImVy cm9yLWluLWZvb3RlciI+ICcgKworICAgICAgICAgICAgICAnICAgIDxkaXYgY2xhc3M9ImQtZmxl eCBweC0yIHB5LTEiPiAnICsKKyAgICAgICAgICAgICAgJyAgICAgIDxkaXYgY2xhc3M9InByLTIi PiAnICsKKyAgICAgICAgICAgICAgJyAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWV4Y2xhbWF0aW9u LXRyaWFuZ2xlIHRleHQtZGFuZ2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiAnICsKKyAgICAg ICAgICAgICAgJyAgICAgIDwvZGl2PiAnICsKKyAgICAgICAgICAgICAgJyAgICAgIDxkaXYgY2xh c3M9ImFsZXJ0LXRleHQiPjwvZGl2PiAnICsKKyAgICAgICAgICAgICAgJyAgICA8L2Rpdj4gJyAr CisgICAgICAgICAgICAgICcgIDwvZGl2PiAnICsKKyAgICAgICAgICAgICAgJzwvZGl2PicpLmFw cGVuZFRvKCRjb250YWluZXIpOwogCiAgICAgICAgICAgICAvLyBUbyBzaG93IHByb2dyZXNzIG9u IGZpbHRlciBTYXZpbmcvVXBkYXRpbmcgb24gQUpBWAogICAgICAgICAgICAgdGhpcy5zaG93Rmls dGVyUHJvZ3Jlc3MgPSAkKApAQCAtMjU5LDcgKzI1Nyw3IEBAIGxldCBGaWx0ZXJEaWFsb2cgPSB7 CiAgICAgICAgIH07CiAgICAgICB9KTsKIAotICAgICAgQWxlcnRpZnkuZmlsdGVyRGlhbG9nKHRp dGxlKS5yZXNpemVUbygnNjUlJywgJzYwJScpOworICAgICAgQWxlcnRpZnkuZmlsdGVyRGlhbG9n KHRpdGxlKS5yZXNpemVUbyhwZ0FkbWluLkJyb3dzZXIuc3RkVy5tZCxwZ0FkbWluLkJyb3dzZXIu c3RkSC5tZCk7CiAgICAgfSkKICAgICAuZmFpbChmdW5jdGlvbihlKSB7CiAgICAgICBoYW5kbGVR dWVyeVRvb2xBamF4RXJyb3IocGdBZG1pbiwgaGFuZGxlciwgZSwgJ19zaG93X2ZpbHRlcicsIFtd LCB0cnVlKTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19hY2lfdHJlZS5v dmVycmlkZXMuc2NzcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19hY2lfdHJlZS5vdmVycmlk ZXMuc2NzcwppbmRleCBhZDc3NTE3My4uNzBhMGM5MTYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L3N0YXRpYy9zY3NzL19hY2lfdHJlZS5vdmVycmlkZXMuc2NzcworKysgYi93ZWIvcGdhZG1pbi9z dGF0aWMvc2Nzcy9fYWNpX3RyZWUub3ZlcnJpZGVzLnNjc3MKQEAgLTMsNyArMyw3IEBACiB9CiAu YWNpVHJlZSAuYWNpVHJlZVRleHQgewogCWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFy eTsKLQlmb250LXNpemU6IDEycHg7CisJZm9udC1zaXplOiAwLjgxNXJlbTsKIH0KIC5hY2lUcmVl LmFjaVRyZWVGb2N1cyAuYWNpVHJlZUZvY3VzID4gLmFjaVRyZWVMaW5lICB7CiAgIGJhY2tncm91 bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v c3RhdGljL3Njc3MvX2FsZXJ0LnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYWxlcnQu c2NzcwppbmRleCA1MDdiOTQ3Ny4uNGY1OTAxMWQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0 YXRpYy9zY3NzL19hbGVydC5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19hbGVy dC5zY3NzCkBAIC0xMDQsMjUgKzEwNCwxNyBAQAogICB9CiAKICAgLmFsZXJ0LXRleHQgewotICAg IGZsZXgtZ3JvdzogMTsKLSAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZGFuZ2VyLWxpZ2h0 OwotICAgIHBhZGRpbmc6IDZweCAxMnB4IDZweCAxMHB4OwotICAgIGJvcmRlci1sZWZ0OiBub25l OwogICAgIC1tb3otdXNlci1zZWxlY3Q6IHRleHQ7CiAgICAgLWtodG1sLXVzZXItc2VsZWN0OiB0 ZXh0OwogICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7CiAgICAgLW1zLXVzZXItc2VsZWN0 OiB0ZXh0OwogICAgIHVzZXItc2VsZWN0OiB0ZXh0OwotICAgIHdpZHRoOiAxMDAlOwogICB9CiAK ICAgLmVycm9yLWluLWZvb3RlciB7Ci0gICAgYm9yZGVyLXJhZGl1czogNXB4OwotICAgIGJvcmRl cjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwotCi0gICAgLmFsZXJ0LXRleHQgewotICAgICAgYm9y ZGVyLWNvbG9yOiAkY29sb3ItZGFuZ2VyLWxpZ2h0OwotICAgIH0KKyAgICBib3JkZXItcmFkaXVz OiAkYm9yZGVyLXJhZGl1czsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZGFuZ2VyLWxp Z2h0OworICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYW5nZXItbGlnaHRlcjsKICAgfQogCiAgIC5z dWNjZXNzLWluLWZvb3RlciB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9f YWxlcnRpZnkub3ZlcnJpZGVzLnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYWxlcnRp Znkub3ZlcnJpZGVzLnNjc3MKaW5kZXggYzczODJkNGIuLjIzNWM5ZmRiIDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYWxlcnRpZnkub3ZlcnJpZGVzLnNjc3MKKysrIGIvd2Vi L3BnYWRtaW4vc3RhdGljL3Njc3MvX2FsZXJ0aWZ5Lm92ZXJyaWRlcy5zY3NzCkBAIC0zMiw3ICsz Miw3IEBACiAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFk aXVzOwogICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRp dXM7CiAgICAgICAgICYgLmFqcy1jb250ZW50IHsKLSAgICAgICAgICB0b3A6IDA7CisgICAgICAg ICAgdG9wOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsK ICAgICAgICAgfQogICAgICAgfQpAQCAtNDgsNyArNDgsOCBAQAogICAgIH0KICAgfQogICAuYWpz LWJvZHkgLmFqcy1jb250ZW50IHsKLSAgICB0b3A6ICR0aXRsZS1oZWlnaHQ7CisgICAgdG9wOiAk dGl0bGUtaGVpZ2h0ICFpbXBvcnRhbnQ7CisgICAgYm90dG9tOiAkZm9vdGVyLWhlaWdodC1jYWxj ICFpbXBvcnRhbnQ7CiAgIH0KIAogICAvKiBSZW1vdmVzIHBhZGRpbmcgZnJvbSBhbGVydGlmeSBm b290ZXIgKi8KQEAgLTExNCw2ICsxMTUsMTAgQEAKICAgfQogfQogCisuYWxlcnRpZnkuYWpzLWZy YW1lbGVzcyAuYWpzLWJvZHkgLmFqcy1jb250ZW50IHsKKyAgYm90dG9tOiAwcHggIWltcG9ydGFu dDsKK30KKwogLmFsZXJ0aWZ5LmFqcy1tYXhpbWl6ZWQgLmFqcy1jb21tYW5kcywKIC5hbGVydGlm eS5hanMtcmVzaXphYmxlIC5hanMtY29tbWFuZHMgewogICBtYXJnaW46IDJweCAwcHggMCAwOwpA QCAtMTgwLDExICsxODUsOSBAQAogfQogCiAucGctYWxlcnRpZnktaWNvbi1idXR0b24gewotICAv L3JlZmVyZWQgLSAkaW5wdXQtYnRuLXBhZGRpbmcteSwgJGlucHV0LWJ0bi1wYWRkaW5nLXgKLSAg cGFkZGluZzogMC4yNzVyZW0gJGlucHV0LWJ0bi1wYWRkaW5nLXg7CiAgICY6YmVmb3JlIHsKICAg ICBmb250LXNpemU6IDEuM2VtICFpbXBvcnRhbnQ7Ci0gICAgbGluZS1oZWlnaHQ6IDEuMzsKKyAg ICBsaW5lLWhlaWdodDogMS4yOwogICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaWNvbjsK ICAgfQogfQpAQCAtMTk1LDcgKzE5OCw3IEBACiB9CiAKIC5hanMtbWVzc2FnZS5hanMtZXJyb3Iu YWpzLXZpc2libGUgewotICBiYWNrZ3JvdW5kOiAkY29sb3ItZGFuZ2VyLWxpZ2h0OworICBiYWNr Z3JvdW5kOiAkY29sb3ItZGFuZ2VyLWxpZ2h0ZXI7CiAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBz b2xpZCAkY29sb3ItZGFuZ2VyOwogICBAZXh0ZW5kIC5hanMtdGV4dC1zbW9vdGhpbmc7CiB9CkBA IC0yMTUsMyArMjE4LDcgQEAKIC5hanMtbWVzc2FnZSA+IC5tZWRpYSA+IC5tZWRpYS1ib2R5Lm1l ZGlhLW1pZGRsZSB7CiAgIGRpc3BsYXk6IGZsZXg7CiB9CisKKy5hbGVydGlmeSAuYWpzLWRpbW1l ciB7CisgIGJhY2tncm91bmQtY29sb3I6ICRsb2FkaW5nLWJnOworfQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19iYWNrZm9y bS5vdmVycmlkZXMuc2NzcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19iYWNrZm9ybS5vdmVy cmlkZXMuc2NzcwppbmRleCA2YTA0ZjYxNC4uYWJjMmFmNGUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL3N0YXRpYy9zY3NzL19iYWNrZm9ybS5vdmVycmlkZXMuc2NzcworKysgYi93ZWIvcGdhZG1p bi9zdGF0aWMvc2Nzcy9fYmFja2Zvcm0ub3ZlcnJpZGVzLnNjc3MKQEAgLTEsNiArMSw2IEBACiAu aGFzLWVycm9yIHsKICAgLnBnYWRtaW4tY29udHJvbHMgLmZvcm0tY29udHJvbCB7Ci0gICAgYm9y ZGVyLWNvbG9yOiAkY29sb3ItZGFuZ2VyOworICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhbmdl ci1saWdodDsKICAgfQogCiAgIC5mb3JtLWNvbnRyb2wgewpAQCAtMTEsMTUgKzExLDE1IEBACiAg ICAgY29sb3I6ICRjb2xvci1kYW5nZXI7CiAgIH0KIAotICAuY29udHJvbC1sYWJlbDpiZWZvcmUg eworICAuY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5v cm1hbCAxNnB4LzEgRm9udEF3ZXNvbWU7CiAgICAgY29udGVudDogIlxmMDcxIjsKICAgICB0ZXh0 LWRlY29yYXRpb246IGluaGVyaXQ7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIGNvbG9y OiAkY29sb3ItZGFuZ2VyOwotICAgIHJpZ2h0OiA2cHg7Ci0gICAgcGFkZGluZy10b3A6IDZweDsK KyAgICByaWdodDogMC41cmVtOwogICAgIHotaW5kZXg6IDE7CisgICAgbGluZS1oZWlnaHQ6IGlu aGVyaXQ7CiAgIH0KIH0KIApAQCAtMzYsMTAgKzM2LDE0IEBACiAgIH0KIH0KIC5iYWNrZm9ybS10 YWIgLnRhYi1wYW5lIHsKLQlwYWRkaW5nOiA3cHg7CisJcGFkZGluZzogMC41cmVtOwogCSYuU1FM IHsKICAgICBoZWlnaHQ6IDEwMCU7Ci0gICAgcGFkZGluZzogMHB4IDdweCAwcHggMHB4OworICAg IHBhZGRpbmc6IDBweDsKKworICAgICYgLnBnYWRtaW4tY29udHJvbHMuU1FMIHsKKyAgICAgIHBh ZGRpbmc6IDBweDsKKyAgICB9CiAJfQogfQogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0 aWMvc2Nzcy9fYmFja2dyaWQub3ZlcnJpZGVzLnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nz cy9fYmFja2dyaWQub3ZlcnJpZGVzLnNjc3MKaW5kZXggNTE5YTU2YmUuLmFmZTFjNjVlIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYmFja2dyaWQub3ZlcnJpZGVzLnNjc3MK KysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2JhY2tncmlkLm92ZXJyaWRlcy5zY3NzCkBA IC0xLDYgKzEsNyBAQAogLmJhY2tncmlkIHRoLCAuYmFja2dyaWQgdGQgewogICBmb250LXdlaWdo dDogbm9ybWFsIWltcG9ydGFudDsKICAgdGV4dC1hbGlnbjogbGVmdDsKKyAgbGluZS1oZWlnaHQ6 ICRsaW5lLWhlaWdodC1iYXNlOwogfQogCiAuYmFja2dyaWQuYmFja2dyaWQtc3RyaXBlZCB0Ym9k eSB7CkBAIC0yMjMsNiArMjI0LDEwIEBAIHNwYW4uZm9ybS1jb250cm9sOmRpc2FibGVkIHsKICAg ICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmc7CiAgICAgYm9yZGVyOiAxcHggc29saWQgJGJv cmRlci1jb2xvcjsKICAgICBib3JkZXItcmFkaXVzOiAkcGFuZWwtYm9yZGVyLXJhZGl1czsKKwor ICAgICYgLnRhYi1wYW5lIHsKKyAgICAgIHBhZGRpbmc6IDAuNXJlbTsKKyAgICB9CiB9CiAuc3Vi bm9kZS1mb290ZXIgewogICAgIGhlaWdodDogMzhweDsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L3N0YXRpYy9zY3NzL19ib290c3RyYXAub3ZlcnJpZGVzLnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0 aWMvc2Nzcy9fYm9vdHN0cmFwLm92ZXJyaWRlcy5zY3NzCmluZGV4IGU3YjQ0ZTcyLi44YWIxNWFk NSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2Jvb3RzdHJhcC5vdmVycmlk ZXMuc2NzcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYm9vdHN0cmFwLm92ZXJyaWRl cy5zY3NzCkBAIC0xOCw2ICsxOCwxMCBAQCBpZnJhbWUgewogCWJvcmRlci13aWR0aDogMDsKIH0K IAorbGVnZW5kIHsKKwltYXJnaW4tYm90dG9tOiAwcmVtOworfQorCiAvKiBQYWRkaW5nIGZvciB0 aGUgdHJlZXZpZXcgKi8KIC5icm93c2VyLWJyb3dzZXItcGFuZSB7CiAJcGFkZGluZy1sZWZ0OiAw OwpAQCAtMTM0LDEzICsxMzgsMTkgQEAgaWZyYW1lIHsKIAlib3JkZXItbGVmdDogNXB4IHNvbGlk OwogCWJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDsKIH0KKy8qIDI1cHggaXMgZm9y IHNob3dpbmcgZXJyb3IgaWNvbiAqLwogLmNvbnRyb2wtbGFiZWwgewogCWRpc3BsYXk6IGlubGlu ZS1ibG9jazsKIAltYXJnaW46IDBweDsKLQlwYWRkaW5nOiA1cHggMjVweCA1cHggNXB4OworCXBh ZGRpbmc6IDVweCAyNXB4IDVweCA1cHggIWltcG9ydGFudDsKIAl2ZXJ0aWNhbC1hbGlnbjogbWlk ZGxlOwogfQogCisuZm9ybS1jaGVjayB7CisJcGFkZGluZy1sZWZ0OiAwcmVtOworCXBhZGRpbmct cmlnaHQ6IDAuNXJlbTsKK30KKwogLmZvcm0tY29udHJvbFtkaXNhYmxlZF0sIC5mb3JtLWNvbnRy b2xbcmVhZG9ubHldLCBmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0tY29udHJvbCB7CiAJY29sb3I6 ICR0ZXh0LW11dGVkOwogfQpAQCAtMjU5LDYgKzI2OSw3IEBAIHRkLnN3aXRjaC1jZWxsID4gZGl2 LmJvb3RzdHJhcC1zd2l0Y2ggewogCQkJZm9udC13ZWlnaHQ6IGJvbGQ7CiAJCQkmLmFjdGl2ZSB7 CiAJCQkJYm9yZGVyLWJvdHRvbTogJGFjdGl2ZS1ib3JkZXIgIWltcG9ydGFudDsKKwkJCQljb2xv cjogJGNvbG9yLXByaW1hcnk7CiAJCQl9CiAJCX0KIAl9CkBAIC0zMTEsMyArMzIyLDE3IEBAIHRk LnN3aXRjaC1jZWxsID4gZGl2LmJvb3RzdHJhcC1zd2l0Y2ggewogLmJvb3RzdHJhcC1kYXRldGlt ZXBpY2tlci13aWRnZXQgdGhlYWQgdGggewogICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmc7 CiB9CisKKy5pbnB1dC1ncm91cCB7CisgICAgJiAuaW5wdXQtZ3JvdXAtdGV4dCB7CisgICAgICBi YWNrZ3JvdW5kOiAkaW5wdXQtYmc7CisJfQorfQorCisvKiBib290c3RyYXAtc3dpdGNoICovCisu Ym9vdHN0cmFwLXN3aXRjaCAuYm9vdHN0cmFwLXN3aXRjaC1oYW5kbGUtb24uYm9vdHN0cmFwLXN3 aXRjaC1wcmltYXJ5LCAuYm9vdHN0cmFwLXN3aXRjaCAuYm9vdHN0cmFwLXN3aXRjaC1oYW5kbGUt b2ZmLmJvb3RzdHJhcC1zd2l0Y2gtcHJpbWFyeSB7CisJYmFja2dyb3VuZDogJGNvbG9yLXByaW1h cnk7Cit9CisuYm9vdHN0cmFwLXN3aXRjaCAuYm9vdHN0cmFwLXN3aXRjaC1oYW5kbGUtb24uYm9v dHN0cmFwLXN3aXRjaC1zdWNjZXNzLCAuYm9vdHN0cmFwLXN3aXRjaCAuYm9vdHN0cmFwLXN3aXRj aC1oYW5kbGUtb2ZmLmJvb3RzdHJhcC1zd2l0Y2gtc3VjY2VzcyB7CisJYmFja2dyb3VuZDogJGNv bG9yLXN1Y2Nlc3M7Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fcGdh ZG1pbi5zdHlsZS5zY3NzIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3BnYWRtaW4uc3R5bGUu c2NzcwppbmRleCA5OWIxMmUwOS4uMGU4ZmZjN2EgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0 YXRpYy9zY3NzL19wZ2FkbWluLnN0eWxlLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Nj c3MvX3BnYWRtaW4uc3R5bGUuc2NzcwpAQCAtMjQsOSArMjQsNiBAQAogLnVzZXItbGFuZ3VhZ2Ug ZGl2ewogICBmbG9hdDpsZWZ0OwogfQotLnVzZXItbGFuZ3VhZ2Ugc2VsZWN0ewotICBoZWlnaHQ6 IDI1cHggIWltcG9ydGFudDsKLX0KIAogLlJlc2l6ZXIgewogICBiYWNrZ3JvdW5kOiAkY29sb3It Z3JheS1saWdodGVyOwpAQCAtMTQyLDcgKzEzOSw3IEBACiB9CiAKIC5hbGVydGlmeSAuYWpzLWJv ZHkgewotICBtaW4taGVpZ2h0OiAkZm9vdGVyLWhlaWdodC1jYWxjKjI7CisgIG1pbi1oZWlnaHQ6 ICRmb290ZXItaGVpZ2h0LWNhbGMqMS41OwogfQogCiAKQEAgLTI0OCw2ICsyNDUsMTAgQEAKICAg ICBtYXJnaW4tYm90dG9tOiAzM3B4OwogfQogCisucGctcHJvcC1idG4tZ3JvdXAtYWJvdmUgewor ICBib3JkZXItYm90dG9tOiAkcGFuZWwtYm9yZGVyOworfQorCiAuaGFzLXBnLXByb3AtYnRuLWdy b3VwIHsKICAgICB0b3A6IDQ1cHg7CiAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0NXB4KTsKQEAg LTMyMyw5ICszMjQsMTAgQEAKIH0KIAogLnBnYWRtaW4tY29udHJvbHMgewotICAgIHBhZGRpbmct cmlnaHQ6IDNweDsKLSAgICBwYWRkaW5nLWxlZnQ6IDNweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAw cHg7CisgICAgcGFkZGluZy1sZWZ0OiAwcHg7CiB9CisKIC5wZ2FkbWluLWNvbnRyb2xzLlNRTCB7 CiAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgcGFkZGluZy1sZWZ0OiAxcHg7CkBAIC0zNzIsNiAr Mzc0LDExIEBACiAgIGJvcmRlci1yYWRpdXM6IDByZW07CiAgIGJvcmRlci10b3AtbGVmdC1yYWRp dXM6ICRjYXJkLWJvcmRlci1yYWRpdXM7CiAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkY2Fy ZC1ib3JkZXItcmFkaXVzOworCisgICYuY29sbGFwc2VkIHsKKyAgICBib3JkZXItYm90dG9tOiBu b25lICFpbXBvcnRhbnQ7CisgICAgYm9yZGVyLXJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1czsK KyAgfQogfQogCiAub2JqX3Byb3BlcnRpZXMgLmJhZGdlIC5jYXJldCB7CkBAIC01MDIsMTUgKzUw OSwxNyBAQCBmaWVsZHNldC5pbmxpbmUtZmllbGRzZXQgPiBkaXYgewogICBwYWRkaW5nOiAxNXB4 OwogfQogCi0ucGdhZG1pbi1jb250cm9sLWdyb3VwLnNxbCB7Ci0gIG1hcmdpbjogMHB4OwotICBw YWRkaW5nOiAwcHg7Ci0gIGhlaWdodDogMTAwJTsKKy5wZ2FkbWluLWNvbnRyb2wtZ3JvdXB7Cisg ICYuc3FsLCAmLnNxbHRhYiB7CisgICAgbWFyZ2luOiAwcHg7CisgICAgcGFkZGluZzogMHB4Owor ICAgIGhlaWdodDogMTAwJTsKKyAgfQogfQogCiAucGdhZG1pbi1jb250cm9scyBpbnB1dFt0eXBl PSJjaGVja2JveCJdewogICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OwotICBtYXJnaW4tdG9w OiAwcHggIWltcG9ydGFudDsKKyAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OwogfQogCiAu cGdhZG1pbi1jb250cm9scy5zcWxfZmllbGRfbGF5b3V0IHsKQEAgLTUyMCwxNCArNTI5LDE0IEBA IGZpZWxkc2V0LmlubGluZS1maWVsZHNldCA+IGRpdiB7CiAgIHotaW5kZXg6IDE7CiB9CiAKLS5w Z2FkbWluLWNvbnRyb2xzLmZvY3VzZWQgewotICBib3JkZXItY29sb3I6ICRjb2xvci1wcmltYXJ5 LWxpZ2h0OworLnBnYWRtaW4tY29udHJvbHMuZm9jdXNlZCwKKy5wZ2FkbWluLWNvbnRyb2xzOmZv Y3VzIHsKKyAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFpbXBvcnRh bnQ7CiAgIG91dGxpbmU6IDA7Ci0gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4 IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSgkY29sb3ItcHJpbWFyeSwgLjYpOwotICBi b3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCByZ2Jh KCRjb2xvci1wcmltYXJ5LCAuNik7CisgIC13ZWJraXQtYm94LXNoYWRvdzogJGlucHV0LWZvY3Vz LWJveC1zaGFkb3c7CisgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OwogfQog Ci0KIC5kYXNoYm9hcmQtdGFiLWNvbnRhaW5lciwKIC5wZy1wYW5lbC1zdGF0aXN0aWNzLWNvbnRh aW5lciwKIC5wZy1wYW5lbC1kZXBlbmRzLWNvbnRhaW5lciwKQEAgLTc0MiwxNCArNzUxLDcgQEAg Zm9ybVtuYW1lPSJjaGFuZ2VfcGFzc3dvcmRfZm9ybSJdIC5oZWxwLWJsb2NrIHsKICAgfQogfQog Ci0uY2xvc2UtZXJyb3ItYmFyIHsKLSAgYmFja2dyb3VuZDogJGNvbG9yLWRhbmdlcjsKLSAgcGFk ZGluZzogNXB4OwotICBib3JkZXItcmFkaXVzOiAwcHggNHB4IDRweCAwcHg7Ci19Ci0KLS5jbG9z ZS1lcnJvci1iYXIgYSB7Ci0gIGNvbG9yOiAkY29sb3ItZGFuZ2VyLWZnICFpbXBvcnRhbnQ7Cisu Y2xvc2UtZXJyb3IgewogICBjdXJzb3I6IHBvaW50ZXI7CiB9CiAKQEAgLTgzMSw2ICs4MzMsMTUg QEAgdGFibGUudGFibGUtYm90dG9tLWJvcmRlciB7CiAgIH0KIH0KIAordGFibGUudGFibGUtZW1w dHktcm93c3sKKyAgdGhlYWQgdGg6bGFzdC1vZi10eXBlLHRyOmxhc3Qtb2YtdHlwZXsKKyAgICAm IHRkLCAmIHRoIHsKKyAgICAgIGJvcmRlci1ib3R0b206ICRwYW5lbC1ib3JkZXI7CisgICAgfQor ICB9Cit9CisKKwogLmNvbnRleHQtbWVudS1saXN0IC5jb250ZXh0LW1lbnUtc3VibWVudTphZnRl ciB7CiAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaWNvbjsKICAgY29udGVudDogIlxmMDU0 IiAhaW1wb3J0YW50OwpAQCAtODUyLDE0ICs4NjMsMjEgQEAgdGFibGUudGFibGUtYm90dG9tLWJv cmRlciB7CiAgICAgcGFkZGluZy1ib3R0b206IDEuMHJlbTsKICAgfQogICAmIC5wYW5lbC1ib2R5 IHsKLSAgICBwYWRkaW5nLWJvdHR0b206IDAuOHJlbTsKKyAgICBwYWRkaW5nLWJvdHRvbTogMC44 cmVtOwogICB9CiAgICYgLmJ0bi1sb2dpbiB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY3Vy aXR5LWJ0bi1jb2xvcjsKICAgfQotICAmIC51c2VyLWxhbmd1YWdlIHNlbGVjdCB7Ci0gICAgYmFj a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Ci0gICAgY29sb3I6ICRzZWN1cml0eS10ZXh0LWNv bG9yOworICAmIC51c2VyLWxhbmd1YWdlIHsKKyAgICAmIHNlbGVjdHsKKyAgICAgIGJhY2tncm91 bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5OworICAgICAgY29sb3I6ICRzZWN1cml0eS10ZXh0LWNv bG9yOworCisgICAgICAmIG9wdGlvbnsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9y LXByaW1hcnk7CisgICAgICAgIGNvbG9yOiAkc2VjdXJpdHktdGV4dC1jb2xvcjsKKyAgICAgIH0K KyAgICB9CiAgIH0KICAgJiAucGctaWNvbiB7CiAgICAgd2lkdGg6IDI4cHg7CkBAIC05MTcsNyAr OTM1LDYgQEAgdGFibGUudGFibGUtYm90dG9tLWJvcmRlciB7CiAgIH0KIH0KIAotCiAuYmFja2Zv cm0tdGFiewogICAmID4gLm5hdi5uYXYtdGFicyB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwpA QCAtOTI4LDcgKzk0NSw3IEBAIHRhYmxlLnRhYmxlLWJvdHRvbS1ib3JkZXIgewogICAmID4gLnRh Yi1jb250ZW50IHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgdG9wOiAkdGl0bGUtaGVp Z2h0OwotICAgIGJvdHRvbTogNTBweDsKKyAgICBib3R0b206ICRmb290ZXItaGVpZ2h0LWNhbGM7 CiAgIH0KIH0KIC5hanMtY29udGVudCB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMv c2Nzcy9fc2VsZWN0Mi5vdmVycmlkZXMuc2NzcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19z ZWxlY3QyLm92ZXJyaWRlcy5zY3NzCmluZGV4IGQ3YmI1YjNlLi5hZmVjYWY3YiAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3NlbGVjdDIub3ZlcnJpZGVzLnNjc3MKKysrIGIv d2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3NlbGVjdDIub3ZlcnJpZGVzLnNjc3MKQEAgLTMwLDE4 ICszMCwxNCBAQAogICBoZWlnaHQ6IDEwMCU7CiB9CiAKLQotLnNlbGVjdDItY29udGFpbmVyLS1k ZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1mb2N1cwotLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0 aXBsZSB7Ci0gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0ICFpbXBvcnRhbnQ7 Ci0gIG91dGxpbmU6IDAgbm9uZTsKLX0KLQogLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNl bGVjdDItY29udGFpbmVyLS1mb2N1cyB7Ci0gIGJvcmRlci1jb2xvcjogJGNvbG9yLXByaW1hcnkt bGlnaHQ7Ci0gIG91dGxpbmU6IDA7Ci0gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHgg MXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSgkY29sb3ItcHJpbWFyeSwgLjYpOwot ICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCBy Z2JhKCRjb2xvci1wcmltYXJ5LCAuNik7CisgICYgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUs CisgICYgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7CisgICAgYm9yZGVyLWNvbG9yOiAk aW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7CisgICAgb3V0bGluZTogMDsKKyAg ICAtd2Via2l0LWJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OworICAgIGJveC1z aGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OworICB9CiB9CiAKIApkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3dlYmNhYmluLnBnYWRtaW4uc2NzcyBiL3dlYi9wZ2Fk bWluL3N0YXRpYy9zY3NzL193ZWJjYWJpbi5wZ2FkbWluLnNjc3MKaW5kZXggNTU1MGEyMDcuLjc5 ZjY4ZWNjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fd2ViY2FiaW4ucGdh ZG1pbi5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL193ZWJjYWJpbi5wZ2FkbWlu LnNjc3MKQEAgLTI5LDggKzI5LDggQEAKIH0KIAogLndjRnJhbWVCdXR0b24gewotICB3aWR0aDog MjVweDsKLSAgaGVpZ2h0OiAyMHB4OworICB3aWR0aDogMjRweDsKKyAgaGVpZ2h0OiAyMnB4Owog ICBkaXNwbGF5OiBmbGV4OwogICBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7CiAg IG1hcmdpbjogYXV0bzsKQEAgLTg1LDYgKzg1LDY2IEBACiAud2NGbG9hdGluZyB7CiAgIGJveC1z aGFkb3c6ICRib3gtc2hhZG93OwogICB6LWluZGV4OiAxMDUwICFpbXBvcnRhbnQ7CisKKyAgJi53 Y0ZyYW1lLCAmIC53Y1BhbmVsQmFja2dyb3VuZCB7CisgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJh ZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1czsKKyAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1 czogJGNhcmQtYm9yZGVyLXJhZGl1czsKKyAgfQorCisgICYgLnBnLXBhbmVsLWNvbnRlbnQgewor ICAgIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci1yYWRpdXM7CisgIH0KKworICAmIC53Y0Zy YW1lQ29ybmVyTkUsCisgICYgLndjRnJhbWVDb3JuZXJOVywKKyAgJiAud2NGcmFtZUNvcm5lclNF LAorICAmIC53Y0ZyYW1lQ29ybmVyU1cgeworICAgIGhlaWdodDogJGNhcmQtYm9yZGVyLXJhZGl1 cyoyOworICAgIHdpZHRoOiAkY2FyZC1ib3JkZXItcmFkaXVzKjI7CisgICAgYmFja2dyb3VuZDog dHJhbnNwYXJlbnQ7CisgIH0KKworICAmIC53Y0ZyYW1lQ29ybmVyTkUgeworICAgIGJvcmRlcjog JHBhbmVsLWJvcmRlcjsKKyAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50OworICAgIGJv cmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDsKKyAgICBib3JkZXItcmFkaXVzOiBub25lOwor ICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzOworICB9CisK KyAgJiAud2NGcmFtZUNvcm5lck5XIHsKKyAgICBib3JkZXI6ICRwYW5lbC1ib3JkZXI7CisgICAg Ym9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7CisgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAh aW1wb3J0YW50OworICAgIGJvcmRlci1yYWRpdXM6IG5vbmU7CisgICAgYm9yZGVyLXRvcC1sZWZ0 LXJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1czsKKyAgfQorCisgICYgLndjRnJhbWVDb3JuZXJT RSB7CisgICAgYm9yZGVyOiAkcGFuZWwtYm9yZGVyOworICAgIGJvcmRlci10b3A6IG5vbmUgIWlt cG9ydGFudDsKKyAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50OworICAgIGJvcmRlci1y YWRpdXM6IG5vbmU7CisgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRjYXJkLWJvcmRl ci1yYWRpdXM7CisgIH0KKworICAmIC53Y0ZyYW1lQ29ybmVyU1cgeworICAgIGJvcmRlcjogJHBh bmVsLWJvcmRlcjsKKyAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDsKKyAgICBib3Jk ZXItdG9wOiBub25lICFpbXBvcnRhbnQ7CisgICAgYm9yZGVyLXJhZGl1czogbm9uZTsKKyAgICBi b3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzOworICB9CisKKyAg LndjRnJhbWVFZGdlSCB7CisgICAgbGVmdDogJGNhcmQtYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50 OworICAgIHJpZ2h0OiAkY2FyZC1ib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7CisgIH0KKworICAu d2NGcmFtZUVkZ2VWIHsKKyAgICB0b3A6ICRjYXJkLWJvcmRlci1yYWRpdXMgIWltcG9ydGFudDsK KyAgICBib3R0b206ICRjYXJkLWJvcmRlci1yYWRpdXMgIWltcG9ydGFudDsKKyAgfQogfQogCiAu d2NGbG9hdGluZyAud2NQYW5lbFRhYkFjdGl2ZSB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9z dGF0aWMvc2Nzcy9yZXNvdXJjZXMvX2RlZmF1bHQuc3R5bGUuc2NzcyBiL3dlYi9wZ2FkbWluL3N0 YXRpYy9zY3NzL3Jlc291cmNlcy9fZGVmYXVsdC5zdHlsZS5zY3NzCmluZGV4IDAwOTZkM2U5Li5m OTBmZTQ3YSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2VzL19k ZWZhdWx0LnN0eWxlLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2Vz L19kZWZhdWx0LnN0eWxlLnNjc3MKQEAgLTIyLDYgKzIyLDEwIEBACiAgICYtbGlnaHQgewogICAg IGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYW5nZXItbGlnaHQ7CiAgIH0KKworICAmLWxpZ2h0 ZXIgeworICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYW5nZXItbGlnaHRlcjsKKyAgfQog fQogCiAuYmctc3VjY2VzcyB7CkBAIC04MSw2ICs4NSwxMCBAQAogICAmLWxpZ2h0IHsKICAgICBi b3JkZXItY29sb3I6ICRjb2xvci1kYW5nZXItbGlnaHQ7CiAgIH0KKworICAmLWxpZ2h0ZXIgewor ICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhbmdlci1saWdodGVyOworICB9CiB9CiAKIC5ib3Jk ZXItc3VjY2VzcyB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9yZXNvdXJj ZXMvX2RlZmF1bHQudmFyaWFibGVzLnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9yZXNv dXJjZXMvX2RlZmF1bHQudmFyaWFibGVzLnNjc3MKaW5kZXggYTk3YmVkY2EuLjc5ZWZmMDk3IDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9yZXNvdXJjZXMvX2RlZmF1bHQudmFy aWFibGVzLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2VzL19kZWZh dWx0LnZhcmlhYmxlcy5zY3NzCkBAIC0xOSw3ICsxOSw4IEBAICRjb2xvci1zZWNvbmRhcnk6ICR3 aGl0ZSAhZGVmYXVsdDsKIAogJGNvbG9yLWRhbmdlcjogI2U1MzkzNSAhZGVmYXVsdDsKICRjb2xv ci1kYW5nZXItZmc6ICR3aGl0ZSAhZGVmYXVsdDsKLSRjb2xvci1kYW5nZXItbGlnaHQ6ICNGQkUx RTE7CiskY29sb3ItZGFuZ2VyLWxpZ2h0OiAjRjM5OTk5OworJGNvbG9yLWRhbmdlci1saWdodGVy OiAjRkFFQ0VDOwogCiAkY29sb3Itc3VjY2VzczogIzQzYTA0NyAhZGVmYXVsdDsKICRjb2xvci1z dWNjZXNzLWZnOiAkYmxhY2sgIWRlZmF1bHQ7CkBAIC01MSw3ICs1Miw3IEBAICRmb250LWZhbWls eS1lZGl0b3I6ICdTb3VyY2UgQ29kZSBQcm8nICFkZWZhdWx0OwogJGZvbnQtZmFtaWx5LWljb246 ICdGb250QXdlc29tZScgIWRlZmF1bHQ7CiAKICRib3JkZXItd2lkdGg6IDFweDsKLSRib3JkZXIt Y29sb3I6IHJnYmEoJGNvbG9yLWdyYXksIDAuNSk7CiskYm9yZGVyLWNvbG9yOiAjZGRlMGU2Owog JGJvcmRlci1jb2xvci1kYXJrOiAkY29sb3ItZ3JheTsKICRib3gtc2hhZG93OiAwIDAuNXJlbSAz cmVtICRjb2xvci1ncmF5LWRhcms7CiAKQEAgLTU5LDcgKzYwLDggQEAgJGJveC1zaGFkb3c6IDAg MC41cmVtIDNyZW0gJGNvbG9yLWdyYXktZGFyazsKICRncmF5LTYwMDogJGNvbG9yLWdyYXktZGFy azsKICRncmF5LTkwMDogJGNvbG9yLWZnLXRoZW1lOwogJGJvZHktY29sb3I6ICRjb2xvci1mZy10 aGVtZTsKLSRmb250LXNpemUtYmFzZTogMC44MTVyZW07CiskZm9udC1zaXplLWJhc2U6IDAuODc1 cmVtOworJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNTsgLy8gbm8gY2hhbmdlCiAkZ3JpZC1ndXR0ZXIt d2lkdGg6IDE1cHg7CiAkYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgLy9ubyBjaGFuZ2UKIApAQCAt MTIyLDkgKzEyNCwxOSBAQCAkaW5wdXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7IC8v bm8gY2hhbmdlCiAkaW5wdXQtZGlzYWJsZWQtYmc6ICRjb2xvci1ncmF5LWxpZ2h0ZXI7CiAkaW5w dXQtYnRuLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDsgLy9ubyBjaGFuZ2UKICRpbnB1dC1i b3JkZXItd2lkdGg6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOyAvL25vIGNoYW5nZQotJGlucHV0 LWJ0bi1wYWRkaW5nLXk6IC4zNzVyZW07IC8vbm8gY2hhbmdlCiskaW5wdXQtYnRuLXBhZGRpbmct eTogLjI1cmVtOwogJGlucHV0LWJ0bi1wYWRkaW5nLXg6IC43NXJlbTsgLy9ubyBjaGFuZ2UKIAor JGNvbXBvbmVudC1hY3RpdmUtYmc6ICRjb2xvci1wcmltYXJ5OyAvL25vIGNoYW5nZQorJGlucHV0 LWJ0bi1mb2N1cy13aWR0aDogLjJyZW0gIWRlZmF1bHQ7IC8vbm8gY2hhbmdlCiskaW5wdXQtYnRu LWZvY3VzLWNvbG9yOiByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0OyAv L25vIGNoYW5nZQorJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtYnRu LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7IC8vbm8gY2hhbmdl CiskaW5wdXQtZm9jdXMtYmc6ICRpbnB1dC1iZyAhZGVmYXVsdDsgLy9ubyBjaGFuZ2UKKyRpbnB1 dC1mb2N1cy1ib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkg IWRlZmF1bHQ7IC8vbm8gY2hhbmdlCiskaW5wdXQtZm9jdXMtY29sb3I6ICRpbnB1dC1jb2xvciAh ZGVmYXVsdDsgLy9ubyBjaGFuZ2UKKyRpbnB1dC1mb2N1cy13aWR0aDogJGlucHV0LWJ0bi1mb2N1 cy13aWR0aCAhZGVmYXVsdDsgLy9ubyBjaGFuZ2UKKyRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAk aW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7IC8vbm8gY2hhbmdlCisKICRidG4t Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7IC8vbm8gY2hhbmdlCiAKIC8qKioqKioqKioq KioqKiovCkBAIC0xMzYsMTIgKzE0OCwxMiBAQCAkcGFuZWwtYm9yZGVyLXJhZGl1czogJGJvcmRl ci1yYWRpdXM7CiAkcGFuZWwtYm9yZGVyOiAkcGFuZWwtYm9yZGVyLXdpZHRoIHNvbGlkICRwYW5l bC1ib3JkZXItY29sb3IgIWltcG9ydGFudDsKICRwYW5lbC1ib3JkZXItZGFyazogJHBhbmVsLWJv cmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yLWRhcmsgIWltcG9ydGFudDsKICR0YWJzLXBh ZGRpbmc6IDVweCAxMHB4IDJweDsKLSR0aXRsZS1oZWlnaHQ6IDM3cHggKiAkZm9udC1zaXplLWJh c2UvMXJlbTsKKyR0aXRsZS1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtYmFzZSoxNnB4KSArIDVweCAr IDJweCArICRib3JkZXItd2lkdGg7CiAkZm9vdGVyLXBhZGRpbmc6IDAuNXJlbTsKLSRmb290ZXIt bWluLWhlaWdodDogMi4xOHJlbTsKKyRmb290ZXItbWluLWhlaWdodDogMnJlbTsKICRmb290ZXIt aGVpZ2h0LWNhbGM6ICRmb290ZXItbWluLWhlaWdodCskZm9vdGVyLXBhZGRpbmcqMjsKLSRuYXZi YXItZm9udC1zaXplOiAwLjg3NXJlbTsKLSRuYXZiYXItdXNlci1mb250LXNpemU6IDAuODE1cmVt OworJG5hdmJhci1mb250LXNpemU6IDAuOTI1cmVtOworJG5hdmJhci11c2VyLWZvbnQtc2l6ZTog MC44NzVyZW07CiAKICRuYXZiYXItZHJvcGRvd24tdG9wOiAxMDAlOwogJGRyb3Bkb3duLXN1Ym1l bnUtdG9wOiAtJGRyb3Bkb3duLXNwYWNlcjsKQEAgLTE2MCw3ICsxNzIsNyBAQCAkc3FsLWd1dHRl cnMtYmc6ICRjb2xvci1ncmF5LWxpZ2h0OwogJHNxbC1oaXN0b3J5LWRldGFpbC1iZzogJGNvbG9y LWdyYXktbGlnaHRlcjsKICRzcWwtaGlzdG9yeS1zdWNjZXNzLWJnOiAkY29sb3ItcHJpbWFyeS1s aWdodDsKICRzcWwtaGlzdG9yeS1zdWNjZXNzLWZnOiAkY29sb3ItcHJpbWFyeTsKLSRzcWwtaGlz dG9yeS1lcnJvci1iZzogJGNvbG9yLWRhbmdlci1saWdodDsKKyRzcWwtaGlzdG9yeS1lcnJvci1i ZzogJGNvbG9yLWRhbmdlci1saWdodGVyOwogJHNxbC1oaXN0b3J5LWVycm9yLWZnOiAkY29sb3It ZGFuZ2VyOwogCiAkbmVnYXRpdmUtYmc6ICRjb2xvci1ncmF5LWxpZ2h0OwpAQCAtMTc1LDcgKzE4 Nyw3IEBAICRidG4tc2Vjb25kYXJ5LWhvdmVyLWJnOiAkY29sb3ItZ3JheS1saWdodDsKICRjYXJk LWhlYWRlci1wYWRkaW5nIDogMC4yNXJlbSAwLjVyZW07CiAkbm8tYm9yZGVyLXJhZGl1czogMHB4 ICFpbXBvcnRhbnQ7CiAKLSRidG4tY2hlY2tib3gtcGFkZGluZzogMC4zcmVtIDAuOHJlbTsKKyRi dG4tY2hlY2tib3gtcGFkZGluZzogJGlucHV0LWJ0bi1wYWRkaW5nLXkgJGlucHV0LWJ0bi1wYWRk aW5nLXg7CiAKICRzZWN1cml0eS10ZXh0LWNvbG9yOiAkd2hpdGU7CiAkc2VjdXJpdHktYnRuLWNv bG9yOiAjMDM4YmJhOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3ZlbmRvci9iYWNr Zm9ybS9iYWNrZm9ybS5qcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy92ZW5kb3IvYmFja2Zvcm0vYmFj a2Zvcm0uanMKaW5kZXggYjBiNzI1MTEuLmIwZDJmZDRhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9zdGF0aWMvdmVuZG9yL2JhY2tmb3JtL2JhY2tmb3JtLmpzCisrKyBiL3dlYi9wZ2FkbWluL3N0 YXRpYy92ZW5kb3IvYmFja2Zvcm0vYmFja2Zvcm0uanMKQEAgLTQwNCw3ICs0MDQsNiBAQAogCiAg IHZhciBTcGFjZXJDb250cm9sID0gQmFja2Zvcm0uU3BhY2VyQ29udHJvbCA9IENvbnRyb2wuZXh0 ZW5kKHsKICAgICB0ZW1wbGF0ZTogXy50ZW1wbGF0ZShbCi0gICAgICAnPGxhYmVsIGNsYXNzPSI8 JT1CYWNrZm9ybS5jb250cm9sTGFiZWxDbGFzc05hbWUlPiI+Jm5ic3A7PC9sYWJlbD4nLAogICAg ICAgJzxkaXYgY2xhc3M9IjwlPUJhY2tmb3JtLmNvbnRyb2xzQ2xhc3NOYW1lJT4iPjwvZGl2PicK ICAgICBdLmpvaW4oIlxuIikpCiAgIH0pOwpAQCAtNTU4LDcgKzU1Nyw3IEBACiAgICAgfSwKICAg ICB0ZW1wbGF0ZTogXy50ZW1wbGF0ZShbCiAgICAgICAnPGxhYmVsIGNsYXNzPSI8JT1CYWNrZm9y bS5jb250cm9sTGFiZWxDbGFzc05hbWUlPiI+PCU9bGFiZWwlPjwvbGFiZWw+JywKLSAgICAgICc8 ZGl2IGNsYXNzPSI8JT1CYWNrZm9ybS5jb250cm9sQ29udGFpbmVyQ2xhc3NOYW1lJT4gZm9ybS1j aGVjay1pbmxpbmUiPicsCisgICAgICAnPGRpdiBjbGFzcz0iPCU9QmFja2Zvcm0uY29udHJvbENv bnRhaW5lckNsYXNzTmFtZSU+IGQtZmxleCI+JywKICAgICAgICcgIDwlIGZvciAodmFyIGk9MDsg aSA8IG9wdGlvbnMubGVuZ3RoOyBpKyspIHsgJT4nLAogICAgICAgJyAgICA8JSB2YXIgb3B0aW9u ID0gb3B0aW9uc1tpXTsgJT4nLAogICAgICAgJyAgICA8JSB2YXIgaWQgPSBfLnVuaXF1ZUlkKCJi Zl8iKTsgJT4nLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3ZlbmRvci9iYWNrZ3Jp ZC9iYWNrZ3JpZC5jc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvdmVuZG9yL2JhY2tncmlkL2JhY2tn cmlkLmNzcwppbmRleCA3ZWI1OTY5Ny4uYzQyOThlMjIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L3N0YXRpYy92ZW5kb3IvYmFja2dyaWQvYmFja2dyaWQuY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0 YXRpYy92ZW5kb3IvYmFja2dyaWQvYmFja2dyaWQuY3NzCkBAIC04MCwxMCArODAsNiBAQAogICB0 ZXh0LWFsaWduOiBjZW50ZXI7CiB9CiAKLS5iYWNrZ3JpZCB0ZC5lZGl0b3IgewotICBwYWRkaW5n OiAwOwotfQotCiAuYmFja2dyaWQgdGQuZWRpdG9yLAogLmJhY2tncmlkIHRib2R5IHRyOm50aC1j aGlsZChvZGQpIHRkLmVkaXRvciB7CiAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODIsIDE2OCwg MjM2LCAwLjEpOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdGVtcGxhdGVzL3NlY3VyaXR5L2Zp ZWxkcy5odG1sIGIvd2ViL3BnYWRtaW4vdGVtcGxhdGVzL3NlY3VyaXR5L2ZpZWxkcy5odG1sCmlu ZGV4IGEwNzk3MWFhLi5lZmIxMjZiMiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdGVtcGxhdGVz L3NlY3VyaXR5L2ZpZWxkcy5odG1sCisrKyBiL3dlYi9wZ2FkbWluL3RlbXBsYXRlcy9zZWN1cml0 eS9maWVsZHMuaHRtbApAQCAtNCw3ICs0LDcgQEAKICAgICAgICAgICAgdHlwZT0ieyUgaWYgdHlw ZSAlfXt7IHR5cGUgfX17JSBlbHNlICV9e3sgZmllbGQudHlwZSB9fXslIGVuZGlmICV9IiBhdXRv Zm9jdXM+CiAgICAgeyUgaWYgZmllbGQuZXJyb3JzICV9CiAgICAgeyUgZm9yIGVycm9yIGluIGZp ZWxkLmVycm9ycyAlfQotICAgIDxzcGFuIGNsYXNzPSJmb3JtLXRleHQgdGV4dC1kYW5nZXIiPnt7 IGVycm9yIH19PC9zcGFuPgorICAgIDxzcGFuIGNsYXNzPSJmb3JtLXRleHQiPnt7IGVycm9yIH19 PC9zcGFuPgogICAgIHslIGVuZGZvciAlfQogICAgIHslIGVuZGlmICV9CiA8L2Rpdj4KZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL3RlbXBsYXRlcy9zZWN1cml0eS9sb2dpbl91c2VyLmh0bWwgYi93 ZWIvcGdhZG1pbi90ZW1wbGF0ZXMvc2VjdXJpdHkvbG9naW5fdXNlci5odG1sCmluZGV4IGI1M2Y5 NDYxLi43NTE1YzJjMiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdGVtcGxhdGVzL3NlY3VyaXR5 L2xvZ2luX3VzZXIuaHRtbAorKysgYi93ZWIvcGdhZG1pbi90ZW1wbGF0ZXMvc2VjdXJpdHkvbG9n aW5fdXNlci5odG1sCkBAIC0xNCw4ICsxNCw4IEBACiAgICAge3sgcmVuZGVyX2ZpZWxkX3dpdGhf ZXJyb3JzKGxvZ2luX3VzZXJfZm9ybS5wYXNzd29yZCwgInBhc3N3b3JkIikgfX0KICAgICA8YnV0 dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIGJ0bi1sb2dpbiIgdHlwZT0ic3Vi bWl0IiB2YWx1ZT0ie3sgXygnTG9naW4nKSB9fSI+e3sgXygnTG9naW4nKSB9fTwvYnV0dG9uPgog ICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgcm93IG1iLTMgYyB1c2VyLWxhbmd1YWdlIj4KLSAg ICAgICAgPGRpdiBjbGFzcz0iY29sLTgiPjxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj57eyBfKCc8 YSBocmVmPSIlKHVybClzIiBjbGFzcz0idGV4dC13aGl0ZSI+Rm9yZ290dGVuIHlvdXIgcGFzc3dv cmQ8L2E+PycsIHVybD11cmxfZm9yKCdicm93c2VyLmZvcmdvdF9wYXNzd29yZCcpKSB9fTwvc3Bh bj48L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQiPgorICAgICAgICA8ZGl2IGNsYXNz PSJjb2wtNyI+PHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPnt7IF8oJzxhIGhyZWY9IiUodXJsKXMi IGNsYXNzPSJ0ZXh0LXdoaXRlIj5Gb3Jnb3R0ZW4geW91ciBwYXNzd29yZDwvYT4/JywgdXJsPXVy bF9mb3IoJ2Jyb3dzZXIuZm9yZ290X3Bhc3N3b3JkJykpIH19PC9zcGFuPjwvZGl2PgorICAgICAg ICA8ZGl2IGNsYXNzPSJjb2wtNSI+CiAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPSJmb3JtLWNv bnRyb2wiIG5hbWU9Imxhbmd1YWdlIiB2YWx1ZT0ie3t1c2VyX2xhbmd1YWdlfX0iPgogICAgICAg ICAgICAgICAgIHslIGZvciBrZXksIGxhbmcgaW4gY29uZmlnLkxBTkdVQUdFUy5pdGVtcygpICV9 CiAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ie3trZXl9fSIgeyUgaWYgdXNlcl9sYW5n dWFnZSA9PSBrZXkgJX1zZWxlY3RlZHslIGVuZGlmICV9Pnt7bGFuZ319PC9vcHRpb24+CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9iYWNrdXAvc3RhdGljL2pzL2JhY2t1cC5qcyBiL3dl Yi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9zdGF0aWMvanMvYmFja3VwLmpzCmluZGV4IDM2NjJmNWE1 Li4zYmI1ZGEwZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL3N0YXRpYy9q cy9iYWNrdXAuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL3N0YXRpYy9qcy9iYWNr dXAuanMKQEAgLTUwLDcgKzUwLDcgQEAgZGVmaW5lKFsKICAgICAgICcgIDxzcGFuIGNsYXNzPSI8 JT1CYWNrZm9ybS5oZWxwTWVzc2FnZUNsYXNzTmFtZSU+Ij48JT1oZWxwTWVzc2FnZSU+PC9zcGFu PicsCiAgICAgICAnPCUgfSAlPicsCiAgICAgXS5qb2luKCdcbicpKSwKLSAgICBjbGFzc05hbWU6 ICdwZ2FkbWluLWNvbnRyb2wtZ3JvdXAgZm9ybS1ncm91cCBwZy1lbC1tZC02IHBnLWVsLXhzLTEy IHJvdycsCisgICAgY2xhc3NOYW1lOiAncGdhZG1pbi1jb250cm9sLWdyb3VwIGZvcm0tZ3JvdXAg cGctZWwtbWQtNiBwZy1lbC0xMiByb3cnLAogICB9KTsKIAogICAvL0JhY2t1cCBNb2RlbCAoU2Vy dmVyIE5vZGUpCkBAIC01ODAsNyArNTgwLDcgQEAgZGVmaW5lKFsKICAgICAgICAgYWxlcnRpZnks CiAgICAgICAgIEJhY2t1cE1vZGVsCiAgICAgICApOwotICAgICAgZGlhbG9nLmRyYXcoYWN0aW9u LCBpdGVtLCB7J2dsb2JhbHMnOiB0cnVlfSk7CisgICAgICBkaWFsb2cuZHJhdyhhY3Rpb24sIGl0 ZW0sIHsnZ2xvYmFscyc6IHRydWV9LCBwZ0Jyb3dzZXIuc3RkVy5tZCwgcGdCcm93c2VyLnN0ZEgu bWQpOwogICAgIH0sCiAgICAgc3RhcnRfYmFja3VwX3NlcnZlcjogZnVuY3Rpb24oYWN0aW9uLCBp dGVtKSB7CiAgICAgICBsZXQgZGlhbG9nID0gbmV3IGdsb2JhbEJhY2t1cERpYWxvZy5CYWNrdXBE aWFsb2coCkBAIC01ODksNyArNTg5LDcgQEAgZGVmaW5lKFsKICAgICAgICAgYWxlcnRpZnksCiAg ICAgICAgIEJhY2t1cE9iamVjdE1vZGVsCiAgICAgICApOwotICAgICAgZGlhbG9nLmRyYXcoYWN0 aW9uLCBpdGVtLCB7J3NlcnZlcic6IHRydWV9KTsKKyAgICAgIGRpYWxvZy5kcmF3KGFjdGlvbiwg aXRlbSwgeydzZXJ2ZXInOiB0cnVlfSwgcGdCcm93c2VyLnN0ZFcubWQsIHBnQnJvd3Nlci5zdGRI Lm1kKTsKICAgICB9LAogICAgIC8vIENhbGxiYWNrIHRvIGRyYXcgQmFja3VwIERpYWxvZyBmb3Ig b2JqZWN0cwogICAgIGJhY2t1cF9vYmplY3RzOiBmdW5jdGlvbihhY3Rpb24sIHRyZWVJdGVtKSB7 CkBAIC01OTksNyArNTk5LDcgQEAgZGVmaW5lKFsKICAgICAgICAgYWxlcnRpZnksCiAgICAgICAg IEJhY2t1cE9iamVjdE1vZGVsCiAgICAgICApOwotICAgICAgZGlhbG9nLmRyYXcoYWN0aW9uLCB0 cmVlSXRlbSwgbnVsbCk7CisgICAgICBkaWFsb2cuZHJhdyhhY3Rpb24sIHRyZWVJdGVtLCBudWxs LCBwZ0Jyb3dzZXIuc3RkVy5tZCwgcGdCcm93c2VyLnN0ZEgubWQpOwogICAgIH0sCiAgIH07CiAg IHJldHVybiBwZ0Jyb3dzZXIuQmFja3VwOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMv YmFja3VwL3N0YXRpYy9qcy9iYWNrdXBfZGlhbG9nLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvYmFj a3VwL3N0YXRpYy9qcy9iYWNrdXBfZGlhbG9nLmpzCmluZGV4IDg2MTNkZGQ2Li5iZDY4ZWNiNSAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL3N0YXRpYy9qcy9iYWNrdXBfZGlh bG9nLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9zdGF0aWMvanMvYmFja3VwX2Rp YWxvZy5qcwpAQCAtMjgsNyArMjgsNyBAQCBleHBvcnQgY2xhc3MgQmFja3VwRGlhbG9nIGV4dGVu ZHMgRGlhbG9nIHsKICAgICB9KTsKICAgfQogCi0gIGRyYXcoYWN0aW9uLCBhY2lUcmVlSXRlbSwg cGFyYW1zKSB7CisgIGRyYXcoYWN0aW9uLCBhY2lUcmVlSXRlbSwgcGFyYW1zLCB3aWR0aD0wLCBo ZWlnaHQ9MCkgewogICAgIGNvbnN0IHNlcnZlckluZm9ybWF0aW9uID0gdGhpcy5yZXRyaWV2ZUFu Y2VzdG9yT2ZUeXBlU2VydmVyKGFjaVRyZWVJdGVtKTsKIAogICAgIGlmICghc2VydmVySW5mb3Jt YXRpb24pIHsKQEAgLTY2LDcgKzY2LDcgQEAgZXhwb3J0IGNsYXNzIEJhY2t1cERpYWxvZyBleHRl bmRzIERpYWxvZyB7CiAgICAgICAgIHR5cGVPZkRpYWxvZwogICAgICAgKTsKIAotICAgICAgZGlh bG9nKHRydWUpLnJlc2l6ZVRvKCc2MCUnLCAnNTAlJyk7CisgICAgICBkaWFsb2codHJ1ZSkucmVz aXplVG8od2lkdGgsIGhlaWdodCk7CiAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7CiAgICAgICB0 aGF0LmFsZXJ0aWZ5LmFsZXJ0KAogICAgICAgICBnZXR0ZXh0KCdVdGlsaXR5IG5vdCBmb3VuZCcp LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL2RhdGFn cmlkLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL2RhdGFncmlkLmpz CmluZGV4IDhiODQyYzU2Li5jMjc0ODJhYiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMv ZGF0YWdyaWQvc3RhdGljL2pzL2RhdGFncmlkLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2Rh dGFncmlkL3N0YXRpYy9qcy9kYXRhZ3JpZC5qcwpAQCAtMzc5LDcgKzM3OSw3IEBAIGRlZmluZSgn cGdhZG1pbi5kYXRhZ3JpZCcsIFsKICAgICAgICAgJC5nZXQodXJsX2ZvcignZGF0YWdyaWQuZmls dGVyJyksCiAgICAgICAgICAgZnVuY3Rpb24oZGF0YSkgewogICAgICAgICAgICAgYWxlcnRpZnku ZmlsdGVyRGlhbG9nKCdEYXRhIEZpbHRlcicsIGRhdGEsIGJhc2VVcmwsIHZhbGlkYXRlVXJsKQot ICAgICAgICAgICAgICAgICAgICAucmVzaXplVG8oMzAwLCAyMDApOworICAgICAgICAgICAgICAg ICAgICAucmVzaXplVG8ocGdCcm93c2VyLnN0ZFcuc20scGdCcm93c2VyLnN0ZEguc20pOwogICAg ICAgICAgIH0KICAgICAgICAgKTsKICAgICAgIH0sCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90 b29scy9kZWJ1Z2dlci9zdGF0aWMvanMvZGVidWdnZXJfdWkuanMgYi93ZWIvcGdhZG1pbi90b29s cy9kZWJ1Z2dlci9zdGF0aWMvanMvZGVidWdnZXJfdWkuanMKaW5kZXggZjg2NDE4ZTMuLjYzNzI4 MzVkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9zdGF0aWMvanMvZGVi dWdnZXJfdWkuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pzL2Rl YnVnZ2VyX3VpLmpzCkBAIC05NTEsNyArOTUxLDcgQEAgZGVmaW5lKFsKIAogICAgIEFsZXJ0aWZ5 LmRlYnVnZ2VySW5wdXRBcmdzRGlhbG9nKAogICAgICAgZ2V0dGV4dCgnRGVidWdnZXInKSwgZGVi dWdfaW5mbywgcmVzdGFydF9kZWJ1ZywgaXNfZWRiX3Byb2MKLSAgICApLnJlc2l6ZVRvKCc2MCUn LCAnNjAlJyk7CisgICAgKS5yZXNpemVUbyhwZ0Jyb3dzZXIuc3RkVy5tZCxwZ0Jyb3dzZXIuc3Rk SC5tZCk7CiAKICAgfTsKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6 YXJkL3N0YXRpYy9qcy9ncmFudF93aXphcmQuanMgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93 aXphcmQvc3RhdGljL2pzL2dyYW50X3dpemFyZC5qcwppbmRleCBmODc3NDJlNi4uZWNlMzk0NWMg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC9zdGF0aWMvanMvZ3Jh bnRfd2l6YXJkLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC9zdGF0aWMv anMvZ3JhbnRfd2l6YXJkLmpzCkBAIC0xMDMxLDYgKzEwMzEsNyBAQCBkZWZpbmUoWwogCiAgICAg ICAgICAgICAgICAgICAvLyBSZW5kZXIgU3FsVGFiIGNvbnRyb2wgdG8gZ2VuZXJhdGUgaXRzIGh0 bWwgbWFya3VwCiAgICAgICAgICAgICAgICAgICB2YXIgc3FsQ3RybEh0bWwgPSBzcWxDb250cm9s LnJlbmRlcigpLiRlbDsKKyAgICAgICAgICAgICAgICAgIHNxbEN0cmxIdG1sLmFkZENsYXNzKCdo LTEwMCcpOwogICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXIgPSBmdW5jdGlvbigpIHsKICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICAgICBlbDogc3Fs Q3RybEh0bWwsCkBAIC0xMTUwLDcgKzExNTEsNyBAQCBkZWZpbmUoWwogICAgICAgfQogCiAgICAg ICAvLyBDYWxsIEdyYW50IFdpemFyZCBEaWFsb2cgYW5kIHNldCBkaW1lbnNpb25zIGZvciB3aXph cmQKLSAgICAgIEFsZXJ0aWZ5LndpemFyZERpYWxvZyh0cnVlKS5yZXNpemVUbygnNTUlJywgJzc1 JScpOworICAgICAgQWxlcnRpZnkud2l6YXJkRGlhbG9nKHRydWUpLnJlc2l6ZVRvKHBnQnJvd3Nl ci5zdGRXLmxnLHBnQnJvd3Nlci5zdGRILmxnKTsKICAgICB9LAogICB9OwogCmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvc3RhdGljL3Njc3MvX2dyYW50X3dpemFy ZC5zY3NzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3N0YXRpYy9zY3NzL19ncmFu dF93aXphcmQuc2NzcwppbmRleCAzNTgxMGNiMS4uNTk3NWQ2MDcgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC9zdGF0aWMvc2Nzcy9fZ3JhbnRfd2l6YXJkLnNjc3MK KysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3N0YXRpYy9zY3NzL19ncmFudF93 aXphcmQuc2NzcwpAQCAtMjksNiArMjksNyBAQAogICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE1cHgp OwogICBkaXNwbGF5OiBibG9jazsKICAgcGFkZGluZzogMDsKKyAgb3ZlcmZsb3cteTogaGlkZGVu ICFpbXBvcnRhbnQ7CiB9CiAKIC5vYmplY3RfdHlwZV90YWJsZSB0aGVhZCB7CkBAIC0xMTQsOCAr MTE1LDggQEAKIAogLndpemFyZC1yaWdodC1wYW5lbF9jb250ZW50IC5Db2RlTWlycm9yIHsKICAg Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQ7Ci0gIGhlaWdodDogMjg1cHggIWlt cG9ydGFudDsKLSAgbWluLWhlaWdodDogMjg1cHggIWltcG9ydGFudDsKKyAgaGVpZ2h0OiAxMDAl ICFpbXBvcnRhbnQ7CisgIG1pbi1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKIH0KIAogLndpemFy ZC1yaWdodC1wYW5lbF9jb250ZW50IC5Db2RlTWlycm9yLWxpbmVudW1iZXIgewpAQCAtMTIzLDEw ICsxMjQsNiBAQAogICBib3JkZXItcmlnaHQ6IG5vbmU7CiB9CiAKLS53aXphcmQtcmlnaHQtcGFu ZWxfY29udGVudCAuQ29kZU1pcnJvci1ndXR0ZXJzIHsKLSAgbWluLWhlaWdodDogMjg1cHggIWlt cG9ydGFudDsKLX0KLQogLmdyYW50X3dpemFyZF9jb250YWluZXIgewogICBwb3NpdGlvbjogcmVs YXRpdmU7CiAgIG92ZXJmbG93OiBoaWRkZW47CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29s cy9pbXBvcnRfZXhwb3J0L3N0YXRpYy9qcy9pbXBvcnRfZXhwb3J0LmpzIGIvd2ViL3BnYWRtaW4v dG9vbHMvaW1wb3J0X2V4cG9ydC9zdGF0aWMvanMvaW1wb3J0X2V4cG9ydC5qcwppbmRleCAzNWY0 MWFjOC4uOTNlMzRkNGUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL2ltcG9ydF9leHBv cnQvc3RhdGljL2pzL2ltcG9ydF9leHBvcnQuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvaW1w b3J0X2V4cG9ydC9zdGF0aWMvanMvaW1wb3J0X2V4cG9ydC5qcwpAQCAtNjgyLDcgKzY4Miw3IEBA IEJhY2tmb3JtLCBjb21tb25VdGlscywgc3VwcG9ydGVkTm9kZXMKICAgICAgICAgICBTKAogICAg ICAgICAgICAgZ2V0dGV4dCgnSW1wb3J0L0V4cG9ydCBkYXRhIC0gdGFibGUgXCclc1wnJykKICAg ICAgICAgICApLnNwcmludGYodHJlZUluZm8udGFibGUubGFiZWwpLnZhbHVlKCksIG5vZGUsIGks IGQKLSAgICAgICAgKS5zZXQoJ3Jlc2l6YWJsZScsIHRydWUpLnJlc2l6ZVRvKCc3MCUnLCAnODAl Jyk7CisgICAgICAgICkuc2V0KCdyZXNpemFibGUnLCB0cnVlKS5yZXNpemVUbyhwZ0FkbWluLkJy b3dzZXIuc3RkVy5tZCxwZ0FkbWluLkJyb3dzZXIuc3RkSC5tZCk7CiAgICAgICB9KQogICAgICAg LmZhaWwoZnVuY3Rpb24oKSB7CiAgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0KApkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vdG9vbHMvbWFpbnRlbmFuY2Uvc3RhdGljL2pzL21haW50ZW5hbmNlLmpzIGIv d2ViL3BnYWRtaW4vdG9vbHMvbWFpbnRlbmFuY2Uvc3RhdGljL2pzL21haW50ZW5hbmNlLmpzCmlu ZGV4IGY0MDJkYWJmLi5iOWU1ODRjZiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvbWFp bnRlbmFuY2Uvc3RhdGljL2pzL21haW50ZW5hbmNlLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xz L21haW50ZW5hbmNlL3N0YXRpYy9qcy9tYWludGVuYW5jZS5qcwpAQCAtMzQsNyArMzQsNyBAQCBk ZWZpbmUoWwogICAgICAgJyAgPHNwYW4gY2xhc3M9IjwlPUJhY2tmb3JtLmhlbHBNZXNzYWdlQ2xh c3NOYW1lJT4iPjwlPWhlbHBNZXNzYWdlJT48L3NwYW4+JywKICAgICAgICc8JSB9ICU+JywKICAg ICBdLmpvaW4oJ1xuJykpLAotICAgIGNsYXNzTmFtZTogJ3BnYWRtaW4tY29udHJvbC1ncm91cCBm b3JtLWdyb3VwIGNvbC02JywKKyAgICBjbGFzc05hbWU6ICdwZ2FkbWluLWNvbnRyb2wtZ3JvdXAg Zm9ybS1ncm91cCBwZy1lbC1tZC02IHBnLWVsLTEyIHJvdycsCiAgIH0pOwogCiAgIC8vIE1haW4g bW9kZWwgZm9yIE1haW50ZW5hbmNlIGZ1bmN0aW9uYWxpdHkKQEAgLTQ5Miw3ICs0OTIsOCBAQCBk ZWZpbmUoWwogICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICAvLyBPcGVuIHRo ZSBBbGVydGlmeSBkaWFsb2cKLSAgICAgICAgQWxlcnRpZnkuTWFpbnRlbmFuY2VEaWFsb2coJ01h aW50ZW5hbmNlLi4uJykuc2V0KCdyZXNpemFibGUnLCB0cnVlKS5yZXNpemVUbygnNjAlJywgJzgw JScpOworICAgICAgICBBbGVydGlmeS5NYWludGVuYW5jZURpYWxvZygnTWFpbnRlbmFuY2UuLi4n KS5zZXQoJ3Jlc2l6YWJsZScsIHRydWUpCisgICAgICAgICAgLnJlc2l6ZVRvKHBnQWRtaW4uQnJv d3Nlci5zdGRXLm1kLHBnQWRtaW4uQnJvd3Nlci5zdGRILm1kKTsKICAgICAgIH0pCiAgICAgICAu ZmFpbChmdW5jdGlvbigpIHsKICAgICAgICAgQWxlcnRpZnkuYWxlcnQoCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi90b29scy9yZXN0b3JlL3N0YXRpYy9qcy9yZXN0b3JlLmpzIGIvd2ViL3BnYWRt aW4vdG9vbHMvcmVzdG9yZS9zdGF0aWMvanMvcmVzdG9yZS5qcwppbmRleCAyZGNmZGQ2MC4uZmNi OTYzOTYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL3Jlc3RvcmUvc3RhdGljL2pzL3Jl c3RvcmUuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvcmVzdG9yZS9zdGF0aWMvanMvcmVzdG9y ZS5qcwpAQCAtMjksNyArMjksNyBAQCBjb21tb25VdGlscywgbWVudVV0aWxzLCBzdXBwb3J0ZWRO b2RlcywgcmVzdG9yZURpYWxvZwogICAgICAgJyAgPHNwYW4gY2xhc3M9IjwlPUJhY2tmb3JtLmhl bHBNZXNzYWdlQ2xhc3NOYW1lJT4iPjwlPWhlbHBNZXNzYWdlJT48L3NwYW4+JywKICAgICAgICc8 JSB9ICU+JywKICAgICBdLmpvaW4oJ1xuJykpLAotICAgIGNsYXNzTmFtZTogJ3BnYWRtaW4tY29u dHJvbC1ncm91cCBmb3JtLWdyb3VwIHBnLWVsLTQgcm93JywKKyAgICBjbGFzc05hbWU6ICdwZ2Fk bWluLWNvbnRyb2wtZ3JvdXAgZm9ybS1ncm91cCBwZy1lbC1tZC02IHJvdycsCiAgIH0pOwogCiAg IC8vUmVzdG9yZSBNb2RlbCAoT2JqZWN0cyBsaWtlIERhdGFiYXNlL1NjaGVtYS9UYWJsZSkKQEAg LTM4MSw3ICszODEsNyBAQCBjb21tb25VdGlscywgbWVudVV0aWxzLCBzdXBwb3J0ZWROb2Rlcywg cmVzdG9yZURpYWxvZwogICAgICAgbGV0IGRpYWxvZyA9IG5ldyByZXN0b3JlRGlhbG9nLlJlc3Rv cmVEaWFsb2coCiAgICAgICAgIHBnQnJvd3NlciwgJCwgYWxlcnRpZnksIFJlc3RvcmVPYmplY3RN b2RlbAogICAgICAgKTsKLSAgICAgIGRpYWxvZy5kcmF3KGFjdGlvbiwgdHJlZUl0ZW0pOworICAg ICAgZGlhbG9nLmRyYXcoYWN0aW9uLCB0cmVlSXRlbSwgcGdCcm93c2VyLnN0ZFcubWQsIHBnQnJv d3Nlci5zdGRILm1kKTsKICAgICB9LAogICB9OwogICByZXR1cm4gcGdCcm93c2VyLlJlc3RvcmU7 CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9yZXN0b3JlL3N0YXRpYy9qcy9yZXN0b3Jl X2RpYWxvZy5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3Jlc3RvcmUvc3RhdGljL2pzL3Jlc3RvcmVf ZGlhbG9nLmpzCmluZGV4IDg4OTcwYjJjLi4xZmUzNmJjOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vdG9vbHMvcmVzdG9yZS9zdGF0aWMvanMvcmVzdG9yZV9kaWFsb2cuanMKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvcmVzdG9yZS9zdGF0aWMvanMvcmVzdG9yZV9kaWFsb2cuanMKQEAgLTI3LDcg KzI3LDcgQEAgZXhwb3J0IGNsYXNzIFJlc3RvcmVEaWFsb2cgZXh0ZW5kcyBEaWFsb2cgewogICAg IH0pOwogICB9CiAKLSAgZHJhdyhhY3Rpb24sIGFjaVRyZWVJdGVtKSB7CisgIGRyYXcoYWN0aW9u LCBhY2lUcmVlSXRlbSwgd2lkdGgsIGhlaWdodCkgewogCiAgICAgY29uc3Qgc2VydmVySW5mb3Jt YXRpb24gPSB0aGlzLnJldHJpZXZlQW5jZXN0b3JPZlR5cGVTZXJ2ZXIoYWNpVHJlZUl0ZW0pOwog CkBAIC02OSw3ICs2OSw4IEBAIGV4cG9ydCBjbGFzcyBSZXN0b3JlRGlhbG9nIGV4dGVuZHMgRGlh bG9nIHsKIAogICAgICAgbGV0IHRpdGxlID0gc3ByaW50ZihnZXR0ZXh0KCdSZXN0b3JlICglczog JXMpJyksIG5vZGUubGFiZWwsIGRhdGEubGFiZWwpOwogICAgICAgdGhhdC5jcmVhdGVPckdldERp YWxvZyh0aXRsZSwgJ3Jlc3RvcmUnKTsKLSAgICAgIHRoYXQuYWxlcnRpZnkucGdfcmVzdG9yZSh0 aXRsZSwgYWNpVHJlZUl0ZW0xLCBkYXRhLCBub2RlKS5yZXNpemVUbygnNjUlJywgJzYwJScpOwor ICAgICAgdGhhdC5hbGVydGlmeS5wZ19yZXN0b3JlKHRpdGxlLCBhY2lUcmVlSXRlbTEsIGRhdGEs IG5vZGUpCisgICAgICAgIC5yZXNpemVUbyh3aWR0aCwgaGVpZ2h0KTsKICAgICB9KS5jYXRjaChm dW5jdGlvbigpIHsKICAgICAgIHRoYXQuYWxlcnRpZnkuYWxlcnQoCiAgICAgICAgIGdldHRleHQo J1V0aWxpdHkgbm90IGZvdW5kJyksCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxl ZGl0b3Ivc3RhdGljL2Nzcy9zcWxlZGl0b3IuY3NzIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRp dG9yL3N0YXRpYy9jc3Mvc3FsZWRpdG9yLmNzcwppbmRleCA1OTYxZGM1YS4uOTFjNTE1ZjQgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvY3NzL3NxbGVkaXRv ci5jc3MKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9jc3Mvc3FsZWRp dG9yLmNzcwpAQCAtMzEwLDcgKzMxMCw5IEBAIGlucHV0LmVkaXRvci1jaGVja2JveDpmb2N1cyB7 CiAvKiBGb3IgRmlsdGVyIHN0YXR1cyBiYXIgKi8KIC5kYXRhX3NvcnRpbmdfZGlhbG9nIC5wZy1w cm9wLXN0YXR1cy1iYXIgewogICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gIGJvdHRvbTogNDBweDsK KyAgbGVmdDogMDsKKyAgcmlnaHQ6IDA7CisgIGJvdHRvbTogMDsKICAgei1pbmRleDogNTsKIH0K IApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxl ZGl0b3IuanMgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRv ci5qcwppbmRleCBiMzM0MDM2YS4uNGIxZmJiMTAgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rv b2xzL3NxbGVkaXRvci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rv b2xzL3NxbGVkaXRvci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzCkBAIC0yMTcyLDcgKzIxNzIsNyBA QCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKIAogCiAgICAgICAgICAgICAvKiBJZiBmaWx0 ZXIgaXMgYXBwbGllZCB0aGVuIHJlbW92ZSBjbGFzcyAnYnRuLXNlY29uZGFyeScKLSAgICAgICAg ICAgICAqIGFuZCBhZGQgJ2J0bi13YXJuaW5nJyB0byBjaGFuZ2UgdGhlIGNvbG91ciBvZiB0aGUg YnV0dG9uLgorICAgICAgICAgICAgICogYW5kIGFkZCAnYnRuLXByaW1hcnknIHRvIGNoYW5nZSB0 aGUgY29sb3VyIG9mIHRoZSBidXR0b24uCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIGlm IChzZWxmLmNhbl9maWx0ZXIgJiYgcmVzLmRhdGEuZmlsdGVyX2FwcGxpZWQpIHsKICAgICAgICAg ICAgICAgJCgnI2J0bi1maWx0ZXInKS5yZW1vdmVDbGFzcygnYnRuLXNlY29uZGFyeScpOwpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9zY3NzL19zcWxlZGl0 b3Iuc2NzcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvc2Nzcy9fc3FsZWRp dG9yLnNjc3MKaW5kZXggNzM1MTM2MjAuLjVkNDI1YmI4IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi90b29scy9zcWxlZGl0b3Ivc3RhdGljL3Njc3MvX3NxbGVkaXRvci5zY3NzCisrKyBiL3dlYi9w Z2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvc2Nzcy9fc3FsZWRpdG9yLnNjc3MKQEAgLTIx OCwxMSArMjE4LDEwIEBAIGxpLkNvZGVNaXJyb3ItaGludC1hY3RpdmUgewogLnBnX3RleHRfZWRp dG9yIHsKICAgei1pbmRleDoxMDAwMDsKICAgcG9zaXRpb246YWJzb2x1dGU7Ci0gIGJhY2tncm91 bmQ6ICRjb2xvci1iZzsKLSAgcGFkZGluZzogN3B4IDVweCA1cHggMXB4OwotICBib3JkZXI6MnB4 IHNvbGlkICAkY29sb3ItZ3JheTsKLSAgLW1vei1ib3JkZXItcmFkaXVzOjEwcHg7Ci0gIGJvcmRl ci1yYWRpdXM6MTBweDsKKyAgYmFja2dyb3VuZDogJGNvbG9yLWJnLXRoZW1lOworICBwYWRkaW5n OiAwLjI1cmVtOworICBib3JkZXI6ICRwYW5lbC1ib3JkZXI7CisgIGJveC1zaGFkb3c6ICRkcm9w ZG93bi1ib3gtc2hhZG93OwogfQogCiAuZWRpdG9yLXRpdGxlIHsKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL3Rvb2xzL3VzZXJfbWFuYWdlbWVudC9zdGF0aWMvanMvdXNlcl9tYW5hZ2VtZW50Lmpz IGIvd2ViL3BnYWRtaW4vdG9vbHMvdXNlcl9tYW5hZ2VtZW50L3N0YXRpYy9qcy91c2VyX21hbmFn ZW1lbnQuanMKaW5kZXggZjkyOGMwYmIuLjIxMmE5ZGUwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi90b29scy91c2VyX21hbmFnZW1lbnQvc3RhdGljL2pzL3VzZXJfbWFuYWdlbWVudC5qcworKysg Yi93ZWIvcGdhZG1pbi90b29scy91c2VyX21hbmFnZW1lbnQvc3RhdGljL2pzL3VzZXJfbWFuYWdl bWVudC5qcwpAQCAtMTIyLDcgKzEyMiw3IEBAIGRlZmluZShbCiAgICAgICAgIH0pOwogICAgICAg fQogCi0gICAgICBhbGVydGlmeS5DaGFuZ2VQYXNzd29yZCh0aXRsZSwgdXJsKS5yZXNpemVUbygn NTUlJywgJzYwJScpOworICAgICAgYWxlcnRpZnkuQ2hhbmdlUGFzc3dvcmQodGl0bGUsIHVybCku cmVzaXplVG8ocGdCcm93c2VyLnN0ZFcubGcsIHBnQnJvd3Nlci5zdGRILm1kKTsKICAgICB9LAog CiAgICAgaXNQZ2FMb2dpblJlcXVpcmVkKHhocikgewpAQCAtMjIwLDcgKzIyMCw3IEBAIGRlZmlu ZShbCiAgICAgICAgIH0pOwogICAgICAgfQogCi0gICAgICBhbGVydGlmeS5QZ2FMb2dpbih0aXRs ZSwgdXJsKS5yZXNpemVUbygnNzUlJywnNzAlJyk7CisgICAgICBhbGVydGlmeS5QZ2FMb2dpbih0 aXRsZSwgdXJsKS5yZXNpemVUbyhwZ0Jyb3dzZXIuc3RkVy5tZCwgcGdCcm93c2VyLnN0ZEgubWQp OwogICAgIH0sCiAKICAgICAvLyBDYWxsYmFjayB0byBkcmF3IFVzZXIgTWFuYWdlbWVudCBEaWFs b2cuCkBAIC02MjUsMTggKzYyNSwxOSBAQCBkZWZpbmUoWwogICAgICAgICAgICAgcHJlcGFyZTog ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIHZhciBmb290ZXJUcGwgPSBfLnRlbXBsYXRlKFsK ICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJwZy1wcm9wLWZvb3RlciIgc3R5bGU9InZp c2liaWxpdHk6aGlkZGVuOyI+JywKLSAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJwZy1w cm9wLXN0YXR1cy1iYXIiPicsCi0gICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ibWVkaWEg ZXJyb3ItaW4tZm9vdGVyIGJnLWRhbmdlci1saWdodCBib3JkZXItZGFuZ2VyIHRleHQtZGFuZ2Vy IHRleHQtMTQiPicsCi0gICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ibWVkaWEtYm9keSBt ZWRpYS1taWRkbGUiPicsCi0gICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYWxlcnQtaWNv biBlcnJvci1pY29uIj4nLAotICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1leGNs YW1hdGlvbi10cmlhbmdsZSIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4nLAotICAgICAgICAgICAg ICAgICAgJzwvZGl2PicsCi0gICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYWxlcnQtdGV4 dCI+JywKLSAgICAgICAgICAgICAgICAgICc8L2Rpdj4nLAotICAgICAgICAgICAgICAgICAgJzxk aXYgY2xhc3M9ImNsb3NlLWVycm9yLWJhciI+PGEgY2xhc3M9ImNsb3NlLWVycm9yIj54PC9hPjwv ZGl2PicsCi0gICAgICAgICAgICAgICAgICAnPC9kaXY+JywKLSAgICAgICAgICAgICAgICAgICc8 L2Rpdj4nLAotICAgICAgICAgICAgICAgICAgJzwvZGl2PicsCisgICAgICAgICAgICAgICAgICAn IDxkaXYgY2xhc3M9InBnLXByb3Atc3RhdHVzLWJhciI+JywKKyAgICAgICAgICAgICAgICAgICcg ICAgPGRpdiBjbGFzcz0iZXJyb3ItaW4tZm9vdGVyIj4gJywKKyAgICAgICAgICAgICAgICAgICcg ICAgICA8ZGl2IGNsYXNzPSJkLWZsZXggcHgtMiBweS0xIj4gJywKKyAgICAgICAgICAgICAgICAg ICcgICAgICAgIDxkaXYgY2xhc3M9InByLTIiPiAnLAorICAgICAgICAgICAgICAgICAgJyAgICAg ICAgICA8aSBjbGFzcz0iZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUgdGV4dC1kYW5nZXIiIGFy aWEtaGlkZGVuPSJ0cnVlIj48L2k+ICcsCisgICAgICAgICAgICAgICAgICAnICAgICAgICA8L2Rp dj4gJywKKyAgICAgICAgICAgICAgICAgICcgICAgICAgIDxkaXYgY2xhc3M9ImFsZXJ0LXRleHQi PjwvZGl2PiAnLAorICAgICAgICAgICAgICAgICAgJyAgICAgICAgPGRpdiBjbGFzcz0ibWwtYXV0 byBjbG9zZS1lcnJvci1iYXIiPiAnLAorICAgICAgICAgICAgICAgICAgJyAgICAgICAgICA8YSBj bGFzcz0iY2xvc2UtZXJyb3IgZmEgZmEtdGltZXMgdGV4dC1kYW5nZXIiPjwvYT4gJywKKyAgICAg ICAgICAgICAgICAgICcgICAgICAgIDwvZGl2PiAnLAorICAgICAgICAgICAgICAgICAgJyAgICAg IDwvZGl2PiAnLAorICAgICAgICAgICAgICAgICAgJyAgICA8L2Rpdj4gJywKKyAgICAgICAgICAg ICAgICAgICcgPC9kaXY+JywKICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nLAogICAgICAgICAg ICAgICAgIF0uam9pbignXG4nKSksCiAgICAgICAgICAgICAgICAgJHN0YXR1c0JhciA9ICQoZm9v dGVyVHBsKCkpLApAQCAtODg3LDcgKzg4OCw3IEBAIGRlZmluZShbCiAgICAgICAgICAgfTsKICAg ICAgICAgfSk7CiAgICAgICB9Ci0gICAgICBhbGVydGlmeS5Vc2VyTWFuYWdlbWVudCh0cnVlKS5y ZXNpemVUbygnNjgwcHgnLCAnNDAwcHgnKTsKKyAgICAgIGFsZXJ0aWZ5LlVzZXJNYW5hZ2VtZW50 KHRydWUpLnJlc2l6ZVRvKHBnQnJvd3Nlci5zdGRXLm1kLCBwZ0Jyb3dzZXIuc3RkSC5tZCk7CiAg ICAgfSwKIAogICB9OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvdXNlcl9tYW5hZ2Vt ZW50L3N0YXRpYy9zY3NzL191c2VyX21hbmFnZW1lbnQuc2NzcyBiL3dlYi9wZ2FkbWluL3Rvb2xz L3VzZXJfbWFuYWdlbWVudC9zdGF0aWMvc2Nzcy9fdXNlcl9tYW5hZ2VtZW50LnNjc3MKaW5kZXgg MTQ1YmI2NjQuLmNhMWIwOTBhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy91c2VyX21h bmFnZW1lbnQvc3RhdGljL3Njc3MvX3VzZXJfbWFuYWdlbWVudC5zY3NzCisrKyBiL3dlYi9wZ2Fk bWluL3Rvb2xzL3VzZXJfbWFuYWdlbWVudC9zdGF0aWMvc2Nzcy9fdXNlcl9tYW5hZ2VtZW50LnNj c3MKQEAgLTI0LDIzICsyNCw0IEBACiAKIC51c2VyX21hbmFnZW1lbnQgLmJhY2tmb3JtLXRhYiB7 CiAgIGhlaWdodDogY2FsYygxMDAlIC0gNzVweCk7Ci19Ci0KLS51c2VyX21hbmFnZW1lbnQgLnNl YXJjaF91c2VycyB7Ci0gIGZsb2F0OnJpZ2h0OwotICBtYXJnaW4tcmlnaHQ6IDVweDsKLSAgcGFk ZGluZzowICFpbXBvcnRhbnQ7Ci19Ci0KLS51c2VyX21hbmFnZW1lbnQgLnNlYXJjaF91c2VycyBp bnB1dHsKLSAgaGVpZ2h0OjE1cHg7Ci0gIG1hcmdpbi10b3A6IDNweDsKLX0KLQotLnVzZXJfbWFu YWdlbWVudCBpbnB1dFtwbGFjZWhvbGRlcl0gewotICBmb250LXNpemU6IDEycHg7Ci19Ci0KLS51 c2VyX21hbmFnZW1lbnRfcGctYWxlcnRpZnktYnV0dG9uIHsKLSAgbGluZS1oZWlnaHQ6IDE2cHg7 Ci19Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo= --000000000000fa3d9d057e5ef51e--