From d6049cdcefa12d66da1b959bd0aa163a7b90b6a0 Mon Sep 17 00:00:00 2001 From: Hans Lemuet Date: Fri, 27 Oct 2023 22:10:35 +0200 Subject: [PATCH] Remove unwanted cassettes --- .../author/1_14_2_1.yml | 152 ------------- .../author_thumbnail/1_14_3_1.yml | 152 ------------- .../author_url/1_14_4_1.yml | 152 ------------- .../available_/1_14_1_1.yml | 152 ------------- .../with_unavailable_video/date/1_14_7_1.yml | 152 ------------- .../description/1_14_6_1.yml | 152 ------------- .../duration/1_14_8_1.yml | 152 ------------- .../height/1_14_10_1.yml | 211 ------------------ .../keywords/1_14_9_1.yml | 152 ------------- .../thumbnail_large/1_14_14_1.yml | 207 ----------------- .../thumbnail_medium/1_14_13_1.yml | 207 ----------------- .../thumbnail_small/1_14_12_1.yml | 207 ----------------- .../with_unavailable_video/title/1_14_5_1.yml | 152 ------------- .../view_count/1_14_15_1.yml | 207 ----------------- .../width/1_14_11_1.yml | 207 ----------------- 15 files changed, 2614 deletions(-) delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml deleted file mode 100644 index 1dc0cc5e..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:31 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:31 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=U0RAk3hKOJGPV0uvEekotFmgyT.lEYAbNTD1f0iJxuY-1698350971-0-AVlzDXaEevhgzY7uQO3a2l0Nmbt3MeSLNUAoNmW7A+eyyt0fWU4Q8IHg+Anlsu5vjx+RIcthODpvc6ZVyJo+9WE=; - path=/; expires=Thu, 26-Oct-23 20:39:31 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:31 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=158350025.357578690; expires=Sun, 23-Oct-2033 20:09:31 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-bbqpx - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6964-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350972.513287,VS0,VE310 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c55663db37375c-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:31 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:32 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:32 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=_BPnY_jDQ_mSBSJ_ak7IMjXxDK2k8AN.LyzQ26WGIRM-1698350972-0-AYg7b924OwMxhjzDe9Zt0dmUK02Kt/lmW0QpyHZ3ZuqfNCauPhs6Dc1qoZ6K5hDjWJNH8dJ/GNyJbdt9BZsUf/4=; - path=/; expires=Thu, 26-Oct-23 20:39:32 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:31 - GMT; Max-Age=31535999; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1112215512.935593902; expires=Sun, 23-Oct-2033 20:09:31 GMT; Max-Age=315359999; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-g68wj - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6977-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350972.909143,VS0,VE361 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556665d505272-MXP - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:32 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml deleted file mode 100644 index 84670395..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:33 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:33 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=TMPUIKxg7YkXN9wLuVfZM4KAi7sNAHEv1Rp.M2PfzxU-1698350973-0-ARSi/rw41iECopuYEla9QYgua87gJtOb5vuPoWmwiB8jKebJkP1YY8J9CLfSn5l9oKn5Z0CxuVMcdxa6DllkPBM=; - path=/; expires=Thu, 26-Oct-23 20:39:33 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:33 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1657288819.970591371; expires=Sun, 23-Oct-2033 20:09:33 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-d82jk - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-5 - X-Backend-Proxy: - - webproxy6 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10545-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350973.473238,VS0,VE460 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556702ef50fce-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:34 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:34 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:34 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=UGScU.f4_w7ssD3O0GbOFH7ORm0RNh_zzHYKn3CWaiU-1698350974-0-AfAjUsmx3emmxowoeBKQNvv9P6UY7Fg6v9hUCCFZvNG6B9RElh+otsLGZKIcN1gcFUs9SdYXC9hWV9/XAYum50Q=; - path=/; expires=Thu, 26-Oct-23 20:39:34 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:34 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=628927325.2048346473; expires=Sun, 23-Oct-2033 20:09:34 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9zknh - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10538-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350974.126845,VS0,VE378 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556742e5173af-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:34 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml deleted file mode 100644 index 8d637fc9..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:35 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:34 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=yKKig396CdsMewnF6zq58XmqHISYGNhbJV6Xlk1VfQo-1698350974-0-AdlRa7UUhfchOTUojGeZbuPcQ0u4a2agzEYWYgtvP5xeisFEAFtvyIHBYWeGeeewHgPLDv4ovynPecwFrLgKPeg=; - path=/; expires=Thu, 26-Oct-23 20:39:34 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:34 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=806206561.2118439068; expires=Sun, 23-Oct-2033 20:09:34 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-p2vs2 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10581-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350975.620877,VS0,VE374 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556774ae7076f-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:35 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:35 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:35 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=15bUz77L5iycFsmBBiePh21J72QYuBqikU5Jp9p99NU-1698350975-0-AWI6XwnbNr32qXlWrBCVe/zCuIq6xfeoCV3rK/vD1L+guMPoXePb+O7DGJARlsRkJ+6aLt0mRsBdT2Vin96a9zg=; - path=/; expires=Thu, 26-Oct-23 20:39:35 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:35 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1165917621.417660076; expires=Sun, 23-Oct-2033 20:09:35 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-7s7xw - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10556-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350975.148580,VS0,VE321 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5567a8c975fdc-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:35 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml deleted file mode 100644 index 78f42e76..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:30 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:30 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=ZqH0ZBpP.VxNv46o47zdhwmt.1cUmydr9TVUsLCLhoQ-1698350970-0-AZMlKsG/iWm2roIO/lmg2hjPvE3ax66FylTUEc2TVWqTob2ypFW3AgIlgbg1x7nP/Sf0/uSfx2bqESkduQ1t1P8=; - path=/; expires=Thu, 26-Oct-23 20:39:30 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:30 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=29271300.1678438639; expires=Sun, 23-Oct-2033 20:09:30 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9r2p6 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10554-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350971.532212,VS0,VE409 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5565dbea00c47-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:31 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:31 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:31 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=Qv_wBqchFto6U7L4ohBOm2a8HHS4onCGRLDL5zbrhdg-1698350971-0-AQTvofPYwRzb+vANOuLnzwa/FPiTbWj7o9iPt1tiq8nb5HcBNICExzxQ0hZ10SQcHsHETGP+FtE2SoNNC/zG4qs=; - path=/; expires=Thu, 26-Oct-23 20:39:31 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:31 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=546290276.348209764; expires=Sun, 23-Oct-2033 20:09:31 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9wbqk - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6926-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350971.121851,VS0,VE307 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556616d22baf7-MXP - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnNjk2MGYnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:31 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml deleted file mode 100644 index 004cff2d..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:37 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:37 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=8atSplz1c3Sh7GUR0RSZnhujNrw8AZ1ZjqXcFkukNgc-1698350977-0-AfSkhwMU19L4NFBSNk9gZ4P7d0+7UfE4Bhe27YKcPM892yVqcEeVQKTyn+73nZ0QdpN5f24J7neMA94v6QD+Ssg=; - path=/; expires=Thu, 26-Oct-23 20:39:37 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:37 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1790431828.726578828; expires=Sun, 23-Oct-2033 20:09:37 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9rc69 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-5 - X-Backend-Proxy: - - webproxy6 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10577-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350978.599994,VS0,VE296 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c55689dda20da7-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:37 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:38 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:38 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=pXN9LIat2osoKnOHeV3HeLRQYCE_P0TdkB9w35EHP9Q-1698350978-0-ARaGs+pE6TvLxwJrVLwl09xEKGnIjWcAKDe0xDgZKmKv5enGPSJlUQALNqolYyAXasAxFsQFZdXZDMmaOPMkZ6U=; - path=/; expires=Thu, 26-Oct-23 20:39:38 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:38 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=367969665.36079359; expires=Sun, 23-Oct-2033 20:09:38 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-kgb2x - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10545-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350978.002710,VS0,VE310 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5568c6aa90fce-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:38 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml deleted file mode 100644 index 186d1bda..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:36 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:36 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=5rv3DZKAc6IDbOj7hG2vzNVwfl9fJ2V6mqR0Ek0WY8I-1698350976-0-Aep00veZ1BF4VAjnelHUEiHWyowExVR+JAljh7n40/Lzk19nyxSX3ox3BKLQ7YnRB8G084pH/QGKdEVYx+gsi5o=; - path=/; expires=Thu, 26-Oct-23 20:39:36 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:36 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=998238993.184870548; expires=Sun, 23-Oct-2033 20:09:36 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-qbfh2 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6977-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350977.548516,VS0,VE336 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556835c725272-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:36 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:37 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:37 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=xBaYkQL31k06N1cLBOfvtKWwV3saEOqzW8yKqzQx4eQ-1698350977-0-AXWtSmla6GTL2fAibIlrmaS6FVkmxJVdsCLl0gIsVRuDHzhJdOb0Dr5yPOTeUTiD+ZPjpciQ1ANp9vYouvfFhac=; - path=/; expires=Thu, 26-Oct-23 20:39:37 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:37 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=555299299.1717302438; expires=Sun, 23-Oct-2033 20:09:37 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-fpf6g - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-0 - X-Backend-Proxy: - - webproxy1 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10581-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350977.083570,VS0,VE362 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c55686adb1076f-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnZTU4NmQnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:37 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml deleted file mode 100644 index 51a897fd..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:39 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:39 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=Llv1BwoG_LoBCndHBrt51BisJ0dO6y2CjoM0NhS9I0s-1698350979-0-AWUb5Gci1lEgkaNXhweN71/jAZeQ5colQ0JT+L2NVBs+HTTceXYbK5lJ/2j/H/fT9maUYiKpBvMBMKW/7rMr4Y4=; - path=/; expires=Thu, 26-Oct-23 20:39:39 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:39 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1164179399.2060154086; expires=Sun, 23-Oct-2033 20:09:39 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-pztw2 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10566-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350979.431793,VS0,VE327 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5569558b973af-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:39 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:40 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:40 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=7SCbyoFjlV6JjY8.XQvR7TKswJ8rJF.2ZRc5LRaqlOY-1698350980-0-AQc+ULXJsXuTIKzaYsSARNtgkZK8gno4wCazBuGy9y1xJo0zahJMXa0+kJOVSHfQLvpTmFxUPxorxjsPe7hIXKo=; - path=/; expires=Thu, 26-Oct-23 20:39:40 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:40 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=302152171.1367813398; expires=Sun, 23-Oct-2033 20:09:40 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-pztw2 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10548-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350980.959844,VS0,VE300 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556989dc2076f-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:40 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml deleted file mode 100644 index 5e31a9f2..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml +++ /dev/null @@ -1,211 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:41 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:41 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=ue1Ew__Ds7xTYCsOn_BpW0plSTxvntrrNxHoBrtQbvY-1698350981-0-AWne+LeaT9lXbB7D2L3M1e9MTu7le46q2NzYRv7d7wiAxNSeBL4nE0fC/GQ4n1yMX4hpvUjIM4alSM6mc2Lp1Sc=; - path=/; expires=Thu, 26-Oct-23 20:39:41 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:41 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1800477234.580218107; expires=Sun, 23-Oct-2033 20:09:41 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-7s7xw - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-4 - X-Backend-Proxy: - - webproxy5 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6964-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350981.268090,VS0,VE352 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556a0ce700e85-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:41 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:42 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:42 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-gjh2p - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-13 - X-Backend-Proxy: - - webproxy14 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6934-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350983.699933,VS0,VE140 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=SwZDEHIqjxrSE1oggzqgCUNAtLk0CDkxDZexvgDRAu0-1698350982-0-AZzaI+3mDi25Q6sF9CuWFmK3/gbv29GlbibwVgeviEmX76ZYqPbjygXjKszPexrFUF85EZCrmKJic7g94noAmos=; - path=/; expires=Thu, 26-Oct-23 20:39:42 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556a9c92a0d6e-MXP - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:42 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml deleted file mode 100644 index 7ef060dd..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:40 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:40 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=z_kiiDuWX3_DWxHr6aJxOEBRShVt8E8s66SO28sNbkg-1698350980-0-AY5kjBigi8Of3tGf+8EjRBeDoBIyoVSphAGH+CQ+MUHgBWB1785r1OqJE0SPEHPViHrFU/smS696MthneCDQDlo=; - path=/; expires=Thu, 26-Oct-23 20:39:40 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:40 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1363220199.1833765556; expires=Sun, 23-Oct-2033 20:09:40 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-f4s75 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-5 - X-Backend-Proxy: - - webproxy6 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6971-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350980.437841,VS0,VE320 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5569baf0e0e23-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:40 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:41 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:41 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=Ta8xiR.juWBPJLTrEYf4Hf_iVUf5psSV3SCJ1nmRh1w-1698350981-0-AatXZ3kxMwSQ+XNBKy9mwtz+hw8giUmnemOw0ZzYU8vtIpTChY40ZWM+94icFP+PPO0FZHelXBwD9qShPKZdlSU=; - path=/; expires=Thu, 26-Oct-23 20:39:41 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:40 - GMT; Max-Age=31535999; path=/; domain=vimeo.com; SameSite=Lax - - vuid=487343382.2053469326; expires=Sun, 23-Oct-2033 20:09:40 GMT; Max-Age=315359999; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-vkfws - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10567-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350981.864363,VS0,VE298 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5569e4edb0fce-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:41 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml deleted file mode 100644 index a0647579..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:44 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-lf9pc - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10566-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350984.322870,VS0,VE131 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=pRnko38uJAtPHp_73IX6nd1QTmf1TVuqY4HZFViKW08-1698350984-0-AdVb63Cmze02U5GYIpMlmtKD/lvFcSivSDi7tk8iTqzod2EQOT3YMgl4RoQRvciZu8xJc8CDo6gHq3nTg2cpA1s=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b3d93a73af-MRS - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:44 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:44 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-bbqpx - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-0 - X-Backend-Proxy: - - webproxy1 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6949-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350985.561699,VS0,VE136 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=vrWgoS5uzcr6XOAe2qeSRzqyN4m01gYyrhOlxdP6MZA-1698350984-0-AcpskL8/YWmtI6POIFmNxSAYDBrNEiivVHT9KQbXU7yYalRPbfdmpqIpngHfpJ7/b7G0bB+AZp0u+6HOzORiTIM=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b56faf0e85-MXP - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:44 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml deleted file mode 100644 index 7491ca3b..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-dgfs5 - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-0 - X-Backend-Proxy: - - webproxy1 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6923-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350984.856612,VS0,VE143 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=1p4VhxX7v22l6iNhSQ2bx0LWX86sDM3RVbPiGfpfAbo-1698350984-0-ATxVng2c3TZR0nKQn+QopfrJZXw9h/oCYKcjfaC1U/crUW9opTxzHouUSgNQl3gC4L6D5cRFYuVnep2WGfQLrzo=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b0fc3d0e23-MXP - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:44 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-p2vs2 - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6970-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350984.076555,VS0,VE131 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=qYpQF2gLsbBwI1AOimEyP8cajUJk6dOKUL4VPeNbgX8-1698350984-0-AY8DnIzRNMHiXbrq5i7NzBuhLzlyyL3RljWQZxmtluA4juOXe0WI1mf/tolMQjsw8DcEv1/fRJTkcYVEEkrhjbM=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b25bf3bacd-MXP - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:44 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml deleted file mode 100644 index 8c233556..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:43 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-9zknh - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-0 - X-Backend-Proxy: - - webproxy1 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10534-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350983.406891,VS0,VE131 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=iykwoaemRQb9pYc8PL8CVo61HGWZZywyJZ_wAcIRA_c-1698350983-0-Ab+Y+/v17VxWYyEIfSb7u2JvsxgKzu+y5wDqZqJnrl/H4bQU+lSVjIt3tg8xUsvAQvFNxXBD5MY50tIKiirCjJ4=; - path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556ae29e55fdc-MRS - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:43 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-hzc9h - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-5 - X-Backend-Proxy: - - webproxy6 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10545-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350984.635093,VS0,VE137 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=ZQFgCZo5p6tMVTrcuurgo2pddj7IqlaBHOulGWxrAk8-1698350983-0-AQ2BhrLloz1e92nwHuk1VMovAxWDN7zSqfiycHzp2x6DCVxbfvPFeP0vbWx1EujVzaILlX9ClYbBAGHq14Suc04=; - path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556afa8ff0fce-MRS - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml deleted file mode 100644 index 98976e80..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:36 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:35 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=DGTmj0UqslOkJ9bJ7A4zEPcZKoBP.ikbmQVaZX.S1FY-1698350976-0-Ac7mFCSWVPuvkwi7/IT6VaOzYvvnKkCJ0xFzRLWLkIALsLNCphgppPwsD96U2hg1ZYjh+ydE7MePzRGrkk3IicU=; - path=/; expires=Thu, 26-Oct-23 20:39:36 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:35 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=953224502.453388539; expires=Sun, 23-Oct-2033 20:09:35 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9k6h5 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6923-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350976.634338,VS0,VE361 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5567dafe70e23-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:35 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:36 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:36 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=tdh61WrNxs1HqOgNEccp_bhWCPFRl4.fGSHYoCxD06c-1698350976-0-AeVW0AWEq9nyPg7kodcs78FCQv7E+GM8OZ30G/pX9ioscFaZBN+JyZ03WDZN9NlZDtzy8or1eti3XVchr1NoSgA=; - path=/; expires=Thu, 26-Oct-23 20:39:36 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:36 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1542785613.1765692233; expires=Sun, 23-Oct-2033 20:09:36 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-n6pj9 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6964-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350976.079909,VS0,VE380 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556806b5d0e85-MXP - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnZTU4NmQnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:36 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml deleted file mode 100644 index 6f701a4e..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:44 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-khsfj - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-1 - X-Backend-Proxy: - - webproxy2 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10577-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350985.780457,VS0,VE130 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=3sNwOJA_C.ulAx6QiAPq8uKtrgrsnE00_5pbxE75cx8-1698350984-0-ARyGkkbkt+z/dJEubca3XEb9/pCedxRnW53QfiD3zGXQ3sGvkx1DGLZd1LzdnwTZWmBXWioFIAjbEAmy5O8y3QU=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b6cd1d0da7-MRS - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:44 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:45 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:45 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-c8r9l - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10540-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350985.011799,VS0,VE143 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=V9u0K9WFXHb9ga1kJ118jdo4iI1Xj2cP.dwk3VKxv28-1698350985-0-AYc6f4pSgCf8hIQgS3drIBa/Ye6Uf4yEP3dmZl28/2inUOx67XP84PWoCIzpcSak5/P0sYNIilx9dNFwnWiByu8=; - path=/; expires=Thu, 26-Oct-23 20:39:45 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b82d890d9a-MRS - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:45 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml deleted file mode 100644 index fa4f0552..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:43 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-dgfs5 - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10551-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350983.934437,VS0,VE141 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=2W044ykXU9M9cZMcKHFq7UqX6FtiJPmFQFlg16rmnQ8-1698350983-0-AYFE3dtYhIznhym5pYpbNT9YPHB2zuBRcm0cV/vZcW/jR1sI7waPZl68/7QUFdaYfSlgW2xgJslON412UWXILwk=; - path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556ab3a380da7-MRS - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:43 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-vkfws - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10522-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350983.179888,VS0,VE126 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=8IJTai7o3MCip4m0KB0mQcjS3sd17JCwOm7dIM5cc5A-1698350983-0-AUoWi36omQieL5u2DTjbeMOaYHa3XSW1KYxy3KaV+subiFrKQEPc3PbaUecetLsfOdV5+vdtlWtVGcsnHuEqMMc=; - path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556acc80b076f-MRS - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -recorded_with: VCR 6.2.0