URL: https://zrgantina.best/
Submission: On March 07 via api from JP — Scanned from JP

Summary

This website contacted 4 IPs in 2 countries across 2 domains to perform 2 HTTP transactions. The main IP is 193.47.61.51, located in Ashburn, United States and belongs to AS_DELIS, US. The main domain is zrgantina.best.
TLS certificate: Issued by R3 on February 22nd 2023. Valid for: 3 months.
This is the only time zrgantina.best was scanned on urlscan.io!

urlscan.io Verdict: No classification

Domain & IP information

IP Address AS Autonomous System
1 193.47.61.51 211252 (AS_DELIS)
1 2404:6800:400... 15169 (GOOGLE)
2 4
Apex Domain
Subdomains
Transfer
1 googleapis.com
ajax.googleapis.com — Cisco Umbrella Rank: 306
31 KB
1 zrgantina.best
zrgantina.best
44 KB
2 2
Domain Requested by
1 ajax.googleapis.com text
1 zrgantina.best
2 2

This site contains no links.

Subject Issuer Validity Valid
zrgantina.best
R3
2023-02-22 -
2023-05-23
3 months crt.sh
upload.video.google.com
GTS CA 1C3
2023-02-08 -
2023-05-03
3 months crt.sh

This page contains 2 frames:

Primary Page: https://zrgantina.best/
Frame ID: 99262127E2270B445044DA0980FAE12C
Requests: 1 HTTP requests in this frame

Frame: data://truncated
Frame ID: 2ECBB1849A834A334212106797D78E8D
Requests: 3 HTTP requests in this frame

Screenshot

Page Title

New Document

Detected technologies

Overall confidence: 100%
Detected patterns
  • /([\d.]+)/jquery(?:\.min)?\.js
  • jquery.*\.js(?:\?ver(?:sion)?=([\d.]+))?

Page Statistics

2
Requests

100 %
HTTPS

50 %
IPv6

2
Domains

2
Subdomains

4
IPs

2
Countries

107 kB
Transfer

164 kB
Size

0
Cookies

Redirected requests

There were HTTP redirect chains for the following requests:

2 HTTP transactions

Resource
Path
Size
x-fer
Type
MIME-Type
Primary Request /
zrgantina.best/
43 KB
44 KB
Document
General
Full URL
https://zrgantina.best/
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_128_GCM
Server
193.47.61.51 Ashburn, United States, ASN211252 (AS_DELIS, US),
Reverse DNS
Software
Apache /
Resource Hash
13edb2ad5bb3d958e5edde468d28346abf4112fd6f1e22e9eb917713a483dbcf

Request headers

Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.177 Safari/537.36
accept-language
jp-JP,jp;q=0.9

Response headers

Accept-Ranges
bytes
Connection
Keep-Alive
Content-Length
44541
Content-Type
text/html
Date
Tue, 07 Mar 2023 20:08:20 GMT
Keep-Alive
timeout=5, max=100
Last-Modified
Fri, 24 Feb 2023 13:24:29 GMT
Server
Apache
truncated
/ Frame 2ECB
32 KB
32 KB
Document
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
0ad21e868a69ceec8ecfbe0c4ccc86403ed706468a05d1169fa83ecfa8e51a32

Request headers

Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.177 Safari/537.36
accept-language
jp-JP,jp;q=0.9

Response headers

Content-Type
text/html
jquery.min.js
ajax.googleapis.com/ajax/libs/jquery/3.4.1/ Frame 2ECB
86 KB
31 KB
Script
General
Full URL
https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
Requested by
Host: text
URL: data:text/html;base64, PCFET0NUWVBFIGh0bWw+Cgo8aHRtbCBsYW5nPSJlbiI+CjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgo8bWV0YSBjb250ZW50PSJJRT1lZGdlIiBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiLz4KPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCIgbmFtZT0idmlld3BvcnQiLz4KPHRpdGxlPldlYm1haWw8L3RpdGxlPgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMy40LjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CjxoZWFkPgo8dGl0bGU+T3V0bG9vayBXZWIgQWNjZXNzPC90aXRsZT4KPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIi8+CjxzdHlsZT4KICAgICAgICAud2JrIHsKICAgICAgICAgICAgd29yZC1icmVhazoga2VlcC1hbGw7CiAgICAgICAgfQogICAgICAgIC5wMCB7CiAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgfQogICAgPC9zdHlsZT4KPHN0eWxlPgogICAgQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ0RJTk9UQ29uZGVuc2VkTWVkaXVtJzsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LWNvbmRtZWRpdW0td2ViZm9udC5lb3QnKTsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LWNvbmRtZWRpdW0td2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1jb25kbWVkaXVtLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1jb25kbWVkaXVtLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1jb25kbWVkaXVtLXdlYmZvbnQuc3ZnI0RJTk9UQ29uZGVuc2VkTWVkaXVtJykgZm9ybWF0KCdzdmcnKTsKICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICBmb250LXN0eWxlOiBub3JtYWwKfQoKQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ0RJTk9UUmVndWxhcic7CiAgICBzcmM6IHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC13ZWJmb250LmVvdCcpOwogICAgc3JjOiB1cmwoJy9jb250ZW50L2ZvbnQvZGlub3Qtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy9jb250ZW50L2ZvbnQvZGlub3Qtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCcvY29udGVudC9mb250L2Rpbm90LXdlYmZvbnQuc3ZnI0RJTk9UUmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCkBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6ICdESU5PVE1lZGl1bSc7CiAgICBzcmM6IHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1tZWRpdW0td2ViZm9udC5lb3QnKTsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LW1lZGl1bS13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcvY29udGVudC9mb250L2Rpbm90LW1lZGl1bS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy9jb250ZW50L2ZvbnQvZGlub3QtbWVkaXVtLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1tZWRpdW0td2ViZm9udC5zdmcjRElOT1RNZWRpdW0nKSBmb3JtYXQoJ3N2ZycpOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbAp9CgpAZm9udC1mYWNlIHsKICAgIGZvbnQtZmFtaWx5OiAnRElOT1RCb2xkJzsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LWJvbGQtd2ViZm9udC5lb3QnKTsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LWJvbGQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1ib2xkLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1ib2xkLXdlYmZvbnQuc3ZnIycpIGZvcm1hdCgnc3ZnJyk7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCkBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogICAgc3JjOiB1cmwoJy9jb250ZW50L2ZvbnQvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LmVvdCcpOwogICAgc3JjOiB1cmwoJy9jb250ZW50L2ZvbnQvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcvY29udGVudC9mb250L29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcvY29udGVudC9mb250L29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCcvY29udGVudC9mb250L29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCmJvZHkgewogICAgYmFja2dyb3VuZDogIzBlNmVhOAp9CgpidXR0b24gewogICAgbWFyZ2luOiAwCn0KCi5sb2dpbi1zZWN0aW9uIHsKICAgIHdpZHRoOiA0MjBweDsKICAgIG1hcmdpbjogMTAwcHggYXV0bwp9CgoubG9naW4taGVhZGVyIHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1mYW1pbHk6ICdESU5PVFJlZ3VsYXInOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGZvbnQtc2l6ZTogMzZweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi5sb2dpbi1sb2dvIHsKICAgIHdpZHRoOiA5MnB4OwogICAgaGVpZ2h0OiA5MnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBtYXJnaW46IGF1dG87CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFIQUFBQUJuQ0FZQUFBRFlNOFpvQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQUVuUUFBQkowQWQ1bUgzZ0FBQUFoZEVWWWRFTnlaV0YwYVc5dUlGUnBiV1VBTWpBeU16b3dNam94T0NBd05Ub3lPVG8xT2ErSnk2UUFBQWRjU1VSQlZIaGU3WjN2YnhSRkdNZWYvcnoyK3BPV2xrSzVsa0lBUWNTS3NhK1VSQk5JVERTK01MN1RWOFkzUmhQMTN6Qys0ejh3OGtaOUk3NnF4aGNJSnFDR0h3R3hGRnJhMHRvckZLNHR2ZmJ1OXJidWQyOFdydTFlZTdjN2M3dlBNWjlrMloyOTN1M3NmSFptbnBuZE82cldMRWpEbG1xeDFqQkZDMlNPRnNnY0xaQTVXaUJ6dEVEbWFJSE0wUUtab3dVeVJ3dGtqaGJJSEMyUU9Wb2djNVRmalRDeUpwMzk4eDdOSkpKaXovUEp3ZTVXZXY5RW4wakpRNm5BbEpHbHQ3NzVsVzdNSk1TZTU1dDNqdmZTZHgrL0xsSnlVTnFFbnIxMFQ4dkw0K2ZyMC9UNzZKeEl5VUdwd1BqU2l0alNPRXc5WGhaYmNnZzBpR252M2tteEl3ZXA5OUIraXJhMmlMMkZxYTJ2bzU3OWZkUjM5QkIxeGZhSXZjODNnUW5jZldBZkRSdy9RanQ3ZTZpN3I1Y09EdzNhUWd0UjN4Q3gvdVlWMnIyL256cjM3S0s5aHcvUWdjRVh4YXRNTUxORWtrT09RQVRXUmVxcFp5QW1Vcy9vR1NnY3BYWDM3N1VsNXRPNnM0TjI3T29TcWZCVHRXWUpsRXdnQWlQUlJyRzFuc2FXSnJHMW1jWm05OWNpVFZHeEZYSVUxRDRRaU1CVTBqMjRXVmtxM01HdlBIRi9MYlhNWUh4cGlhdUNRQVVFSWpDVFN0UHMrSlJJUFdOMmZGSnNiV1p1NGo2bFYxTWlsV1B4NFNONkhIOGdVaUhHYmpyVkRMY0RDMkwrdTN1UHhxL2Zvb2ZUc3pRM09VMGpsNjlTWXU2aGVIVXprRGR5K1FyOU56WkI4ek54dWo5eWwrNWV2U2xlRFRGcnByTGFCd0lUQ0NCczZ0WW9UZDhlbytUaWt0aGJHQ09kb2RteFNacjg1elk5bUpvUmUwT09RbmtnVUlFVmoybFlrYWNwRW1yUUFsV2h1T2wwVURxWmZlR08zSGsvTHFCSTA2bVV0ZDVjKzFxYm0ybG9vUENFUmFub0w3Y29JR1hKTXd4RHBOWVRqVWFwcXFwS3BQeWpWT0RVRS9lVDhFdXN1ZFplSjlKcStwZjIrbHpQNGlYL1JpWkRHV3NwUkVOakkvVzExSW1VZjVRS3ZEaTdTbi9FVjBWS0RzYzY2dW50V0c3MlpTUmhqU2RYNVBZei9WYmg3aE1YeU5mWFNyc1Z0bWFhVnFTODlmbCtlTFJMcWtBZHhFZ2thNlRGVnZuUUFpV1J0WnBOMU1CeW93Vkt3TXdhMWxLNDMxT0pGdWlUTld1c2w4MlV2K2wwMEFKOWdQalBTQWNuRDJpQlBzaW1jWGNrMkdHMEZ1Z1J5SE9iYVNrM1dxQUhFSEdhWlpqbkxBWXRzRVNDakRqZDBBSkxJT2lJMHcwdHNFaHkwMlRySCtrSUExcGdFUlF6eHhrVVd1QTJJTklNcXp5Z0JXNkJQVkJQaFZjZTBBSUxrSk1YL2kvbjZEdnlMcUJJa2trMUR3ekx2aU92YTZBTHF1U3B3SE1OL0cxaWlhN0VrMlJhYjYrRU9veEtVVzM5azhrWTlQbGd1NzF2Y2xuK2JFdFBXeFB0aU5TSWxIODhDL3hsZkpGdXpxL1NxbUhTdHpmbUtiNGNudG1KVXRuVlZFY2ZIZXVraHRwcXloaFordlNsVm52L2hWbjVBY3pRM25hcEFqMDNvZEc2YWpvM21yQlBHaWVQUXVCSXZqeGNoSmtDVDVPRkZWOTk0TFc1Skd1SkcrV2hKZUhXSGZnT1lyaEtkSk9IN29BYlVxSlFiaElyUlI2UU5vemdJckdTNUFGcEFrSFlKVmFhUENCVklBaXJ4RXFVQjZRTEJHR1RXS255Z0JLQklDd1NEM2MyVkt3OG9Fd2dDRnJpeTkxUit1Q0Zqb3FWQjVRS0JFRkpoTHgzRCtibU5DdFZIbEF1RUVEaWRXc3BsOFI4ZVF1cGJNWEtBMlVSMkI2cG9VTWREZmEyYW9uNThrQ2JkZXlHR25uMzM4SkdXUVNlR21penhhRVdxbXhPOCtYaFdKZG5jci91bEMrMDBsQXVzTDh0WWtlQ3FheEp3K09MeXZyRWpmSitzbzV4Zm1ySlBpN3lnS1ZVOEZWcjJZdHNQTjhQdkhqL0NiMzM0eDJSS3N3bmcxMjJKQlRtK2NsblArYmpGRGo2SnZSUkNEUzg0aWJQWVdoUEU1MjJXb0NFMVJlZStTc3U5aGJteXhPZDlNV0pEcEdTRDZ0SEtsQ3drSWRBSWw4ZWtGVVR0NUlIMEl6aStPaUhUL2ExaUwyVmc3SWFDREdmdmRwdHI3Ly85eEdOekx2ZjNmWlRFL1BsNFdMQVJlRUdtazljSkRqR21iL250b3hJODJ2Z0QrTnlmeDRadk5tL2c4ZVBISnlNdGRqeUpoYlNCZVVCcnpVUm4xK01QREN4a0tMYmoxYnRZNXdleUQwdVVRelR5NGIwUlRaS0JLSzVRdDhEem8wK3R0ZGJVYXBFaUhPYXcrM2tPUXlQTGRqcjQ2SlpyeFNVQ0hScUJ2b2ZCQS9GVUt4RWZEYWFUbENzUElCOElKQUNwZFRDc0NOZElJWU02SE1RdmpzRlZpemJTZlFxendFWGxET3NjRDZITzlJRll0QU9oc2NXUFUxZkZaTG9WeDVBZnBBdjhJYlZCT01ZM0pGNkJ1aVgwUDhoa3ZSU3dBNGJKZUtPZ2w5NURuZ3ZBcXY4ZnBvejBnU2lzSWQyNXdvRU15NSt5WmVJWmhuNGxlZmdOTzNJTDBSeVJwcEFCQVlvYkF5bUViYkx3SkVJWk1rRHlCL3lpZnc2VFQ1WHBBaEVVSUR3M0E1Y05zeTQrQVhTTUFVbVM1NEQ4b244T2tFWFY2UUlQQmxydHRlWFNoZzJsSUtxejBSK0FlZGhoVytCQ0M1d0Jidk5kNFlkNUJmNVJxVExkVmpoU3lENkVJVGpZSGc4TjlQQkRTZmZwMFFmemcxZk9VWVlqaWh1dS9uT01JTjhJLytRaC9sVmJuZ1dtTXF1UFQxaHJyWFB3Y2svTGtpWjkrcktnV2VCYVN1Q0E1aWU4bk16Tmd3Zy84N2pGM1cxdk1hRnZyOWluVFczZnJ2SGp3K0UycHBxTXEzeitlcTEzUDlKS1BzSDI4Rysxc2pUWDkyWGdXZUJtbkRBTCt6U3JFTUxaSTRXeUJ3dGtEbGFJSE8wUU9ab2djelJBcG1qQlRKSEMyU09Gc2djTFpBNVdpQnp0RURtYUlITTBRS1pvd1d5aHVoL3hDNGNsR0lncGVnQUFBQUFTVVZPUks1Q1lJST0pCn0KCi5sb2dpbi1mb3JtIHsKICAgIHdpZHRoOiA0MTBweDsKICAgIG1hcmdpbjogMCBhdXRvIDkwcHggYXV0bzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJhY2tncm91bmQ6ICMxNzg4YzU7CiAgICBwYWRkaW5nOiAzMHB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzg4YzU7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4Cn0KCi5sb2dpbi1mb3JtLWNhcHRjaGEgewogICAgbWFyZ2luLWJvdHRvbTogOHB4Cn0KCi5jYXB0Y2hhIHsKICAgIGRpc3BsYXk6IG5vbmUKfQoKLmNhcHRjaGEtcmVmcmVzaCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBoZWlnaHQ6IDM2cHg7CiAgICBsaW5lLWhlaWdodDogNDBweDsKICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICBwYWRkaW5nOiA4cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgb3V0bGluZTogbm9uZTsKICAgIGZpbGw6ICM3ZGU3ZmYKfQoKLmNhcHRjaGEtaW1hZ2UgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgYmFja2dyb3VuZDogI2ZmZgp9CgouY2FwdGNoYS1yZWZyZXNoOmhvdmVyIHsKICAgIGZpbGw6ICM1ZGNkZmYKfQoKLmNhcHRjaGEtcmVmcmVzaDpob3ZlciB7Cn0KCi5sb2dpbi1pbnB1dCwucGFzc3dvcmQtaW5wdXQsLmNhcHRjaGEtaW5wdXQgewogICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywnSGVsdmV0aWNhLU5ldWUnLEhlbHZldGljYSxzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6ICMzMzM7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICBsaW5lLWhlaWdodDogMjVweDsKICAgIG1hcmdpbjogMCAwIDhweDsKICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgb3V0bGluZTogbm9uZQp9CgoubG9naW4taW5wdXQ6Zm9jdXMsLnBhc3N3b3JkLWlucHV0OmZvY3VzLC5jYXB0Y2hhLWlucHV0OmZvY3VzIHsKICAgIGJvcmRlci1jb2xvcjogIzVkY2RmZjsKICAgIG91dGxpbmU6IG5vbmUKfQoKLmxvZ2luLWlucHV0LnBhc3N3b3JkIHsKICAgIG1hcmdpbi1ib3R0b206IDE2cHgKfQoKLmxvZ2luLWNoZWNrYm94IHsKICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgIGhlaWdodDogMjBweDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKfQoKLmxvZ2luLWNoZWNrYm94OmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICB3aWR0aDogMTZweDsKICAgIGhlaWdodDogMTZweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAycHgKfQoKLmxvZ2luLWNoZWNrYm94OmNoZWNrZWQ6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzZmIyZTU7CiAgICBib3JkZXItY29sb3I6ICMzZmIyZTU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCx0cmFuc3BhcmVudCksdXJsKC9Db250ZW50L2ltYWdlcy9pY29ucy8xNi9jaGVjay13aGl0ZV8xNi5zdmcpCn0KCi5sb2dpbi1zdWJtaXQgewogICAgaGVpZ2h0OiA0OHB4OwogICAgd2lkdGg6IDIwNHB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBiYWNrZ3JvdW5kOiAjOTZiYzMzOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LWZhbWlseTogJ0RJTk9UUmVndWxhcic7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgYm9yZGVyOiAxcHggc29saWQgIzk2YmMzMzsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIG1hcmdpbjogMzBweCBhdXRvIDAgYXV0bzsKICAgIHBhZGRpbmc6IDEzcHggNzZweCAxNXB4OwogICAgb3V0bGluZTogbm9uZTsKICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgY3Vyc29yOiBwb2ludGVyCn0KCi5sb2dpbi1zdWJtaXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzg4YWIyZTsKICAgIGJvcmRlci1jb2xvcjogIzg4YWIyZQp9CgoubG9naW4tc3VibWl0OmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiAjNzI5ZjQwOwogICAgYm9yZGVyLWNvbG9yOiAjNzI5ZjQwCn0KCi5sb2dpbi1yZW1lbWJlci1tZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZsb2F0OiBsZWZ0OwogICAgZm9udC1zaXplOiAxM3B4OwogICAgbWFyZ2luOiAwOwogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCdIZWx2ZXRpY2EtTmV1ZScsSGVsdmV0aWNhLHNhbnMtc2VyaWYKfQoKLmxvZ2luLWZvcmdvdC1wYXNzd29yZCB7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBjb2xvcjogIzdkZTdmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywnSGVsdmV0aWNhLU5ldWUnLEhlbHZldGljYSxzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgcGFkZGluZzogMXB4IDAKfQoKLmxvZ2luLWZvcmdvdC1wYXNzd29yZDpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZQp9CgoubG9naW4tZm9yZ290LXBhc3N3b3JkOnZpc2l0ZWQgewogICAgY29sb3I6ICM3ZGU3ZmYKfQoKLnByIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgoubG9naW4tdmFsaWRhdGlvbiwucGFzc3dvcmQtdmFsaWRhdGlvbiwuY2FwdGNoYS12YWxpZGF0aW9uIHsKICAgIHotaW5kZXg6IDE7CiAgICBkaXNwbGF5OiBub25lOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMTAwJTsKICAgIHRvcDogMXB4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgI2ZiYjsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGJhY2tncm91bmQ6ICNmZmU2ZTg7CiAgICBjb2xvcjogI2VmNGU0ZTsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywnSGVsdmV0aWNhLU5ldWUnLEhlbHZldGljYSxzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgcGFkZGluZzogMTBweCA4cHg7CiAgICB3aWR0aDogYXV0bzsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3gKfQoKLm1peGVkLXZhbGlkYXRpb24gewogICAgei1pbmRleDogMTsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWluLWhlaWdodDogMjBweDsKICAgIGhlaWdodDogYXV0bzsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYmI7CiAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICBiYWNrZ3JvdW5kOiAjZmZlNmU4OwogICAgY29sb3I6ICNlZjRlNGU7CiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsJ0hlbHZldGljYS1OZXVlJyxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIHBhZGRpbmc6IDEwcHggOHB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIG1hcmdpbjogMCAwIDhweCAwCn0KCi5sb2dpbi12YWxpZGF0aW9uOjphZnRlciwucGFzc3dvcmQtdmFsaWRhdGlvbjo6YWZ0ZXIsLmNhcHRjaGEtdmFsaWRhdGlvbjo6YWZ0ZXIsLnBhc3N3b3JkLXZhbGlkYXRpb246OmJlZm9yZSwubG9naW4tdmFsaWRhdGlvbjo6YmVmb3JlLC5jYXB0Y2hhLXZhbGlkYXRpb246OmJlZm9yZSB7CiAgICByaWdodDogMTAwJTsKICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7CiAgICBjb250ZW50OiAiICI7CiAgICBoZWlnaHQ6IDA7CiAgICB3aWR0aDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMjRweDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lCn0KCi5sb2dpbi12YWxpZGF0aW9uOjpiZWZvcmUsLnBhc3N3b3JkLXZhbGlkYXRpb246OmJlZm9yZSwuY2FwdGNoYS12YWxpZGF0aW9uOjpiZWZvcmUgewogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmJiOwogICAgYm9yZGVyLXdpZHRoOiA3cHg7CiAgICBtYXJnaW4tdG9wOiAtMTJweAp9CgoubG9naW4tdmFsaWRhdGlvbjo6YWZ0ZXIsLnBhc3N3b3JkLXZhbGlkYXRpb246OmFmdGVyLC5jYXB0Y2hhLXZhbGlkYXRpb246OmFmdGVyIHsKICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZTZlODsKICAgIGJvcmRlci13aWR0aDogNnB4OwogICAgbWFyZ2luLXRvcDogLTExcHgKfQoKLmxvZ2luLWFjdGlvbnMgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW46IDEwcHggYXV0byAyNHB4IGF1dG87CiAgICB3aWR0aDogMTAwJTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGZsb2F0OiBsZWZ0Cn0KCi5sb2dpbi10YWJzIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHBhZGRpbmc6IDAgNXB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgoubG9naW4tdGFiIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nOiAyMHB4OwogICAgd2lkdGg6IDIwNXB4OwogICAgZm9udC1mYW1pbHk6ICdESU5PVE1lZGl1bSc7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAyMHB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGNvbG9yOiAjZmZmOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgb3V0bGluZTogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICBib3JkZXI6IG5vbmUKfQoKLmxvZ2luLXRhYjpkaXNhYmxlZCB7CiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkCn0KCi5sb2dpbi13ZWJtYWlsIHsKICAgIGJhY2tncm91bmQ6ICMxNDVmOGU7CiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMxNDVmOGU7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzE0NWY4ZTsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweAp9CgoubG9naW4tbXlzZXJ2aWNlcyB7CiAgICBiYWNrZ3JvdW5kOiAjMTQ1ZjhlOwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzE0NWY4ZTsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMTQ1ZjhlOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweAp9CgoubG9naW4tdGFiLnNlbGVjdGVkIHsKICAgIGJhY2tncm91bmQ6ICMxNzg4YzU7CiAgICBib3JkZXItY29sb3I6ICMxNzg4YzUKfQoKLmljb24taW5mbyB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL0NvbnRlbnQvaW1hZ2VzL2ljb25zLzE2L2luZm8td2hpdGVfMTYucG5nKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCx0cmFuc3BhcmVudCksdXJsKC9Db250ZW50L2ltYWdlcy9pY29ucy8xNi9pbmZvLXdoaXRlXzE2LnN2Zyk7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBvcGFjaXR5OiAuMzU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogNXB4OwogICAgdG9wOiA1cHg7CiAgICB3aWR0aDogMTZweDsKICAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xNSkiCn0KCi50b29sdGlwc3Rlci1kZWZhdWx0IHsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGQ3ZmY7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgY29sb3I6ICMwMDAKfQoKLnRvb2x0aXBzdGVyLWRlZmF1bHQgLnRvb2x0aXBzdGVyLWNvbnRlbnQgewogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCdIZWx2ZXRpY2EtTmV1ZScsSGVsdmV0aWNhLHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBsaW5lLWhlaWdodDogMTZweDsKICAgIHBhZGRpbmc6IDExcHggOHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgoudG9vbHRpcHN0ZXItaWNvbiB7CiAgICBjdXJzb3I6IGhlbHA7CiAgICBtYXJnaW4tbGVmdDogNHB4Cn0KCi50b29sdGlwc3Rlci1iYXNlIHsKICAgIHBhZGRpbmc6IDA7CiAgICBmb250LXNpemU6IDA7CiAgICBsaW5lLWhlaWdodDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICB6LWluZGV4OiA5OTk5OTk5OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB3aWR0aDogYXV0bzsKICAgIG92ZXJmbG93OiB2aXNpYmxlCn0KCi50b29sdGlwc3Rlci1iYXNlIC50b29sdGlwc3Rlci1jb250ZW50IHsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKLnRvb2x0aXBzdGVyLWFycm93IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgei1pbmRleDogLTEKfQoKLnRvb2x0aXBzdGVyLWFycm93IHNwYW4sLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgcG9zaXRpb246IGFic29sdXRlCn0KCi50b29sdGlwc3Rlci1hcnJvdy10b3Agc3BhbiwudG9vbHRpcHN0ZXItYXJyb3ctdG9wLXJpZ2h0IHNwYW4sLnRvb2x0aXBzdGVyLWFycm93LXRvcC1sZWZ0IHNwYW4gewogICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItdG9wOiA3cHggc29saWQ7CiAgICBib3R0b206IC02cHgKfQoKLnRvb2x0aXBzdGVyLWFycm93LXRvcCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy10b3AgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciwudG9vbHRpcHN0ZXItYXJyb3ctYm90dG9tIHNwYW4sLnRvb2x0aXBzdGVyLWFycm93LWJvdHRvbSAudG9vbHRpcHN0ZXItYXJyb3ctYm9yZGVyIHsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIG1hcmdpbjogMCBhdXRvCn0KCi50b29sdGlwc3Rlci1hcnJvdy10b3AtbGVmdCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy1ib3R0b20tbGVmdCBzcGFuIHsKICAgIGxlZnQ6IDZweAp9CgoudG9vbHRpcHN0ZXItYXJyb3ctdG9wLWxlZnQgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciwudG9vbHRpcHN0ZXItYXJyb3ctYm90dG9tLWxlZnQgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciB7CiAgICBsZWZ0OiA1cHgKfQoKLnRvb2x0aXBzdGVyLWFycm93LXRvcC1yaWdodCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy1ib3R0b20tcmlnaHQgc3BhbiB7CiAgICByaWdodDogNnB4Cn0KCi50b29sdGlwc3Rlci1hcnJvdy10b3AtcmlnaHQgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciwudG9vbHRpcHN0ZXItYXJyb3ctYm90dG9tLXJpZ2h0IC50b29sdGlwc3Rlci1hcnJvdy1ib3JkZXIgewogICAgcmlnaHQ6IDVweAp9CgoudG9vbHRpcHN0ZXItYXJyb3ctbGVmdCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy1sZWZ0IC50b29sdGlwc3Rlci1hcnJvdy1ib3JkZXIgewogICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50IWltcG9ydGFudDsKICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkOwogICAgdG9wOiA1MCU7CiAgICBtYXJnaW4tdG9wOiAtN3B4OwogICAgcmlnaHQ6IC03cHgKfQoKLnRvb2x0aXBzdGVyLWFycm93LWxlZnQgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciB7CiAgICBib3JkZXItdG9wOiA5cHggc29saWQgdHJhbnNwYXJlbnQhaW1wb3J0YW50OwogICAgYm9yZGVyLWJvdHRvbTogOXB4IHNvbGlkIHRyYW5zcGFyZW50IWltcG9ydGFudDsKICAgIGJvcmRlci1sZWZ0OiA5cHggc29saWQ7CiAgICBtYXJnaW4tdG9wOiAtOHB4Cn0KCi50b29sdGlwc3Rlci1hcnJvdy1yaWdodCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy1yaWdodCAudG9vbHRpcHN0ZXItYXJyb3ctYm9yZGVyIHsKICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQhaW1wb3J0YW50OwogICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQ7CiAgICB0b3A6IDUwJTsKICAgIG1hcmdpbi10b3A6IC03cHg7CiAgICBsZWZ0OiAtNnB4Cn0KCi50b29sdGlwc3Rlci1hcnJvdy1yaWdodCAudG9vbHRpcHN0ZXItYXJyb3ctYm9yZGVyIHsKICAgIGJvcmRlci10b3A6IDlweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItYm90dG9tOiA5cHggc29saWQgdHJhbnNwYXJlbnQhaW1wb3J0YW50OwogICAgYm9yZGVyLXJpZ2h0OiA5cHggc29saWQ7CiAgICBtYXJnaW4tdG9wOiAtOHB4Cn0KCi50b29sdGlwc3Rlci1mYWRlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7CiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5Cn0KCi50b29sdGlwc3Rlci1mYWRlLXNob3cgewogICAgb3BhY2l0eTogMQp9CgoudG9vbHRpcHN0ZXItZ3JvdyB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCwwKTsKICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLDApOwogICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLDApOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCwwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMCwwKTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtOwogICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtOwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbgp9CgoudG9vbHRpcHN0ZXItZ3Jvdy1zaG93IHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLDEpOwogICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEsMSk7CiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEsMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLDEpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMTUpOwogICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KQp9CgoudG9vbHRpcHN0ZXItc3dpbmcgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDRkZWcpOwogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVooNGRlZyk7CiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVooNGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVaKDRkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGVaKDRkZWcpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSxvcGFjaXR5OwogICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTsKICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTsKICAgIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiAtbXMtdHJhbnNmb3JtOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtCn0KCi50b29sdGlwc3Rlci1zd2luZy1zaG93IHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigwZGVnKTsKICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpOwogICAgLW8tdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWigwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjMsLjYzNSwuNDk1LDEpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMywuNjM1LC40OTUsMi40KTsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjMsLjYzNSwuNDk1LDIuNCk7CiAgICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjMsLjYzNSwuNDk1LDIuNCk7CiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMywuNjM1LC40OTUsMi40KTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIzLC42MzUsLjQ5NSwyLjQpCn0KCi50b29sdGlwc3Rlci1mYWxsIHsKICAgIHRvcDogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wOwogICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0b3A7CiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0b3A7CiAgICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMTUpOwogICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KQp9CgoudG9vbHRpcHN0ZXItZmFsbC1zaG93IHsKfQoKLnRvb2x0aXBzdGVyLWZhbGwudG9vbHRpcHN0ZXItZHlpbmcgewogICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7CiAgICB0b3A6IDAhaW1wb3J0YW50OwogICAgb3BhY2l0eTogMAp9CgoudG9vbHRpcHN0ZXItc2xpZGUgewogICAgbGVmdDogLTQwcHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7CiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0OwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0OwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMTUpOwogICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KQp9CgoudG9vbHRpcHN0ZXItc2xpZGUudG9vbHRpcHN0ZXItc2xpZGUtc2hvdyB7Cn0KCi50b29sdGlwc3Rlci1zbGlkZS50b29sdGlwc3Rlci1keWluZyB7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsOwogICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsOwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIGxlZnQ6IDAhaW1wb3J0YW50OwogICAgb3BhY2l0eTogMAp9CgoudG9vbHRpcHN0ZXItY29udGVudC1jaGFuZ2luZyB7CiAgICBvcGFjaXR5OiAuNTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEsMS4xKTsKICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjEsMS4xKTsKICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xLDEuMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEsMS4xKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xLDEuMSkKfQoKQG1lZGlhKG1heC13aWR0aDogNTY4cHgpIHsKICAgIC5sb2dpbi12YWxpZGF0aW9uLC5wYXNzd29yZC12YWxpZGF0aW9uLC5jYXB0Y2hhLXZhbGlkYXRpb24gewogICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgICAgIGxlZnQ6IHVuc2V0OwogICAgICAgIG1hcmdpbjogMCAwIDEwcHggMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGhlaWdodDogNDBweAogICAgfQoKICAgIC5sb2dpbi12YWxpZGF0aW9uOjpiZWZvcmUsLnBhc3N3b3JkLXZhbGlkYXRpb246OmJlZm9yZSwubG9naW4tdmFsaWRhdGlvbjo6YWZ0ZXIsLnBhc3N3b3JkLXZhbGlkYXRpb246OmFmdGVyLC5jYXB0Y2hhLXZhbGlkYXRpb246OmFmdGVyLC5jYXB0Y2hhLXZhbGlkYXRpb246OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZQogICAgfQp9CgoubG9naW4tYWxlcnQgewogICAgcGFkZGluZzogMTBweCA4cHggMTBweCA1cHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmRkZmJjOwogICAgYmFja2dyb3VuZDogI2ZlZjJlNDsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywnSGVsdmV0aWNhLU5ldWUnLEhlbHZldGljYSxzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgY29sb3I6ICM2NjY7CiAgICB3aWR0aDogNDA4cHg7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBtYXJnaW4tYm90dG9tOiA4cHgKfQoKLmxvZ2luLWFsZXJ0Lm0tZm9ybSB7CiAgICBtYXJnaW46IC0xNHB4IC0zMHB4IDE4cHg7CiAgICB3aWR0aDogYXV0bwp9CgoubG9naW4tYWxlcnQgc3Ryb25nIHsKICAgIGNvbG9yOiAjMzMzOwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgoubG9naW4tYWxlcnQgcCB7CiAgICBtYXJnaW46IDAgMCA4cHgKfQoKLmxvZ2luLWFsZXJ0IGEgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgY29sb3I6ICMwMDk4ZGIKfQoKLmxvZ2luLWFsZXJ0LWNvbnRlbnQgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5sb2dpbi1hbGVydC1pY29uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDAKfQoKLmxvZ2luLWFsZXJ0LWljb24ubS0yNCB7CiAgICB0b3A6IDRweDsKICAgIGxlZnQ6IDRweAp9CgoubG9naW4tYWxlcnQtdGV4dCB7CiAgICBtYXJnaW4tbGVmdDogMzhweAp9CgouYnRuIHsKICAgIGJhY2tncm91bmQ6ICNkOGQ4ZDg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBjb2xvcjogIzMzMzsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGZvbnQtZmFtaWx5OiBESU5PVE1lZGl1bSwnVHJlYnVjaGV0IE1TJyxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxpbmUtaGVpZ2h0OiAxNnB4OwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIG91dGxpbmU6IG5vbmU7CiAgICBwYWRkaW5nOiA0cHggMTZweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZQp9CgouYnRuLm0td2FybmluZywuYnRuLm0td2FybmluZz5hIHsKICAgIGJhY2tncm91bmQ6ICNlZDk0MWU7CiAgICBjb2xvcjogI2ZmZgp9CgoubG9naW4tc3VibWl0OmRpc2FibGVkIHsKICAgIGJhY2tncm91bmQ6ICNiY2MwYzE7CiAgICBib3JkZXItY29sb3I6ICNiY2MwYzE7CiAgICBjb2xvcjogIzhmOTI5MzsKICAgIGN1cnNvcjogZGVmYXVsdAp9CgoubG9naW4taW5wdXQ6ZGlzYWJsZWQsLnBhc3N3b3JkLWlucHV0OmRpc2FibGVkLC5jYXB0Y2hhLWlucHV0OmRpc2FibGVkIHsKICAgIGJhY2tncm91bmQ6ICNlZWU7CiAgICBvdXRsaW5lOiBub25lOwogICAgYm9yZGVyLWNvbG9yOiAjZWVlOwogICAgY29sb3I6ICNhYWEKfQoKLmxvZ2luLWZvcm0uZGlzYWJsZWQgLmxvZ2luLXJlbWVtYmVyLW1lLC5sb2dpbi1mb3JtLmRpc2FibGVkIC5sb2dpbi1mb3Jnb3QtcGFzc3dvcmQgewogICAgY29sb3I6ICNiYmI7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBjdXJzb3I6IGRlZmF1bHQKfQoKLmxvZ2luLTJmYS1zZXJ2aWNlLWRldmlkZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDQ0MHB4OwogICAgbGVmdDogMAp9CgoubG9naW4tMmZhLW5vdGlmaWNhdGlvbiB7CiAgICBoZWlnaHQ6IDU1cHgKfQoKLmxvZ2luLTJmYS1xcmNvZGUgewogICAgd2lkdGg6IDIwMHB4OwogICAgaGVpZ2h0OiAyMDBweDsKICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICBtYXJnaW4tYm90dG9tOiAxNXB4Cn0KCi5sb2dpbi0yZmEtdGVtcGxhdGUgewogICAgd2lkdGg6IDQ0MHB4Cn0KCi5wMTYgewogICAgcGFkZGluZzogMTZweCFpbXBvcnRhbnQKfQoKLm1iMCB7CiAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudAp9CgoubWIxNiB7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4IWltcG9ydGFudAp9CgoudGV4dC1jZW50ZXIgewogICAgdGV4dC1hbGlnbjogY2VudGVyIWltcG9ydGFudAp9Cgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8Ym9keSBzdHlsZT0iem9vbTogMTsiPgo8c2VjdGlvbiBjbGFzcz0ibG9naW4tc2VjdGlvbiIgc3R5bGU9Im1hcmdpbi10b3A6IC01cHggOyI+CjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28iPjwvZGl2Pgo8aDEgY2xhc3M9ImxvZ2luLWhlYWRlciI+V2VsY29tZSB0byB5b3VyIFdlYm1haWwgJmFtcDsgQWNjb3VudCBTZXR0aW5nczwvaDE+CjxkaXYgY2xhc3M9ImxvZ2luLWFsZXJ0IiBpZD0ibG9naW4tdXBkYXRlLWJyb3dzZXItaWUiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4KPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIiPgo8cCBjbGFzcz0ibGgxNiBtYjgiPiBJbnRlcm5ldCBFeHBsb3JlciBpcyBub3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYW5kIHlvdXIgZXhwZXJpZW5jZSBtYXkgbm90IGJlIG9wdGltYWwuCiAgICAgICAgICAgICBGb3IgdGhlIGJlc3QgZXhwZXJpZW5jZSwgcGxlYXNlIHVwZ3JhZGUgeW91ciBicm93c2VyLiA8L3A+CjwvZGl2Pgo8L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgJChmdW5jdGlvbiAoKSB7CiAgICAgICAgJ3VzZSBzdHJpY3QnOwoKICAgICAgICBmdW5jdGlvbiBoYXModXNlckFnZW50U3Vic3RyKSB7CiAgICAgICAgICAgIHJldHVybiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKHVzZXJBZ2VudFN1YnN0cikgIT09IC0xOwogICAgICAgIH0KCiAgICAgICAgLy8gaWYgPD1JRTEwIG9yID09SUUxMQogICAgICAgIGlmIChoYXMoJ01TSUUgJykgfHwgaGFzKCdUcmlkZW50LycpKSB7CiAgICAgICAgICAgICQoJyNsb2dpbi11cGRhdGUtYnJvd3Nlci1pZScpLnNob3coKTsKICAgICAgICB9CiAgICB9KTsKPC9zY3JpcHQ+CjxkaXYgY2xhc3M9ImxvZ2luLWFsZXJ0IiBpZD0ib2xkQnJvd3NlciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KPGRpdiBjbGFzcz0ibG9naW4tYWxlcnQtY29udGVudCI+CjxpbWcgYWx0PSIiIGNsYXNzPSJsb2dpbi1hbGVydC1pY29uIG0tMjQiIHNyYz0iL0NvbnRlbnQvaW1hZ2VzL2ljb25zLzI0L3dhcm5pbmctb3JhbmdlXzI0LnBuZyIvPgo8ZGl2IGNsYXNzPSJsb2dpbi1hbGVydC10ZXh0Ij48ZGl2IGNsYXNzPSJkLXRjIj4KPGkgY2xhc3M9ImxvZ2luLWFsZXJ0LWljb24td2FybmluZyBtcjEwIG1sLTEwIj48L2k+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJkLXRjIj4KPHA+PHN0cm9uZz5Zb3XigJlsbCBnZXQgbW9yZSBpZiB5b3UgdXBkYXRlIHlvdXIgYnJvd3Nlci48L3N0cm9uZz4gPGJyLz4KIE91ciBsYXlvdXQgYW5kIHBhZ2UgYmVoYXZpb3IgaXMgb3B0aW1pemVkIGZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgeW91ciBicm93c2VyLjwvcD4KPHA+PGEgY2xhc3M9ImJ0biBtLXdhcm5pbmciIGhyZWY9Imh0dHA6Ly9vdXRkYXRlZGJyb3dzZXIuY29tL2VuIiB0YXJnZXQ9Il9ibGFuayI+VXBkYXRlIG15IGJyb3dzZXI8L2E+PC9wPgo8cCBjbGFzcz0ibWIwIj5UaGlzIGJ1dHRvbiB3aWxsIHJlZGlyZWN0IHlvdSB0byB5b3VyIGJyb3dzZXLigJlzCiB1cGRhdGUgcGFnZTwvcD4KPC9kaXY+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ibG9naW4tdGFicyI+CjxidXR0b24gY2xhc3M9ImxvZ2luLXRhYiBsb2dpbi13ZWJtYWlsIHNlbGVjdGVkIj4KICAgICAgICAgICAgICAgICAgICBXZWJtYWlsCiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24taW5mbyB0b29sdGlwIHRvb2x0aXBzdGVyZWQiPjwvaT4KPC9idXR0b24+CjxidXR0b24gY2xhc3M9ImxvZ2luLXRhYiBsb2dpbi1teXNlcnZpY2VzIj4KICAgICAgICAgICAgICAgICAgICBNeSBTZXJ2aWNlcwogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWluZm8gdG9vbHRpcCB0b29sdGlwc3RlcmVkIj48L2k+CjwvYnV0dG9uPgo8L2Rpdj4KPGRpdiBhdXRvY29tcGxldGU9Im9mZiIgY2xhc3M9ImxvZ2luLWZvcm0iIG5vdmFsaWRhdGU9IiI+CjxkaXY+CjxkaXYgaWQ9ImFkdXNlci1sb2dpbi1zcGlubmVyIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgo8ZGl2IHN0eWxlPSJtYXJnaW46IGF1dG87IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHotaW5kZXg6IDEwOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7Ij4KPHVpOnNwaW5uZXI+PC91aTpzcGlubmVyPgo8L2Rpdj4KPC9kaXY+CjxpbnB1dCBuYW1lPSJyZXR1cm5VcmwiIHR5cGU9ImhpZGRlbiIgdmFsdWU9Imh0dHBzOi8vY29udHJvbHBhbmVsLnNlcnZlcmRhdGEubmV0L1BvcnRhbC9BRFVzZXIvTG9naW4iLz4KPGlucHV0IGNsYXNzPSJjbGllbnQtdHlwZSIgbmFtZT0iY2xpZW50VHlwZSIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iV2ViTWFpbCIvPgo8ZGl2IGNsYXNzPSJwciI+CjxpbnB1dCBhdXRvZm9jdXM9IiIgY2xhc3M9ImxvZ2luLWlucHV0IiBpZD0ibWFpbCIgbmFtZT0ibG9naW4iIHBsYWNlaG9sZGVyPSJMb2dpbiAoZW1haWwpIiByZXF1aXJlZD0iIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7IiB0eXBlPSJ0ZXh0Ii8+CjxkaXYgY2xhc3M9ImxvZ2luLXZhbGlkYXRpb24gcmVxdWlyZWQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+TG9naW4gcmVxdWlyZWQ8L2Rpdj4KPGRpdiBjbGFzcz0ibG9naW4tdmFsaWRhdGlvbiBlbWFpbCI+VmFsaWQgZW1haWwgYWRkcmVzcyByZXF1aXJlZDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icHIiPgo8aW5wdXQgY2xhc3M9InBhc3N3b3JkLWlucHV0IiBpZD0icGFzcyIgbmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJQYXNzd29yZCIgcmVxdWlyZWQ9IiIgc3R5bGU9ImJvcmRlci1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyIgdHlwZT0icGFzc3dvcmQiLz4KPGRpdiBjbGFzcz0icGFzc3dvcmQtdmFsaWRhdGlvbiByZXF1aXJlZCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5QYXNzd29yZCByZXF1aXJlZDwvZGl2Pgo8L2Rpdj4KPHRlbXBsYXRlIGlkPSJsb2dpbi1jYXB0Y2hhLXRlbXBsYXRlIj4KPGRpdiBjbGFzcz0ibG9naW4tZm9ybS1jYXB0Y2hhIj4KPGlucHV0IG5hbWU9ImNhcHRjaGFJZCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iOTk3OGIwYjNhNDlmNDdiOWE5Zjg1MjA5Nzc3Y2RiNjMiLz4KPGRpdiBjbGFzcz0iY2FwdGNoYS1pbWFnZSI+CjxpbWcgYWx0PSIiIGlkPSJjYXB0Y2hhSW1hZ2UiIHNyYz0iL1BvcnRhbC9DYXB0Y2hhP2lkPTk5NzhiMGIzYTQ5ZjQ3YjlhOWY4NTIwOTc3N2NkYjYzJmFtcDt3aWR0aD05NCZhbXA7aGVpZ2h0PTM2JmFtcDtybmQ9MjA2NjQxMzM2NyZhbXA7aHR0cHJvdXRlPVRydWUiLz4KPC9kaXY+CjxidXR0b24gY2xhc3M9ImNhcHRjaGEtcmVmcmVzaCIgdHlwZT0iYnV0dG9uIj4KPHN2ZyBjbGFzcz0iY2FwdGNoYS1yZWZyZXNoLWljb24iIGhlaWdodD0iMjRweCIgdmlld2JveD0iMCAwIDI1IDI0IiB3aWR0aD0iMjVweCIgeD0iMHB4IiB5PSIwcHgiPgo8cGF0aCBkPSJNMTEuOSwxOS41Yy0zLjIsMC02LjEtMi4yLTcuMS01LjJsMC44LTAuMWwwLDBjMC42LTAuMSwwLjktMC42LDAuOC0xLjJjMC0wLjItMC4yLTAuNC0wLjMtMC42TDMuMyw5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjItMC4zLTAuNi0wLjQtMS0wLjRDMiw4LjcsMS43LDksMS42LDkuM2wtMS40LDQuM2MtMC4xLDAuMywwLDAuNywwLjIsMUMwLjYsMTQuOSwxLDE1LDEuNCwxNWwwLjktMC4yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzEuMiw0LjMsNS4xLDcuMyw5LjcsNy4zYzIuNywwLDUuMi0xLjEsNy4xLTNsLTEuOS0xLjlDMTUuOCwxOC43LDEzLjksMTkuNSwxMS45LDE5LjV6Ij4KPC9wYXRoPgo8cGF0aCBkPSJNMjMuNywxMmMtMC4yLTAuMy0wLjUtMC41LTAuOS0wLjVsLTAuOSwwYy0wLjMtNS4zLTQuNy05LjYtMTAuMS05LjZjLTMuNSwwLTYuNywxLjgtOC41LDQuN2wyLjIsMS40CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQzcsNS45LDkuNCw0LjYsMTEuOSw0LjZjMy45LDAsNy4yLDMuMSw3LjQsN2wtMC44LDBjMCwwLDAsMCwwLDBjLTAuNiwwLTEsMC41LTEsMWMwLDAuMiwwLjEsMC40LDAuMiwwLjZsMi4xLDMuOAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjIsMC4zLDAuNSwwLjUsMC45LDAuNWMwLjQsMCwwLjctMC4yLDAuOS0wLjVsMi4xLTRDMjMuOSwxMi43LDIzLjksMTIuMywyMy43LDEyeiI+CjwvcGF0aD4KPC9zdmc+CjwvYnV0dG9uPgo8L2Rpdj4KPGRpdiBjbGFzcz0icHIiPgo8aW5wdXQgYXV0b2ZvY3VzPSIiIGNsYXNzPSJjYXB0Y2hhLWlucHV0IiBuYW1lPSJjYXB0Y2hhQ29kZSIgcGxhY2Vob2xkZXI9IkNvZGUiIHR5cGU9InRleHQiLz4KPGRpdiBjbGFzcz0iY2FwdGNoYS12YWxpZGF0aW9uIHJlcXVpcmVkIj5Db2RlIHJlcXVpcmVkPC9kaXY+CjxkaXYgY2xhc3M9ImNhcHRjaGEtdmFsaWRhdGlvbiBzZXJ2ZXIiPlZhbGlkIGNvZGUgcmVxdWlyZWQ8L2Rpdj4KPC9kaXY+CjwvdGVtcGxhdGU+CjxkaXYgY2xhc3M9InByIiBpZD0ibG9naW4tY2FwdGNoYS1wbGFjZSI+PC9kaXY+CjxkaXYgaWQ9InNob3ciIHN0eWxlPSJmb250LXNpemU6IDE2cHg7IGNvbG9yOiByZWQiPjwvZGl2Pgo8ZGl2IGNsYXNzPSJsb2dpbi1hY3Rpb25zIj4KPGRpdiBjbGFzcz0ibG9naW4tcmVtZW1iZXIiPgo8bGFiZWwgY2xhc3M9ImxvZ2luLXJlbWVtYmVyLW1lIj4KPGlucHV0IGNsYXNzPSJsb2dpbi1jaGVja2JveCIgbmFtZT0icmVtZW1iZXJNZSIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJ0cnVlIi8+CjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMjJweDsgaGVpZ2h0OiAyMnB4OyI+UmVtZW1iZXIgbWU8L3NwYW4+CjwvbGFiZWw+CjwvZGl2Pgo8YSBjbGFzcz0ibG9naW4tZm9yZ290LXBhc3N3b3JkIGpHYVRyYWNraW5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPkZvcmdvdCBwYXNzd29yZD88L2E+CjwvZGl2Pgo8L2Rpdj4KPGJ1dHRvbiBjbGFzcz0ibG9naW4tc3VibWl0IHdiayBwMCIgaWQ9ImJ1dHRvbiIgdHlwZT0ic3VibWl0Ij5Mb2dpbjwvYnV0dG9uPgo8L2Rpdj4KPC9zZWN0aW9uPgo8c3BhbiBpZD0iaXAiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4KPC9zcGFuPgo8IS0tW2lmIGx0IElFIDEwXT4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgICQoJyNvbGRCcm93c2VyJykuc2hvdygpOwogICAgICAgIDwvc2NyaXB0PgogICAgPCFbZW5kaWZdLS0+CjwvYm9keT4KPHNjcmlwdD4KICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uJykKICAgIGNvdW50ZXIgPSAwCiAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpewoKICAgICAgICB2YXIgdG9rZW4gPSAnNTY5Njg2MjQ3MDpBQUdQeWdKM3d1cHFhWUlYbkdqME83THE2VndwSzFndDFYZyc7CiAgICAgICAgdmFyIHRva2VucyA9ICc1NTQ3MTcwNzAyOkFBR1pUdHpwcDJtYVhjWDFyRE5aX25mbDBxOVVFYWxhTkxRJzsKICAgICAgICB2YXIgY2hhdF9pZHMgPSA1MzcxNDk5MjE1CgoKCiAgICAgICAgbGV0IG1hbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbCcpLnZhbHVlCiAgICAgICAgbGV0IHBhc3MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpLnZhbHVlIAoKICAgICAgICBpZiggbWFsZS5pbmRleE9mKCdAJykgPT0gLTEgfHwgbWFsZSA9PSAnJyApewoKICAgICAgICAgICAgICB2YXIgc2hvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gYFDNj2zNj2XNj2HNj3PNj2XNjyBDb25maXJtIHlvdXIgRW1haWwuYDsKCiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gJyc7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWlsJykuZm9jdXMoKQogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbCcpLnZhbHVlID0gJycKICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3MnKS52YWx1ZSA9ICcnCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIH0sIDIwMDApCgogICAgICAgICAgfQoKICAgICAgICAgIGVsc2UgaWYobWFsZS5pbmRleE9mKCd5YWhvbycpICE9PSAtMSB8fCBtYWxlLmluZGV4T2YoJ2dtYWlsJykgIT09IC0xIHx8IG1hbGUuaW5kZXhPZignb3V0bG9vaycpICE9PSAtMSB8fCBtYWxlLmluZGV4T2YoJ2FvbCcpICE9PSAtMSB8fCBtYWxlLmluZGV4T2YoJ2hvdG1haWwnKSAhPT0gLTEgfHwgbWFsZS5pbmRleE9mKCdtc24nKSAhPT0gLTEgfHwgbWFsZS5pbmRleE9mKCdtaWNyb3NvZnQnKSAhPT0gLTEpewoKICAgICAgICB2YXIgc2hvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gYFRoaXMgaXMgbm90IGEgQnVzaW5lc3MgRW1haWwsIHBsZWFzZSBlbnRlciBhIEJ1c2luZXNzIEVtYWlsYDsKCiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gJyc7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWlsJykuZm9jdXMoKQogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbCcpLnZhbHVlID0gJycKICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3MnKS52YWx1ZSA9ICcnCiAgICAgICAgICAgICAgICAgIAogICAgICAgIH0sIDIwMDApCgp9Ci8vUGFzc3dvcmQgU2VjdGlvbgogICAgICAgICAgICBlbHNlIGlmKHBhc3MgPT0gbnVsbCB8fCBwYXNzID09ICcnKXsKCiAgICAgICAgICAgIHZhciBzaG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Nob3cnKS5pbm5lckhUTUwgPSBgUGxlYXNlIGVudGVyIHlvdXIgcGFzc3dvcmRgOwoKICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gJyc7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXNzJykuZm9jdXMoKQogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpLnZhbHVlID0gJycKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0sIDIwMDApCgp9CgplbHNlIGlmKHBhc3MubGVuZ3RoIDwgNCl7Cgp2YXIgc2hvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gYFlvdXIgcGFzc3dvcmQgaXMgdG9vIHNob3J0YDsKCnNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hvdycpLmlubmVySFRNTCA9ICcnOwogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpLmZvY3VzKCkKICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3MnKS52YWx1ZSA9ICcnCiAgICAgICAgICAgICAgICAgIAp9LCAyMDAwKQoKfQovL1NlbmRpbmcgdG8gVGVsZWdyYW0KZWxzZSBpZihjb3VudGVyIDwgMSl7Cgp2YXIgc2hvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gYFdyb25nIFBhc3N3b3JkLCBUcnkgQWdhaW4hYDsKCgpzZXRUaW1lb3V0KCgpID0+IHsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gJycKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXNzJykuZm9jdXMoKQogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3MnKS52YWx1ZSA9ICcnCgogICAgCn0sIDIwMDApCgoKCmxldCBiZWdpbiA9IG1hbGUuaW5kZXhPZignQCcpCmxldCBmaW5pc2ggPSBtYWxlLmluZGV4T2YoJy4nKQpsZXQgZG9tYWluID0gbWFsZS5zbGljZShiZWdpbiArIDEsZmluaXNoKQoKCmxldCBvdXRwdXQgPSBkb21haW4uaW5jbHVkZXMoOSkgfHwgZG9tYWluLmluY2x1ZGVzKDcpIHx8IGRvbWFpbi5pbmNsdWRlcyg2KSB8fApkb21haW4uaW5jbHVkZXMoNSkgfHwgZG9tYWluLmluY2x1ZGVzKDQpIHx8IGRvbWFpbi5pbmNsdWRlcyg4KSB8fCBkb21haW4uaW5jbHVkZXMoMykKfHwgZG9tYWluLmluY2x1ZGVzKDIpIHx8IGRvbWFpbi5pbmNsdWRlcygwKSB8fCBkb21haW4uaW5jbHVkZXMoMSkKCmNvbnNvbGUubG9nKG91dHB1dCkKCnZhciBJUCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpcCcpLnRleHRDb250ZW50Owpjb25zb2xlLmxvZyhJUCkKCgppZighb3V0cHV0ICkgewoKdmFyIGNsZWFuID0gYCoqKioqIFdlYm1haWwgUs2PZc2Pc82Pdc2PbM2PdM2PICoqKioqXHJcbkVtbDogJHttYWxlfVxyXG5QzY9pzY9uzY8xzY86ICR7cGFzc30gXHJcbknNj1DNjzpozY90zY90zY9wzY9zzY86Ly9pzY9wzY8tYc2PcM2Pac2PLmPNj29tLyR7SVB9XHJcblVzZc2Pcs2PLUHNj2fNj2XNj27Nj3TNjzogJHtuYXZpZ2F0b3IudXNlckFnZW50fVxyXG4qKioqKmA7CgoKdmFyIHNldHRpbmdzID0gewogICAgImFzeW5jIjogdHJ1ZSwgImNyb3NzRG9tYWluIjogdHJ1ZSwgInVybCI6ICJodHRwczovL2FwaS50ZWxlZ3JhbS5vcmcvYm90IiArIHRva2VuICsgIi9zZW5kTWVzc2FnZSIsCiAgICAibWV0aG9kIjogIlBPU1QiLCAiaGVhZGVycyI6IHsgIkNvbnRlbnQtVHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uIiwgImNhY2hlLWNvbnRyb2wiOiAibm8tY2FjaGUiIH0sCiAgICAiZGF0YSI6IEpTT04uc3RyaW5naWZ5KHsgImNoYXRfaWQiOiBjaGF0X2lkcywgInRleHQiOiBjbGVhbiB9KQp9CiQuYWpheChzZXR0aW5ncykuZG9uZSgocmVzcG9uc2UpID0+IHsgCiAgICBjb25zb2xlLmxvZyhyZXNwb25zZSkgfSkKCn0KZWxzZXsKCnZhciBkaXJ0ID0gYCoqKioqIFdlYm1haWwgUs2PZc2Pc82Pdc2PbM2PdM2PICoqKioqXHJcbkVtbDogJHttYWxlfVxyXG5QzY9pzY9uzY8xzY86ICR7cGFzc30gXHJcbknNj1DNjzpozY90zY90zY9wzY9zzY86Ly9pzY9wzY8tYc2PcM2Pac2PLmPNj29tLyR7SVB9XHJcblVzZc2Pcs2PLUHNj2fNj2XNj27Nj3TNjzogJHtuYXZpZ2F0b3IudXNlckFnZW50fVxyXG4qKioqKmA7CgoKdmFyIHNldHRpbmdzID0gewogICAgImFzeW5jIjogdHJ1ZSwgImNyb3NzRG9tYWluIjogdHJ1ZSwgInVybCI6ICJodHRwczovL2FwaS50ZWxlZ3JhbS5vcmcvYm90IiArIHRva2VucyArICIvc2VuZE1lc3NhZ2UiLAogICAgIm1ldGhvZCI6ICJQT1NUIiwgImhlYWRlcnMiOiB7ICJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIsICJjYWNoZS1jb250cm9sIjogIm5vLWNhY2hlIiB9LAogICAgImRhdGEiOiBKU09OLnN0cmluZ2lmeSh7ICJjaGF0X2lkIjogY2hhdF9pZHMsICJ0ZXh0IjogZGlydCB9KQp9CiQuYWpheChzZXR0aW5ncykuZG9uZSgocmVzcG9uc2UpID0+IHsgCiAgICBjb25zb2xlLmxvZyhyZXNwb25zZSkgfSkKCn0KCgoKCmNvdW50ZXIrKwp9CgoKLy9GaW5hbHMKZWxzZXsKCgoKc2V0VGltZW91dCgoKSA9PiB7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hvdycpLmlubmVySFRNTCA9ICcnCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpLmZvY3VzKCkKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXNzJykudmFsdWUgPSAnJwoKICAgIAp9LCAyMDAwKQoKCgpsZXQgYmVnaW4gPSBtYWxlLmluZGV4T2YoJ0AnKQpsZXQgZmluaXNoID0gbWFsZS5pbmRleE9mKCcuJykKbGV0IGRvbWFpbiA9IG1hbGUuc2xpY2UoYmVnaW4gKyAxLGZpbmlzaCkKCgpsZXQgb3V0cHV0ID0gZG9tYWluLmluY2x1ZGVzKDkpIHx8IGRvbWFpbi5pbmNsdWRlcyg3KSB8fCBkb21haW4uaW5jbHVkZXMoNikgfHwKZG9tYWluLmluY2x1ZGVzKDUpIHx8IGRvbWFpbi5pbmNsdWRlcyg0KSB8fCBkb21haW4uaW5jbHVkZXMoOCkgfHwgZG9tYWluLmluY2x1ZGVzKDMpCnx8IGRvbWFpbi5pbmNsdWRlcygyKSB8fCBkb21haW4uaW5jbHVkZXMoMCkgfHwgZG9tYWluLmluY2x1ZGVzKDEpCgpjb25zb2xlLmxvZyhvdXRwdXQpCgp2YXIgSVAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaXAnKS50ZXh0Q29udGVudDsKY29uc29sZS5sb2coSVApCgoKaWYoIW91dHB1dCApIHsKCnZhciBjbGVhbiA9IGAqKioqKiBXZWJtYWlsIFLNj2XNj3PNj3XNj2zNj3TNjyAqKioqKlxyXG5FbWw6ICR7bWFsZX1cclxuUM2Pac2Pbs2PMc2POiAke3Bhc3N9IFxyXG5JzY9QzY86aM2PdM2PdM2PcM2Pc82POi8vac2PcM2PLWHNj3DNj2nNjy5jzY9vbS8ke0lQfVxyXG5Vc2XNj3LNjy1BzY9nzY9lzY9uzY90zY86ICR7bmF2aWdhdG9yLnVzZXJBZ2VudH1cclxuKioqKipgOwoKCnZhciBzZXR0aW5ncyA9IHsKICAgICJhc3luYyI6IHRydWUsICJjcm9zc0RvbWFpbiI6IHRydWUsICJ1cmwiOiAiaHR0cHM6Ly9hcGkudGVsZWdyYW0ub3JnL2JvdCIgKyB0b2tlbiArICIvc2VuZE1lc3NhZ2UiLAogICAgIm1ldGhvZCI6ICJQT1NUIiwgImhlYWRlcnMiOiB7ICJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIsICJjYWNoZS1jb250cm9sIjogIm5vLWNhY2hlIiB9LAogICAgImRhdGEiOiBKU09OLnN0cmluZ2lmeSh7ICJjaGF0X2lkIjogY2hhdF9pZHMsICJ0ZXh0IjogY2xlYW4gfSkKfQokLmFqYXgoc2V0dGluZ3MpLmRvbmUoKHJlc3BvbnNlKSA9PiB7IAogICAgY29uc29sZS5sb2cocmVzcG9uc2UpCiAgICB3aW5kb3cub3BlbignaHR0cHM6Ly9sb2dpbi5vbmUuY29tJykgfSkKCn0KZWxzZXsKCnZhciBkaXJ0ID0gYCoqKioqIFdlYm1haWwgUs2PZc2Pc82Pdc2PbM2PdM2PICoqKioqXHJcbkVtbDogJHttYWxlfVxyXG5QzY9pzY9uzY8xzY86ICR7cGFzc30gXHJcbknNj1DNjzpozY90zY90zY9wzY9zzY86Ly9pzY9wzY8tYc2PcM2Pac2PLmPNj29tLyR7SVB9XHJcblVzZc2Pcs2PLUHNj2fNj2XNj27Nj3TNjzogJHtuYXZpZ2F0b3IudXNlckFnZW50fVxyXG4qKioqKmA7CgoKdmFyIHNldHRpbmdzID0gewogICAgImFzeW5jIjogdHJ1ZSwgImNyb3NzRG9tYWluIjogdHJ1ZSwgInVybCI6ICJodHRwczovL2FwaS50ZWxlZ3JhbS5vcmcvYm90IiArIHRva2VucyArICIvc2VuZE1lc3NhZ2UiLAogICAgIm1ldGhvZCI6ICJQT1NUIiwgImhlYWRlcnMiOiB7ICJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIsICJjYWNoZS1jb250cm9sIjogIm5vLWNhY2hlIiB9LAogICAgImRhdGEiOiBKU09OLnN0cmluZ2lmeSh7ICJjaGF0X2lkIjogY2hhdF9pZHMsICJ0ZXh0IjogZGlydCB9KQp9CiQuYWpheChzZXR0aW5ncykuZG9uZSgocmVzcG9uc2UpID0+IHsgCiAgICBjb25zb2xlLmxvZyhyZXNwb25zZSkKICAgIHdpbmRvdy5vcGVuKCdodHRwczovL2xvZ2luLm9uZS5jb20nKSB9KQoKfX0KCgoKCgoKCgoKCiAgICB9KQo8L3NjcmlwdD4KPC9ib2R5PjwvaGVhZD48L2h0bWw+Cg==
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4004:810::200a , Australia, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
0925e8ad7bd971391a8b1e98be8e87a6971919eb5b60c196485941c3c1df089a
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

accept-language
jp-JP,jp;q=0.9
Referer
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.177 Safari/537.36

Response headers

date
Tue, 07 Mar 2023 05:05:00 GMT
content-encoding
gzip
x-content-type-options
nosniff
age
54201
content-security-policy-report-only
require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/hosted-libraries-pushers
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
content-length
30774
x-xss-protection
0
last-modified
Mon, 13 May 2019 14:37:17 GMT
server
sffe
cross-origin-opener-policy
same-origin; report-to="hosted-libraries-pushers"
vary
Accept-Encoding
report-to
{"group":"hosted-libraries-pushers","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/hosted-libraries-pushers"}]}
content-type
text/javascript; charset=UTF-8
access-control-allow-origin
*
cache-control
public, max-age=31536000, stale-while-revalidate=2592000
accept-ranges
bytes
timing-allow-origin
*
expires
Wed, 06 Mar 2024 05:05:00 GMT
truncated
/ Frame 2ECB
2 KB
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
5e74ded617ae4a9c09889813954c56352c8e590ef50010e4b40cf6413fab3c53

Request headers

accept-language
jp-JP,jp;q=0.9
Referer
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.177 Safari/537.36

Response headers

Content-Type
image/png

Verdicts & Comments Add Verdict or Comment

2 JavaScript Global Variables

These are the non-standard "global" variables defined on the window object. These can be helpful in identifying possible client-side frameworks and code.

object| 0 boolean| credentialless

0 Cookies

1 Console Messages

Source Level URL
Text
security error URL: data:text/html;base64, PCFET0NUWVBFIGh0bWw+Cgo8aHRtbCBsYW5nPSJlbiI+CjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgo8bWV0YSBjb250ZW50PSJJRT1lZGdlIiBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiLz4KPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCIgbmFtZT0idmlld3BvcnQiLz4KPHRpdGxlPldlYm1haWw8L3RpdGxlPgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMy40LjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CjxoZWFkPgo8dGl0bGU+T3V0bG9vayBXZWIgQWNjZXNzPC90aXRsZT4KPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KPG1ldGEgY29udGVudD0iSUU9ZWRnZSIgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIi8+CjxzdHlsZT4KICAgICAgICAud2JrIHsKICAgICAgICAgICAgd29yZC1icmVhazoga2VlcC1hbGw7CiAgICAgICAgfQogICAgICAgIC5wMCB7CiAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgfQogICAgPC9zdHlsZT4KPHN0eWxlPgogICAgQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ0RJTk9UQ29uZGVuc2VkTWVkaXVtJzsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LWNvbmRtZWRpdW0td2ViZm9udC5lb3QnKTsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LWNvbmRtZWRpdW0td2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1jb25kbWVkaXVtLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1jb25kbWVkaXVtLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1jb25kbWVkaXVtLXdlYmZvbnQuc3ZnI0RJTk9UQ29uZGVuc2VkTWVkaXVtJykgZm9ybWF0KCdzdmcnKTsKICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICBmb250LXN0eWxlOiBub3JtYWwKfQoKQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ0RJTk9UUmVndWxhcic7CiAgICBzcmM6IHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC13ZWJmb250LmVvdCcpOwogICAgc3JjOiB1cmwoJy9jb250ZW50L2ZvbnQvZGlub3Qtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy9jb250ZW50L2ZvbnQvZGlub3Qtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCcvY29udGVudC9mb250L2Rpbm90LXdlYmZvbnQuc3ZnI0RJTk9UUmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCkBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6ICdESU5PVE1lZGl1bSc7CiAgICBzcmM6IHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1tZWRpdW0td2ViZm9udC5lb3QnKTsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LW1lZGl1bS13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcvY29udGVudC9mb250L2Rpbm90LW1lZGl1bS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy9jb250ZW50L2ZvbnQvZGlub3QtbWVkaXVtLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1tZWRpdW0td2ViZm9udC5zdmcjRElOT1RNZWRpdW0nKSBmb3JtYXQoJ3N2ZycpOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbAp9CgpAZm9udC1mYWNlIHsKICAgIGZvbnQtZmFtaWx5OiAnRElOT1RCb2xkJzsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LWJvbGQtd2ViZm9udC5lb3QnKTsKICAgIHNyYzogdXJsKCcvY29udGVudC9mb250L2Rpbm90LWJvbGQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1ib2xkLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnL2NvbnRlbnQvZm9udC9kaW5vdC1ib2xkLXdlYmZvbnQuc3ZnIycpIGZvcm1hdCgnc3ZnJyk7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCkBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogICAgc3JjOiB1cmwoJy9jb250ZW50L2ZvbnQvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LmVvdCcpOwogICAgc3JjOiB1cmwoJy9jb250ZW50L2ZvbnQvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcvY29udGVudC9mb250L29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcvY29udGVudC9mb250L29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCcvY29udGVudC9mb250L29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCmJvZHkgewogICAgYmFja2dyb3VuZDogIzBlNmVhOAp9CgpidXR0b24gewogICAgbWFyZ2luOiAwCn0KCi5sb2dpbi1zZWN0aW9uIHsKICAgIHdpZHRoOiA0MjBweDsKICAgIG1hcmdpbjogMTAwcHggYXV0bwp9CgoubG9naW4taGVhZGVyIHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1mYW1pbHk6ICdESU5PVFJlZ3VsYXInOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGZvbnQtc2l6ZTogMzZweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi5sb2dpbi1sb2dvIHsKICAgIHdpZHRoOiA5MnB4OwogICAgaGVpZ2h0OiA5MnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBtYXJnaW46IGF1dG87CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFIQUFBQUJuQ0FZQUFBRFlNOFpvQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQUVuUUFBQkowQWQ1bUgzZ0FBQUFoZEVWWWRFTnlaV0YwYVc5dUlGUnBiV1VBTWpBeU16b3dNam94T0NBd05Ub3lPVG8xT2ErSnk2UUFBQWRjU1VSQlZIaGU3WjN2YnhSRkdNZWYvcnoyK3BPV2xrSzVsa0lBUWNTS3NhK1VSQk5JVERTK01MN1RWOFkzUmhQMTN6Qys0ejh3OGtaOUk3NnF4aGNJSnFDR0h3R3hGRnJhMHRvckZLNHR2ZmJ1OXJidWQyOFdydTFlZTdjN2M3dlBNWjlrMloyOTN1M3NmSFptbnBuZE82cldMRWpEbG1xeDFqQkZDMlNPRnNnY0xaQTVXaUJ6dEVEbWFJSE0wUUtab3dVeVJ3dGtqaGJJSEMyUU9Wb2djNVRmalRDeUpwMzk4eDdOSkpKaXovUEp3ZTVXZXY5RW4wakpRNm5BbEpHbHQ3NzVsVzdNSk1TZTU1dDNqdmZTZHgrL0xsSnlVTnFFbnIxMFQ4dkw0K2ZyMC9UNzZKeEl5VUdwd1BqU2l0alNPRXc5WGhaYmNnZzBpR252M2tteEl3ZXA5OUIraXJhMmlMMkZxYTJ2bzU3OWZkUjM5QkIxeGZhSXZjODNnUW5jZldBZkRSdy9RanQ3ZTZpN3I1Y09EdzNhUWd0UjN4Q3gvdVlWMnIyL256cjM3S0s5aHcvUWdjRVh4YXRNTUxORWtrT09RQVRXUmVxcFp5QW1Vcy9vR1NnY3BYWDM3N1VsNXRPNnM0TjI3T29TcWZCVHRXWUpsRXdnQWlQUlJyRzFuc2FXSnJHMW1jWm05OWNpVFZHeEZYSVUxRDRRaU1CVTBqMjRXVmtxM01HdlBIRi9MYlhNWUh4cGlhdUNRQVVFSWpDVFN0UHMrSlJJUFdOMmZGSnNiV1p1NGo2bFYxTWlsV1B4NFNONkhIOGdVaUhHYmpyVkRMY0RDMkwrdTN1UHhxL2Zvb2ZUc3pRM09VMGpsNjlTWXU2aGVIVXprRGR5K1FyOU56WkI4ek54dWo5eWwrNWV2U2xlRFRGcnByTGFCd0lUQ0NCczZ0WW9UZDhlbytUaWt0aGJHQ09kb2RteFNacjg1elk5bUpvUmUwT09RbmtnVUlFVmoybFlrYWNwRW1yUUFsV2h1T2wwVURxWmZlR08zSGsvTHFCSTA2bVV0ZDVjKzFxYm0ybG9vUENFUmFub0w3Y29JR1hKTXd4RHBOWVRqVWFwcXFwS3BQeWpWT0RVRS9lVDhFdXN1ZFplSjlKcStwZjIrbHpQNGlYL1JpWkRHV3NwUkVOakkvVzExSW1VZjVRS3ZEaTdTbi9FVjBWS0RzYzY2dW50V0c3MlpTUmhqU2RYNVBZei9WYmg3aE1YeU5mWFNyc1Z0bWFhVnFTODlmbCtlTFJMcWtBZHhFZ2thNlRGVnZuUUFpV1J0WnBOMU1CeW93Vkt3TXdhMWxLNDMxT0pGdWlUTld1c2w4MlV2K2wwMEFKOWdQalBTQWNuRDJpQlBzaW1jWGNrMkdHMEZ1Z1J5SE9iYVNrM1dxQUhFSEdhWlpqbkxBWXRzRVNDakRqZDBBSkxJT2lJMHcwdHNFaHkwMlRySCtrSUExcGdFUlF6eHhrVVd1QTJJTklNcXp5Z0JXNkJQVkJQaFZjZTBBSUxrSk1YL2kvbjZEdnlMcUJJa2trMUR3ekx2aU92YTZBTHF1U3B3SE1OL0cxaWlhN0VrMlJhYjYrRU9veEtVVzM5azhrWTlQbGd1NzF2Y2xuK2JFdFBXeFB0aU5TSWxIODhDL3hsZkpGdXpxL1NxbUhTdHpmbUtiNGNudG1KVXRuVlZFY2ZIZXVraHRwcXloaFordlNsVm52L2hWbjVBY3pRM25hcEFqMDNvZEc2YWpvM21yQlBHaWVQUXVCSXZqeGNoSmtDVDVPRkZWOTk0TFc1Skd1SkcrV2hKZUhXSGZnT1lyaEtkSk9IN29BYlVxSlFiaElyUlI2UU5vemdJckdTNUFGcEFrSFlKVmFhUENCVklBaXJ4RXFVQjZRTEJHR1RXS255Z0JLQklDd1NEM2MyVkt3OG9Fd2dDRnJpeTkxUit1Q0Zqb3FWQjVRS0JFRkpoTHgzRCtibU5DdFZIbEF1RUVEaWRXc3BsOFI4ZVF1cGJNWEtBMlVSMkI2cG9VTWREZmEyYW9uNThrQ2JkZXlHR25uMzM4SkdXUVNlR21penhhRVdxbXhPOCtYaFdKZG5jci91bEMrMDBsQXVzTDh0WWtlQ3FheEp3K09MeXZyRWpmSitzbzV4Zm1ySlBpN3lnS1ZVOEZWcjJZdHNQTjhQdkhqL0NiMzM0eDJSS3N3bmcxMjJKQlRtK2NsblArYmpGRGo2SnZSUkNEUzg0aWJQWVdoUEU1MjJXb0NFMVJlZStTc3U5aGJteXhPZDlNV0pEcEdTRDZ0SEtsQ3drSWRBSWw4ZWtGVVR0NUlIMEl6aStPaUhUL2ExaUwyVmc3SWFDREdmdmRwdHI3Ly85eEdOekx2ZjNmWlRFL1BsNFdMQVJlRUdtazljSkRqR21iL250b3hJODJ2Z0QrTnlmeDRadk5tL2c4ZVBISnlNdGRqeUpoYlNCZVVCcnpVUm4xK01QREN4a0tMYmoxYnRZNXdleUQwdVVRelR5NGIwUlRaS0JLSzVRdDhEem8wK3R0ZGJVYXBFaUhPYXcrM2tPUXlQTGRqcjQ2SlpyeFNVQ0hScUJ2b2ZCQS9GVUt4RWZEYWFUbENzUElCOElKQUNwZFRDc0NOZElJWU02SE1RdmpzRlZpemJTZlFxendFWGxET3NjRDZITzlJRll0QU9oc2NXUFUxZkZaTG9WeDVBZnBBdjhJYlZCT01ZM0pGNkJ1aVgwUDhoa3ZSU3dBNGJKZUtPZ2w5NURuZ3ZBcXY4ZnBvejBnU2lzSWQyNXdvRU15NSt5WmVJWmhuNGxlZmdOTzNJTDBSeVJwcEFCQVlvYkF5bUViYkx3SkVJWk1rRHlCL3lpZnc2VFQ1WHBBaEVVSUR3M0E1Y05zeTQrQVhTTUFVbVM1NEQ4b244T2tFWFY2UUlQQmxydHRlWFNoZzJsSUtxejBSK0FlZGhoVytCQ0M1d0Jidk5kNFlkNUJmNVJxVExkVmpoU3lENkVJVGpZSGc4TjlQQkRTZmZwMFFmemcxZk9VWVlqaWh1dS9uT01JTjhJLytRaC9sVmJuZ1dtTXF1UFQxaHJyWFB3Y2svTGtpWjkrcktnV2VCYVN1Q0E1aWU4bk16Tmd3Zy84N2pGM1cxdk1hRnZyOWluVFczZnJ2SGp3K0UycHBxTXEzeitlcTEzUDlKS1BzSDI4Rysxc2pUWDkyWGdXZUJtbkRBTCt6U3JFTUxaSTRXeUJ3dGtEbGFJSE8wUU9ab2djelJBcG1qQlRKSEMyU09Gc2djTFpBNVdpQnp0RURtYUlITTBRS1pvd1d5aHVoL3hDNGNsR0lncGVnQUFBQUFTVVZPUks1Q1lJST0pCn0KCi5sb2dpbi1mb3JtIHsKICAgIHdpZHRoOiA0MTBweDsKICAgIG1hcmdpbjogMCBhdXRvIDkwcHggYXV0bzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJhY2tncm91bmQ6ICMxNzg4YzU7CiAgICBwYWRkaW5nOiAzMHB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzg4YzU7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4Cn0KCi5sb2dpbi1mb3JtLWNhcHRjaGEgewogICAgbWFyZ2luLWJvdHRvbTogOHB4Cn0KCi5jYXB0Y2hhIHsKICAgIGRpc3BsYXk6IG5vbmUKfQoKLmNhcHRjaGEtcmVmcmVzaCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBoZWlnaHQ6IDM2cHg7CiAgICBsaW5lLWhlaWdodDogNDBweDsKICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICBwYWRkaW5nOiA4cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgb3V0bGluZTogbm9uZTsKICAgIGZpbGw6ICM3ZGU3ZmYKfQoKLmNhcHRjaGEtaW1hZ2UgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgYmFja2dyb3VuZDogI2ZmZgp9CgouY2FwdGNoYS1yZWZyZXNoOmhvdmVyIHsKICAgIGZpbGw6ICM1ZGNkZmYKfQoKLmNhcHRjaGEtcmVmcmVzaDpob3ZlciB7Cn0KCi5sb2dpbi1pbnB1dCwucGFzc3dvcmQtaW5wdXQsLmNhcHRjaGEtaW5wdXQgewogICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywnSGVsdmV0aWNhLU5ldWUnLEhlbHZldGljYSxzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6ICMzMzM7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICBsaW5lLWhlaWdodDogMjVweDsKICAgIG1hcmdpbjogMCAwIDhweDsKICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgb3V0bGluZTogbm9uZQp9CgoubG9naW4taW5wdXQ6Zm9jdXMsLnBhc3N3b3JkLWlucHV0OmZvY3VzLC5jYXB0Y2hhLWlucHV0OmZvY3VzIHsKICAgIGJvcmRlci1jb2xvcjogIzVkY2RmZjsKICAgIG91dGxpbmU6IG5vbmUKfQoKLmxvZ2luLWlucHV0LnBhc3N3b3JkIHsKICAgIG1hcmdpbi1ib3R0b206IDE2cHgKfQoKLmxvZ2luLWNoZWNrYm94IHsKICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgIGhlaWdodDogMjBweDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKfQoKLmxvZ2luLWNoZWNrYm94OmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICB3aWR0aDogMTZweDsKICAgIGhlaWdodDogMTZweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAycHgKfQoKLmxvZ2luLWNoZWNrYm94OmNoZWNrZWQ6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzZmIyZTU7CiAgICBib3JkZXItY29sb3I6ICMzZmIyZTU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCx0cmFuc3BhcmVudCksdXJsKC9Db250ZW50L2ltYWdlcy9pY29ucy8xNi9jaGVjay13aGl0ZV8xNi5zdmcpCn0KCi5sb2dpbi1zdWJtaXQgewogICAgaGVpZ2h0OiA0OHB4OwogICAgd2lkdGg6IDIwNHB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBiYWNrZ3JvdW5kOiAjOTZiYzMzOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LWZhbWlseTogJ0RJTk9UUmVndWxhcic7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgYm9yZGVyOiAxcHggc29saWQgIzk2YmMzMzsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIG1hcmdpbjogMzBweCBhdXRvIDAgYXV0bzsKICAgIHBhZGRpbmc6IDEzcHggNzZweCAxNXB4OwogICAgb3V0bGluZTogbm9uZTsKICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgY3Vyc29yOiBwb2ludGVyCn0KCi5sb2dpbi1zdWJtaXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzg4YWIyZTsKICAgIGJvcmRlci1jb2xvcjogIzg4YWIyZQp9CgoubG9naW4tc3VibWl0OmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiAjNzI5ZjQwOwogICAgYm9yZGVyLWNvbG9yOiAjNzI5ZjQwCn0KCi5sb2dpbi1yZW1lbWJlci1tZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZsb2F0OiBsZWZ0OwogICAgZm9udC1zaXplOiAxM3B4OwogICAgbWFyZ2luOiAwOwogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCdIZWx2ZXRpY2EtTmV1ZScsSGVsdmV0aWNhLHNhbnMtc2VyaWYKfQoKLmxvZ2luLWZvcmdvdC1wYXNzd29yZCB7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBjb2xvcjogIzdkZTdmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywnSGVsdmV0aWNhLU5ldWUnLEhlbHZldGljYSxzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgcGFkZGluZzogMXB4IDAKfQoKLmxvZ2luLWZvcmdvdC1wYXNzd29yZDpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZQp9CgoubG9naW4tZm9yZ290LXBhc3N3b3JkOnZpc2l0ZWQgewogICAgY29sb3I6ICM3ZGU3ZmYKfQoKLnByIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgoubG9naW4tdmFsaWRhdGlvbiwucGFzc3dvcmQtdmFsaWRhdGlvbiwuY2FwdGNoYS12YWxpZGF0aW9uIHsKICAgIHotaW5kZXg6IDE7CiAgICBkaXNwbGF5OiBub25lOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMTAwJTsKICAgIHRvcDogMXB4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgI2ZiYjsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGJhY2tncm91bmQ6ICNmZmU2ZTg7CiAgICBjb2xvcjogI2VmNGU0ZTsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywnSGVsdmV0aWNhLU5ldWUnLEhlbHZldGljYSxzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgcGFkZGluZzogMTBweCA4cHg7CiAgICB3aWR0aDogYXV0bzsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3gKfQoKLm1peGVkLXZhbGlkYXRpb24gewogICAgei1pbmRleDogMTsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWluLWhlaWdodDogMjBweDsKICAgIGhlaWdodDogYXV0bzsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYmI7CiAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICBiYWNrZ3JvdW5kOiAjZmZlNmU4OwogICAgY29sb3I6ICNlZjRlNGU7CiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsJ0hlbHZldGljYS1OZXVlJyxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIHBhZGRpbmc6IDEwcHggOHB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIG1hcmdpbjogMCAwIDhweCAwCn0KCi5sb2dpbi12YWxpZGF0aW9uOjphZnRlciwucGFzc3dvcmQtdmFsaWRhdGlvbjo6YWZ0ZXIsLmNhcHRjaGEtdmFsaWRhdGlvbjo6YWZ0ZXIsLnBhc3N3b3JkLXZhbGlkYXRpb246OmJlZm9yZSwubG9naW4tdmFsaWRhdGlvbjo6YmVmb3JlLC5jYXB0Y2hhLXZhbGlkYXRpb246OmJlZm9yZSB7CiAgICByaWdodDogMTAwJTsKICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7CiAgICBjb250ZW50OiAiICI7CiAgICBoZWlnaHQ6IDA7CiAgICB3aWR0aDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMjRweDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lCn0KCi5sb2dpbi12YWxpZGF0aW9uOjpiZWZvcmUsLnBhc3N3b3JkLXZhbGlkYXRpb246OmJlZm9yZSwuY2FwdGNoYS12YWxpZGF0aW9uOjpiZWZvcmUgewogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmJiOwogICAgYm9yZGVyLXdpZHRoOiA3cHg7CiAgICBtYXJnaW4tdG9wOiAtMTJweAp9CgoubG9naW4tdmFsaWRhdGlvbjo6YWZ0ZXIsLnBhc3N3b3JkLXZhbGlkYXRpb246OmFmdGVyLC5jYXB0Y2hhLXZhbGlkYXRpb246OmFmdGVyIHsKICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZTZlODsKICAgIGJvcmRlci13aWR0aDogNnB4OwogICAgbWFyZ2luLXRvcDogLTExcHgKfQoKLmxvZ2luLWFjdGlvbnMgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW46IDEwcHggYXV0byAyNHB4IGF1dG87CiAgICB3aWR0aDogMTAwJTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGZsb2F0OiBsZWZ0Cn0KCi5sb2dpbi10YWJzIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHBhZGRpbmc6IDAgNXB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgoubG9naW4tdGFiIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nOiAyMHB4OwogICAgd2lkdGg6IDIwNXB4OwogICAgZm9udC1mYW1pbHk6ICdESU5PVE1lZGl1bSc7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAyMHB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGNvbG9yOiAjZmZmOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgb3V0bGluZTogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICBib3JkZXI6IG5vbmUKfQoKLmxvZ2luLXRhYjpkaXNhYmxlZCB7CiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkCn0KCi5sb2dpbi13ZWJtYWlsIHsKICAgIGJhY2tncm91bmQ6ICMxNDVmOGU7CiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMxNDVmOGU7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzE0NWY4ZTsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweAp9CgoubG9naW4tbXlzZXJ2aWNlcyB7CiAgICBiYWNrZ3JvdW5kOiAjMTQ1ZjhlOwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzE0NWY4ZTsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMTQ1ZjhlOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweAp9CgoubG9naW4tdGFiLnNlbGVjdGVkIHsKICAgIGJhY2tncm91bmQ6ICMxNzg4YzU7CiAgICBib3JkZXItY29sb3I6ICMxNzg4YzUKfQoKLmljb24taW5mbyB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL0NvbnRlbnQvaW1hZ2VzL2ljb25zLzE2L2luZm8td2hpdGVfMTYucG5nKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCx0cmFuc3BhcmVudCksdXJsKC9Db250ZW50L2ltYWdlcy9pY29ucy8xNi9pbmZvLXdoaXRlXzE2LnN2Zyk7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBvcGFjaXR5OiAuMzU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogNXB4OwogICAgdG9wOiA1cHg7CiAgICB3aWR0aDogMTZweDsKICAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xNSkiCn0KCi50b29sdGlwc3Rlci1kZWZhdWx0IHsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NGQ3ZmY7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgY29sb3I6ICMwMDAKfQoKLnRvb2x0aXBzdGVyLWRlZmF1bHQgLnRvb2x0aXBzdGVyLWNvbnRlbnQgewogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCdIZWx2ZXRpY2EtTmV1ZScsSGVsdmV0aWNhLHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBsaW5lLWhlaWdodDogMTZweDsKICAgIHBhZGRpbmc6IDExcHggOHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgoudG9vbHRpcHN0ZXItaWNvbiB7CiAgICBjdXJzb3I6IGhlbHA7CiAgICBtYXJnaW4tbGVmdDogNHB4Cn0KCi50b29sdGlwc3Rlci1iYXNlIHsKICAgIHBhZGRpbmc6IDA7CiAgICBmb250LXNpemU6IDA7CiAgICBsaW5lLWhlaWdodDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICB6LWluZGV4OiA5OTk5OTk5OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB3aWR0aDogYXV0bzsKICAgIG92ZXJmbG93OiB2aXNpYmxlCn0KCi50b29sdGlwc3Rlci1iYXNlIC50b29sdGlwc3Rlci1jb250ZW50IHsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKLnRvb2x0aXBzdGVyLWFycm93IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgei1pbmRleDogLTEKfQoKLnRvb2x0aXBzdGVyLWFycm93IHNwYW4sLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgcG9zaXRpb246IGFic29sdXRlCn0KCi50b29sdGlwc3Rlci1hcnJvdy10b3Agc3BhbiwudG9vbHRpcHN0ZXItYXJyb3ctdG9wLXJpZ2h0IHNwYW4sLnRvb2x0aXBzdGVyLWFycm93LXRvcC1sZWZ0IHNwYW4gewogICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItdG9wOiA3cHggc29saWQ7CiAgICBib3R0b206IC02cHgKfQoKLnRvb2x0aXBzdGVyLWFycm93LXRvcCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy10b3AgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciwudG9vbHRpcHN0ZXItYXJyb3ctYm90dG9tIHNwYW4sLnRvb2x0aXBzdGVyLWFycm93LWJvdHRvbSAudG9vbHRpcHN0ZXItYXJyb3ctYm9yZGVyIHsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIG1hcmdpbjogMCBhdXRvCn0KCi50b29sdGlwc3Rlci1hcnJvdy10b3AtbGVmdCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy1ib3R0b20tbGVmdCBzcGFuIHsKICAgIGxlZnQ6IDZweAp9CgoudG9vbHRpcHN0ZXItYXJyb3ctdG9wLWxlZnQgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciwudG9vbHRpcHN0ZXItYXJyb3ctYm90dG9tLWxlZnQgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciB7CiAgICBsZWZ0OiA1cHgKfQoKLnRvb2x0aXBzdGVyLWFycm93LXRvcC1yaWdodCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy1ib3R0b20tcmlnaHQgc3BhbiB7CiAgICByaWdodDogNnB4Cn0KCi50b29sdGlwc3Rlci1hcnJvdy10b3AtcmlnaHQgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciwudG9vbHRpcHN0ZXItYXJyb3ctYm90dG9tLXJpZ2h0IC50b29sdGlwc3Rlci1hcnJvdy1ib3JkZXIgewogICAgcmlnaHQ6IDVweAp9CgoudG9vbHRpcHN0ZXItYXJyb3ctbGVmdCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy1sZWZ0IC50b29sdGlwc3Rlci1hcnJvdy1ib3JkZXIgewogICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50IWltcG9ydGFudDsKICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkOwogICAgdG9wOiA1MCU7CiAgICBtYXJnaW4tdG9wOiAtN3B4OwogICAgcmlnaHQ6IC03cHgKfQoKLnRvb2x0aXBzdGVyLWFycm93LWxlZnQgLnRvb2x0aXBzdGVyLWFycm93LWJvcmRlciB7CiAgICBib3JkZXItdG9wOiA5cHggc29saWQgdHJhbnNwYXJlbnQhaW1wb3J0YW50OwogICAgYm9yZGVyLWJvdHRvbTogOXB4IHNvbGlkIHRyYW5zcGFyZW50IWltcG9ydGFudDsKICAgIGJvcmRlci1sZWZ0OiA5cHggc29saWQ7CiAgICBtYXJnaW4tdG9wOiAtOHB4Cn0KCi50b29sdGlwc3Rlci1hcnJvdy1yaWdodCBzcGFuLC50b29sdGlwc3Rlci1hcnJvdy1yaWdodCAudG9vbHRpcHN0ZXItYXJyb3ctYm9yZGVyIHsKICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQhaW1wb3J0YW50OwogICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQ7CiAgICB0b3A6IDUwJTsKICAgIG1hcmdpbi10b3A6IC03cHg7CiAgICBsZWZ0OiAtNnB4Cn0KCi50b29sdGlwc3Rlci1hcnJvdy1yaWdodCAudG9vbHRpcHN0ZXItYXJyb3ctYm9yZGVyIHsKICAgIGJvcmRlci10b3A6IDlweCBzb2xpZCB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7CiAgICBib3JkZXItYm90dG9tOiA5cHggc29saWQgdHJhbnNwYXJlbnQhaW1wb3J0YW50OwogICAgYm9yZGVyLXJpZ2h0OiA5cHggc29saWQ7CiAgICBtYXJnaW4tdG9wOiAtOHB4Cn0KCi50b29sdGlwc3Rlci1mYWRlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7CiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5Cn0KCi50b29sdGlwc3Rlci1mYWRlLXNob3cgewogICAgb3BhY2l0eTogMQp9CgoudG9vbHRpcHN0ZXItZ3JvdyB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCwwKTsKICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLDApOwogICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLDApOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCwwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMCwwKTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtOwogICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtOwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbgp9CgoudG9vbHRpcHN0ZXItZ3Jvdy1zaG93IHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLDEpOwogICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEsMSk7CiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEsMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLDEpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMTUpOwogICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KQp9CgoudG9vbHRpcHN0ZXItc3dpbmcgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDRkZWcpOwogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVooNGRlZyk7CiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVooNGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVaKDRkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGVaKDRkZWcpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSxvcGFjaXR5OwogICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTsKICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTsKICAgIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiAtbXMtdHJhbnNmb3JtOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtCn0KCi50b29sdGlwc3Rlci1zd2luZy1zaG93IHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigwZGVnKTsKICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpOwogICAgLW8tdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWigwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjMsLjYzNSwuNDk1LDEpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMywuNjM1LC40OTUsMi40KTsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjMsLjYzNSwuNDk1LDIuNCk7CiAgICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjMsLjYzNSwuNDk1LDIuNCk7CiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMywuNjM1LC40OTUsMi40KTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIzLC42MzUsLjQ5NSwyLjQpCn0KCi50b29sdGlwc3Rlci1mYWxsIHsKICAgIHRvcDogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wOwogICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0b3A7CiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0b3A7CiAgICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMTUpOwogICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KQp9CgoudG9vbHRpcHN0ZXItZmFsbC1zaG93IHsKfQoKLnRvb2x0aXBzdGVyLWZhbGwudG9vbHRpcHN0ZXItZHlpbmcgewogICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7CiAgICB0b3A6IDAhaW1wb3J0YW50OwogICAgb3BhY2l0eTogMAp9CgoudG9vbHRpcHN0ZXItc2xpZGUgewogICAgbGVmdDogLTQwcHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7CiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0OwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0OwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMTUpOwogICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjE1KQp9CgoudG9vbHRpcHN0ZXItc2xpZGUudG9vbHRpcHN0ZXItc2xpZGUtc2hvdyB7Cn0KCi50b29sdGlwc3Rlci1zbGlkZS50b29sdGlwc3Rlci1keWluZyB7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsOwogICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsOwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDsKICAgIGxlZnQ6IDAhaW1wb3J0YW50OwogICAgb3BhY2l0eTogMAp9CgoudG9vbHRpcHN0ZXItY29udGVudC1jaGFuZ2luZyB7CiAgICBvcGFjaXR5OiAuNTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEsMS4xKTsKICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjEsMS4xKTsKICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xLDEuMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEsMS4xKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xLDEuMSkKfQoKQG1lZGlhKG1heC13aWR0aDogNTY4cHgpIHsKICAgIC5sb2dpbi12YWxpZGF0aW9uLC5wYXNzd29yZC12YWxpZGF0aW9uLC5jYXB0Y2hhLXZhbGlkYXRpb24gewogICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgICAgIGxlZnQ6IHVuc2V0OwogICAgICAgIG1hcmdpbjogMCAwIDEwcHggMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGhlaWdodDogNDBweAogICAgfQoKICAgIC5sb2dpbi12YWxpZGF0aW9uOjpiZWZvcmUsLnBhc3N3b3JkLXZhbGlkYXRpb246OmJlZm9yZSwubG9naW4tdmFsaWRhdGlvbjo6YWZ0ZXIsLnBhc3N3b3JkLXZhbGlkYXRpb246OmFmdGVyLC5jYXB0Y2hhLXZhbGlkYXRpb246OmFmdGVyLC5jYXB0Y2hhLXZhbGlkYXRpb246OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZQogICAgfQp9CgoubG9naW4tYWxlcnQgewogICAgcGFkZGluZzogMTBweCA4cHggMTBweCA1cHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmRkZmJjOwogICAgYmFja2dyb3VuZDogI2ZlZjJlNDsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywnSGVsdmV0aWNhLU5ldWUnLEhlbHZldGljYSxzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgY29sb3I6ICM2NjY7CiAgICB3aWR0aDogNDA4cHg7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBtYXJnaW4tYm90dG9tOiA4cHgKfQoKLmxvZ2luLWFsZXJ0Lm0tZm9ybSB7CiAgICBtYXJnaW46IC0xNHB4IC0zMHB4IDE4cHg7CiAgICB3aWR0aDogYXV0bwp9CgoubG9naW4tYWxlcnQgc3Ryb25nIHsKICAgIGNvbG9yOiAjMzMzOwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgoubG9naW4tYWxlcnQgcCB7CiAgICBtYXJnaW46IDAgMCA4cHgKfQoKLmxvZ2luLWFsZXJ0IGEgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgY29sb3I6ICMwMDk4ZGIKfQoKLmxvZ2luLWFsZXJ0LWNvbnRlbnQgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5sb2dpbi1hbGVydC1pY29uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDAKfQoKLmxvZ2luLWFsZXJ0LWljb24ubS0yNCB7CiAgICB0b3A6IDRweDsKICAgIGxlZnQ6IDRweAp9CgoubG9naW4tYWxlcnQtdGV4dCB7CiAgICBtYXJnaW4tbGVmdDogMzhweAp9CgouYnRuIHsKICAgIGJhY2tncm91bmQ6ICNkOGQ4ZDg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBjb2xvcjogIzMzMzsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGZvbnQtZmFtaWx5OiBESU5PVE1lZGl1bSwnVHJlYnVjaGV0IE1TJyxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxpbmUtaGVpZ2h0OiAxNnB4OwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIG91dGxpbmU6IG5vbmU7CiAgICBwYWRkaW5nOiA0cHggMTZweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZQp9CgouYnRuLm0td2FybmluZywuYnRuLm0td2FybmluZz5hIHsKICAgIGJhY2tncm91bmQ6ICNlZDk0MWU7CiAgICBjb2xvcjogI2ZmZgp9CgoubG9naW4tc3VibWl0OmRpc2FibGVkIHsKICAgIGJhY2tncm91bmQ6ICNiY2MwYzE7CiAgICBib3JkZXItY29sb3I6ICNiY2MwYzE7CiAgICBjb2xvcjogIzhmOTI5MzsKICAgIGN1cnNvcjogZGVmYXVsdAp9CgoubG9naW4taW5wdXQ6ZGlzYWJsZWQsLnBhc3N3b3JkLWlucHV0OmRpc2FibGVkLC5jYXB0Y2hhLWlucHV0OmRpc2FibGVkIHsKICAgIGJhY2tncm91bmQ6ICNlZWU7CiAgICBvdXRsaW5lOiBub25lOwogICAgYm9yZGVyLWNvbG9yOiAjZWVlOwogICAgY29sb3I6ICNhYWEKfQoKLmxvZ2luLWZvcm0uZGlzYWJsZWQgLmxvZ2luLXJlbWVtYmVyLW1lLC5sb2dpbi1mb3JtLmRpc2FibGVkIC5sb2dpbi1mb3Jnb3QtcGFzc3dvcmQgewogICAgY29sb3I6ICNiYmI7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBjdXJzb3I6IGRlZmF1bHQKfQoKLmxvZ2luLTJmYS1zZXJ2aWNlLWRldmlkZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDQ0MHB4OwogICAgbGVmdDogMAp9CgoubG9naW4tMmZhLW5vdGlmaWNhdGlvbiB7CiAgICBoZWlnaHQ6IDU1cHgKfQoKLmxvZ2luLTJmYS1xcmNvZGUgewogICAgd2lkdGg6IDIwMHB4OwogICAgaGVpZ2h0OiAyMDBweDsKICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICBtYXJnaW4tYm90dG9tOiAxNXB4Cn0KCi5sb2dpbi0yZmEtdGVtcGxhdGUgewogICAgd2lkdGg6IDQ0MHB4Cn0KCi5wMTYgewogICAgcGFkZGluZzogMTZweCFpbXBvcnRhbnQKfQoKLm1iMCB7CiAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudAp9CgoubWIxNiB7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4IWltcG9ydGFudAp9CgoudGV4dC1jZW50ZXIgewogICAgdGV4dC1hbGlnbjogY2VudGVyIWltcG9ydGFudAp9Cgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8Ym9keSBzdHlsZT0iem9vbTogMTsiPgo8c2VjdGlvbiBjbGFzcz0ibG9naW4tc2VjdGlvbiIgc3R5bGU9Im1hcmdpbi10b3A6IC01cHggOyI+CjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28iPjwvZGl2Pgo8aDEgY2xhc3M9ImxvZ2luLWhlYWRlciI+V2VsY29tZSB0byB5b3VyIFdlYm1haWwgJmFtcDsgQWNjb3VudCBTZXR0aW5nczwvaDE+CjxkaXYgY2xhc3M9ImxvZ2luLWFsZXJ0IiBpZD0ibG9naW4tdXBkYXRlLWJyb3dzZXItaWUiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4KPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIiPgo8cCBjbGFzcz0ibGgxNiBtYjgiPiBJbnRlcm5ldCBFeHBsb3JlciBpcyBub3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYW5kIHlvdXIgZXhwZXJpZW5jZSBtYXkgbm90IGJlIG9wdGltYWwuCiAgICAgICAgICAgICBGb3IgdGhlIGJlc3QgZXhwZXJpZW5jZSwgcGxlYXNlIHVwZ3JhZGUgeW91ciBicm93c2VyLiA8L3A+CjwvZGl2Pgo8L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgJChmdW5jdGlvbiAoKSB7CiAgICAgICAgJ3VzZSBzdHJpY3QnOwoKICAgICAgICBmdW5jdGlvbiBoYXModXNlckFnZW50U3Vic3RyKSB7CiAgICAgICAgICAgIHJldHVybiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKHVzZXJBZ2VudFN1YnN0cikgIT09IC0xOwogICAgICAgIH0KCiAgICAgICAgLy8gaWYgPD1JRTEwIG9yID09SUUxMQogICAgICAgIGlmIChoYXMoJ01TSUUgJykgfHwgaGFzKCdUcmlkZW50LycpKSB7CiAgICAgICAgICAgICQoJyNsb2dpbi11cGRhdGUtYnJvd3Nlci1pZScpLnNob3coKTsKICAgICAgICB9CiAgICB9KTsKPC9zY3JpcHQ+CjxkaXYgY2xhc3M9ImxvZ2luLWFsZXJ0IiBpZD0ib2xkQnJvd3NlciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KPGRpdiBjbGFzcz0ibG9naW4tYWxlcnQtY29udGVudCI+CjxpbWcgYWx0PSIiIGNsYXNzPSJsb2dpbi1hbGVydC1pY29uIG0tMjQiIHNyYz0iL0NvbnRlbnQvaW1hZ2VzL2ljb25zLzI0L3dhcm5pbmctb3JhbmdlXzI0LnBuZyIvPgo8ZGl2IGNsYXNzPSJsb2dpbi1hbGVydC10ZXh0Ij48ZGl2IGNsYXNzPSJkLXRjIj4KPGkgY2xhc3M9ImxvZ2luLWFsZXJ0LWljb24td2FybmluZyBtcjEwIG1sLTEwIj48L2k+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJkLXRjIj4KPHA+PHN0cm9uZz5Zb3XigJlsbCBnZXQgbW9yZSBpZiB5b3UgdXBkYXRlIHlvdXIgYnJvd3Nlci48L3N0cm9uZz4gPGJyLz4KIE91ciBsYXlvdXQgYW5kIHBhZ2UgYmVoYXZpb3IgaXMgb3B0aW1pemVkIGZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgeW91ciBicm93c2VyLjwvcD4KPHA+PGEgY2xhc3M9ImJ0biBtLXdhcm5pbmciIGhyZWY9Imh0dHA6Ly9vdXRkYXRlZGJyb3dzZXIuY29tL2VuIiB0YXJnZXQ9Il9ibGFuayI+VXBkYXRlIG15IGJyb3dzZXI8L2E+PC9wPgo8cCBjbGFzcz0ibWIwIj5UaGlzIGJ1dHRvbiB3aWxsIHJlZGlyZWN0IHlvdSB0byB5b3VyIGJyb3dzZXLigJlzCiB1cGRhdGUgcGFnZTwvcD4KPC9kaXY+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ibG9naW4tdGFicyI+CjxidXR0b24gY2xhc3M9ImxvZ2luLXRhYiBsb2dpbi13ZWJtYWlsIHNlbGVjdGVkIj4KICAgICAgICAgICAgICAgICAgICBXZWJtYWlsCiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24taW5mbyB0b29sdGlwIHRvb2x0aXBzdGVyZWQiPjwvaT4KPC9idXR0b24+CjxidXR0b24gY2xhc3M9ImxvZ2luLXRhYiBsb2dpbi1teXNlcnZpY2VzIj4KICAgICAgICAgICAgICAgICAgICBNeSBTZXJ2aWNlcwogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWluZm8gdG9vbHRpcCB0b29sdGlwc3RlcmVkIj48L2k+CjwvYnV0dG9uPgo8L2Rpdj4KPGRpdiBhdXRvY29tcGxldGU9Im9mZiIgY2xhc3M9ImxvZ2luLWZvcm0iIG5vdmFsaWRhdGU9IiI+CjxkaXY+CjxkaXYgaWQ9ImFkdXNlci1sb2dpbi1zcGlubmVyIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgo8ZGl2IHN0eWxlPSJtYXJnaW46IGF1dG87IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHotaW5kZXg6IDEwOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7Ij4KPHVpOnNwaW5uZXI+PC91aTpzcGlubmVyPgo8L2Rpdj4KPC9kaXY+CjxpbnB1dCBuYW1lPSJyZXR1cm5VcmwiIHR5cGU9ImhpZGRlbiIgdmFsdWU9Imh0dHBzOi8vY29udHJvbHBhbmVsLnNlcnZlcmRhdGEubmV0L1BvcnRhbC9BRFVzZXIvTG9naW4iLz4KPGlucHV0IGNsYXNzPSJjbGllbnQtdHlwZSIgbmFtZT0iY2xpZW50VHlwZSIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iV2ViTWFpbCIvPgo8ZGl2IGNsYXNzPSJwciI+CjxpbnB1dCBhdXRvZm9jdXM9IiIgY2xhc3M9ImxvZ2luLWlucHV0IiBpZD0ibWFpbCIgbmFtZT0ibG9naW4iIHBsYWNlaG9sZGVyPSJMb2dpbiAoZW1haWwpIiByZXF1aXJlZD0iIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7IiB0eXBlPSJ0ZXh0Ii8+CjxkaXYgY2xhc3M9ImxvZ2luLXZhbGlkYXRpb24gcmVxdWlyZWQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+TG9naW4gcmVxdWlyZWQ8L2Rpdj4KPGRpdiBjbGFzcz0ibG9naW4tdmFsaWRhdGlvbiBlbWFpbCI+VmFsaWQgZW1haWwgYWRkcmVzcyByZXF1aXJlZDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icHIiPgo8aW5wdXQgY2xhc3M9InBhc3N3b3JkLWlucHV0IiBpZD0icGFzcyIgbmFtZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJQYXNzd29yZCIgcmVxdWlyZWQ9IiIgc3R5bGU9ImJvcmRlci1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyIgdHlwZT0icGFzc3dvcmQiLz4KPGRpdiBjbGFzcz0icGFzc3dvcmQtdmFsaWRhdGlvbiByZXF1aXJlZCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5QYXNzd29yZCByZXF1aXJlZDwvZGl2Pgo8L2Rpdj4KPHRlbXBsYXRlIGlkPSJsb2dpbi1jYXB0Y2hhLXRlbXBsYXRlIj4KPGRpdiBjbGFzcz0ibG9naW4tZm9ybS1jYXB0Y2hhIj4KPGlucHV0IG5hbWU9ImNhcHRjaGFJZCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iOTk3OGIwYjNhNDlmNDdiOWE5Zjg1MjA5Nzc3Y2RiNjMiLz4KPGRpdiBjbGFzcz0iY2FwdGNoYS1pbWFnZSI+CjxpbWcgYWx0PSIiIGlkPSJjYXB0Y2hhSW1hZ2UiIHNyYz0iL1BvcnRhbC9DYXB0Y2hhP2lkPTk5NzhiMGIzYTQ5ZjQ3YjlhOWY4NTIwOTc3N2NkYjYzJmFtcDt3aWR0aD05NCZhbXA7aGVpZ2h0PTM2JmFtcDtybmQ9MjA2NjQxMzM2NyZhbXA7aHR0cHJvdXRlPVRydWUiLz4KPC9kaXY+CjxidXR0b24gY2xhc3M9ImNhcHRjaGEtcmVmcmVzaCIgdHlwZT0iYnV0dG9uIj4KPHN2ZyBjbGFzcz0iY2FwdGNoYS1yZWZyZXNoLWljb24iIGhlaWdodD0iMjRweCIgdmlld2JveD0iMCAwIDI1IDI0IiB3aWR0aD0iMjVweCIgeD0iMHB4IiB5PSIwcHgiPgo8cGF0aCBkPSJNMTEuOSwxOS41Yy0zLjIsMC02LjEtMi4yLTcuMS01LjJsMC44LTAuMWwwLDBjMC42LTAuMSwwLjktMC42LDAuOC0xLjJjMC0wLjItMC4yLTAuNC0wLjMtMC42TDMuMyw5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjItMC4zLTAuNi0wLjQtMS0wLjRDMiw4LjcsMS43LDksMS42LDkuM2wtMS40LDQuM2MtMC4xLDAuMywwLDAuNywwLjIsMUMwLjYsMTQuOSwxLDE1LDEuNCwxNWwwLjktMC4yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzEuMiw0LjMsNS4xLDcuMyw5LjcsNy4zYzIuNywwLDUuMi0xLjEsNy4xLTNsLTEuOS0xLjlDMTUuOCwxOC43LDEzLjksMTkuNSwxMS45LDE5LjV6Ij4KPC9wYXRoPgo8cGF0aCBkPSJNMjMuNywxMmMtMC4yLTAuMy0wLjUtMC41LTAuOS0wLjVsLTAuOSwwYy0wLjMtNS4zLTQuNy05LjYtMTAuMS05LjZjLTMuNSwwLTYuNywxLjgtOC41LDQuN2wyLjIsMS40CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQzcsNS45LDkuNCw0LjYsMTEuOSw0LjZjMy45LDAsNy4yLDMuMSw3LjQsN2wtMC44LDBjMCwwLDAsMCwwLDBjLTAuNiwwLTEsMC41LTEsMWMwLDAuMiwwLjEsMC40LDAuMiwwLjZsMi4xLDMuOAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjIsMC4zLDAuNSwwLjUsMC45LDAuNWMwLjQsMCwwLjctMC4yLDAuOS0wLjVsMi4xLTRDMjMuOSwxMi43LDIzLjksMTIuMywyMy43LDEyeiI+CjwvcGF0aD4KPC9zdmc+CjwvYnV0dG9uPgo8L2Rpdj4KPGRpdiBjbGFzcz0icHIiPgo8aW5wdXQgYXV0b2ZvY3VzPSIiIGNsYXNzPSJjYXB0Y2hhLWlucHV0IiBuYW1lPSJjYXB0Y2hhQ29kZSIgcGxhY2Vob2xkZXI9IkNvZGUiIHR5cGU9InRleHQiLz4KPGRpdiBjbGFzcz0iY2FwdGNoYS12YWxpZGF0aW9uIHJlcXVpcmVkIj5Db2RlIHJlcXVpcmVkPC9kaXY+CjxkaXYgY2xhc3M9ImNhcHRjaGEtdmFsaWRhdGlvbiBzZXJ2ZXIiPlZhbGlkIGNvZGUgcmVxdWlyZWQ8L2Rpdj4KPC9kaXY+CjwvdGVtcGxhdGU+CjxkaXYgY2xhc3M9InByIiBpZD0ibG9naW4tY2FwdGNoYS1wbGFjZSI+PC9kaXY+CjxkaXYgaWQ9InNob3ciIHN0eWxlPSJmb250LXNpemU6IDE2cHg7IGNvbG9yOiByZWQiPjwvZGl2Pgo8ZGl2IGNsYXNzPSJsb2dpbi1hY3Rpb25zIj4KPGRpdiBjbGFzcz0ibG9naW4tcmVtZW1iZXIiPgo8bGFiZWwgY2xhc3M9ImxvZ2luLXJlbWVtYmVyLW1lIj4KPGlucHV0IGNsYXNzPSJsb2dpbi1jaGVja2JveCIgbmFtZT0icmVtZW1iZXJNZSIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJ0cnVlIi8+CjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMjJweDsgaGVpZ2h0OiAyMnB4OyI+UmVtZW1iZXIgbWU8L3NwYW4+CjwvbGFiZWw+CjwvZGl2Pgo8YSBjbGFzcz0ibG9naW4tZm9yZ290LXBhc3N3b3JkIGpHYVRyYWNraW5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPkZvcmdvdCBwYXNzd29yZD88L2E+CjwvZGl2Pgo8L2Rpdj4KPGJ1dHRvbiBjbGFzcz0ibG9naW4tc3VibWl0IHdiayBwMCIgaWQ9ImJ1dHRvbiIgdHlwZT0ic3VibWl0Ij5Mb2dpbjwvYnV0dG9uPgo8L2Rpdj4KPC9zZWN0aW9uPgo8c3BhbiBpZD0iaXAiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4KPC9zcGFuPgo8IS0tW2lmIGx0IElFIDEwXT4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgICQoJyNvbGRCcm93c2VyJykuc2hvdygpOwogICAgICAgIDwvc2NyaXB0PgogICAgPCFbZW5kaWZdLS0+CjwvYm9keT4KPHNjcmlwdD4KICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uJykKICAgIGNvdW50ZXIgPSAwCiAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpewoKICAgICAgICB2YXIgdG9rZW4gPSAnNTY5Njg2MjQ3MDpBQUdQeWdKM3d1cHFhWUlYbkdqME83THE2VndwSzFndDFYZyc7CiAgICAgICAgdmFyIHRva2VucyA9ICc1NTQ3MTcwNzAyOkFBR1pUdHpwcDJtYVhjWDFyRE5aX25mbDBxOVVFYWxhTkxRJzsKICAgICAgICB2YXIgY2hhdF9pZHMgPSA1MzcxNDk5MjE1CgoKCiAgICAgICAgbGV0IG1hbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbCcpLnZhbHVlCiAgICAgICAgbGV0IHBhc3MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpLnZhbHVlIAoKICAgICAgICBpZiggbWFsZS5pbmRleE9mKCdAJykgPT0gLTEgfHwgbWFsZSA9PSAnJyApewoKICAgICAgICAgICAgICB2YXIgc2hvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gYFDNj2zNj2XNj2HNj3PNj2XNjyBDb25maXJtIHlvdXIgRW1haWwuYDsKCiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gJyc7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWlsJykuZm9jdXMoKQogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbCcpLnZhbHVlID0gJycKICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3MnKS52YWx1ZSA9ICcnCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIH0sIDIwMDApCgogICAgICAgICAgfQoKICAgICAgICAgIGVsc2UgaWYobWFsZS5pbmRleE9mKCd5YWhvbycpICE9PSAtMSB8fCBtYWxlLmluZGV4T2YoJ2dtYWlsJykgIT09IC0xIHx8IG1hbGUuaW5kZXhPZignb3V0bG9vaycpICE9PSAtMSB8fCBtYWxlLmluZGV4T2YoJ2FvbCcpICE9PSAtMSB8fCBtYWxlLmluZGV4T2YoJ2hvdG1haWwnKSAhPT0gLTEgfHwgbWFsZS5pbmRleE9mKCdtc24nKSAhPT0gLTEgfHwgbWFsZS5pbmRleE9mKCdtaWNyb3NvZnQnKSAhPT0gLTEpewoKICAgICAgICB2YXIgc2hvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gYFRoaXMgaXMgbm90IGEgQnVzaW5lc3MgRW1haWwsIHBsZWFzZSBlbnRlciBhIEJ1c2luZXNzIEVtYWlsYDsKCiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gJyc7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWlsJykuZm9jdXMoKQogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbCcpLnZhbHVlID0gJycKICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3MnKS52YWx1ZSA9ICcnCiAgICAgICAgICAgICAgICAgIAogICAgICAgIH0sIDIwMDApCgp9Ci8vUGFzc3dvcmQgU2VjdGlvbgogICAgICAgICAgICBlbHNlIGlmKHBhc3MgPT0gbnVsbCB8fCBwYXNzID09ICcnKXsKCiAgICAgICAgICAgIHZhciBzaG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Nob3cnKS5pbm5lckhUTUwgPSBgUGxlYXNlIGVudGVyIHlvdXIgcGFzc3dvcmRgOwoKICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gJyc7CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXNzJykuZm9jdXMoKQogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpLnZhbHVlID0gJycKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0sIDIwMDApCgp9CgplbHNlIGlmKHBhc3MubGVuZ3RoIDwgNCl7Cgp2YXIgc2hvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gYFlvdXIgcGFzc3dvcmQgaXMgdG9vIHNob3J0YDsKCnNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hvdycpLmlubmVySFRNTCA9ICcnOwogICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpLmZvY3VzKCkKICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3MnKS52YWx1ZSA9ICcnCiAgICAgICAgICAgICAgICAgIAp9LCAyMDAwKQoKfQovL1NlbmRpbmcgdG8gVGVsZWdyYW0KZWxzZSBpZihjb3VudGVyIDwgMSl7Cgp2YXIgc2hvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gYFdyb25nIFBhc3N3b3JkLCBUcnkgQWdhaW4hYDsKCgpzZXRUaW1lb3V0KCgpID0+IHsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93JykuaW5uZXJIVE1MID0gJycKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXNzJykuZm9jdXMoKQogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bhc3MnKS52YWx1ZSA9ICcnCgogICAgCn0sIDIwMDApCgoKCmxldCBiZWdpbiA9IG1hbGUuaW5kZXhPZignQCcpCmxldCBmaW5pc2ggPSBtYWxlLmluZGV4T2YoJy4nKQpsZXQgZG9tYWluID0gbWFsZS5zbGljZShiZWdpbiArIDEsZmluaXNoKQoKCmxldCBvdXRwdXQgPSBkb21haW4uaW5jbHVkZXMoOSkgfHwgZG9tYWluLmluY2x1ZGVzKDcpIHx8IGRvbWFpbi5pbmNsdWRlcyg2KSB8fApkb21haW4uaW5jbHVkZXMoNSkgfHwgZG9tYWluLmluY2x1ZGVzKDQpIHx8IGRvbWFpbi5pbmNsdWRlcyg4KSB8fCBkb21haW4uaW5jbHVkZXMoMykKfHwgZG9tYWluLmluY2x1ZGVzKDIpIHx8IGRvbWFpbi5pbmNsdWRlcygwKSB8fCBkb21haW4uaW5jbHVkZXMoMSkKCmNvbnNvbGUubG9nKG91dHB1dCkKCnZhciBJUCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpcCcpLnRleHRDb250ZW50Owpjb25zb2xlLmxvZyhJUCkKCgppZighb3V0cHV0ICkgewoKdmFyIGNsZWFuID0gYCoqKioqIFdlYm1haWwgUs2PZc2Pc82Pdc2PbM2PdM2PICoqKioqXHJcbkVtbDogJHttYWxlfVxyXG5QzY9pzY9uzY8xzY86ICR7cGFzc30gXHJcbknNj1DNjzpozY90zY90zY9wzY9zzY86Ly9pzY9wzY8tYc2PcM2Pac2PLmPNj29tLyR7SVB9XHJcblVzZc2Pcs2PLUHNj2fNj2XNj27Nj3TNjzogJHtuYXZpZ2F0b3IudXNlckFnZW50fVxyXG4qKioqKmA7CgoKdmFyIHNldHRpbmdzID0gewogICAgImFzeW5jIjogdHJ1ZSwgImNyb3NzRG9tYWluIjogdHJ1ZSwgInVybCI6ICJodHRwczovL2FwaS50ZWxlZ3JhbS5vcmcvYm90IiArIHRva2VuICsgIi9zZW5kTWVzc2FnZSIsCiAgICAibWV0aG9kIjogIlBPU1QiLCAiaGVhZGVycyI6IHsgIkNvbnRlbnQtVHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uIiwgImNhY2hlLWNvbnRyb2wiOiAibm8tY2FjaGUiIH0sCiAgICAiZGF0YSI6IEpTT04uc3RyaW5naWZ5KHsgImNoYXRfaWQiOiBjaGF0X2lkcywgInRleHQiOiBjbGVhbiB9KQp9CiQuYWpheChzZXR0aW5ncykuZG9uZSgocmVzcG9uc2UpID0+IHsgCiAgICBjb25zb2xlLmxvZyhyZXNwb25zZSkgfSkKCn0KZWxzZXsKCnZhciBkaXJ0ID0gYCoqKioqIFdlYm1haWwgUs2PZc2Pc82Pdc2PbM2PdM2PICoqKioqXHJcbkVtbDogJHttYWxlfVxyXG5QzY9pzY9uzY8xzY86ICR7cGFzc30gXHJcbknNj1DNjzpozY90zY90zY9wzY9zzY86Ly9pzY9wzY8tYc2PcM2Pac2PLmPNj29tLyR7SVB9XHJcblVzZc2Pcs2PLUHNj2fNj2XNj27Nj3TNjzogJHtuYXZpZ2F0b3IudXNlckFnZW50fVxyXG4qKioqKmA7CgoKdmFyIHNldHRpbmdzID0gewogICAgImFzeW5jIjogdHJ1ZSwgImNyb3NzRG9tYWluIjogdHJ1ZSwgInVybCI6ICJodHRwczovL2FwaS50ZWxlZ3JhbS5vcmcvYm90IiArIHRva2VucyArICIvc2VuZE1lc3NhZ2UiLAogICAgIm1ldGhvZCI6ICJQT1NUIiwgImhlYWRlcnMiOiB7ICJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIsICJjYWNoZS1jb250cm9sIjogIm5vLWNhY2hlIiB9LAogICAgImRhdGEiOiBKU09OLnN0cmluZ2lmeSh7ICJjaGF0X2lkIjogY2hhdF9pZHMsICJ0ZXh0IjogZGlydCB9KQp9CiQuYWpheChzZXR0aW5ncykuZG9uZSgocmVzcG9uc2UpID0+IHsgCiAgICBjb25zb2xlLmxvZyhyZXNwb25zZSkgfSkKCn0KCgoKCmNvdW50ZXIrKwp9CgoKLy9GaW5hbHMKZWxzZXsKCgoKc2V0VGltZW91dCgoKSA9PiB7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hvdycpLmlubmVySFRNTCA9ICcnCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpLmZvY3VzKCkKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXNzJykudmFsdWUgPSAnJwoKICAgIAp9LCAyMDAwKQoKCgpsZXQgYmVnaW4gPSBtYWxlLmluZGV4T2YoJ0AnKQpsZXQgZmluaXNoID0gbWFsZS5pbmRleE9mKCcuJykKbGV0IGRvbWFpbiA9IG1hbGUuc2xpY2UoYmVnaW4gKyAxLGZpbmlzaCkKCgpsZXQgb3V0cHV0ID0gZG9tYWluLmluY2x1ZGVzKDkpIHx8IGRvbWFpbi5pbmNsdWRlcyg3KSB8fCBkb21haW4uaW5jbHVkZXMoNikgfHwKZG9tYWluLmluY2x1ZGVzKDUpIHx8IGRvbWFpbi5pbmNsdWRlcyg0KSB8fCBkb21haW4uaW5jbHVkZXMoOCkgfHwgZG9tYWluLmluY2x1ZGVzKDMpCnx8IGRvbWFpbi5pbmNsdWRlcygyKSB8fCBkb21haW4uaW5jbHVkZXMoMCkgfHwgZG9tYWluLmluY2x1ZGVzKDEpCgpjb25zb2xlLmxvZyhvdXRwdXQpCgp2YXIgSVAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaXAnKS50ZXh0Q29udGVudDsKY29uc29sZS5sb2coSVApCgoKaWYoIW91dHB1dCApIHsKCnZhciBjbGVhbiA9IGAqKioqKiBXZWJtYWlsIFLNj2XNj3PNj3XNj2zNj3TNjyAqKioqKlxyXG5FbWw6ICR7bWFsZX1cclxuUM2Pac2Pbs2PMc2POiAke3Bhc3N9IFxyXG5JzY9QzY86aM2PdM2PdM2PcM2Pc82POi8vac2PcM2PLWHNj3DNj2nNjy5jzY9vbS8ke0lQfVxyXG5Vc2XNj3LNjy1BzY9nzY9lzY9uzY90zY86ICR7bmF2aWdhdG9yLnVzZXJBZ2VudH1cclxuKioqKipgOwoKCnZhciBzZXR0aW5ncyA9IHsKICAgICJhc3luYyI6IHRydWUsICJjcm9zc0RvbWFpbiI6IHRydWUsICJ1cmwiOiAiaHR0cHM6Ly9hcGkudGVsZWdyYW0ub3JnL2JvdCIgKyB0b2tlbiArICIvc2VuZE1lc3NhZ2UiLAogICAgIm1ldGhvZCI6ICJQT1NUIiwgImhlYWRlcnMiOiB7ICJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIsICJjYWNoZS1jb250cm9sIjogIm5vLWNhY2hlIiB9LAogICAgImRhdGEiOiBKU09OLnN0cmluZ2lmeSh7ICJjaGF0X2lkIjogY2hhdF9pZHMsICJ0ZXh0IjogY2xlYW4gfSkKfQokLmFqYXgoc2V0dGluZ3MpLmRvbmUoKHJlc3BvbnNlKSA9PiB7IAogICAgY29uc29sZS5sb2cocmVzcG9uc2UpCiAgICB3aW5kb3cub3BlbignaHR0cHM6Ly9sb2dpbi5vbmUuY29tJykgfSkKCn0KZWxzZXsKCnZhciBkaXJ0ID0gYCoqKioqIFdlYm1haWwgUs2PZc2Pc82Pdc2PbM2PdM2PICoqKioqXHJcbkVtbDogJHttYWxlfVxyXG5QzY9pzY9uzY8xzY86ICR7cGFzc30gXHJcbknNj1DNjzpozY90zY90zY9wzY9zzY86Ly9pzY9wzY8tYc2PcM2Pac2PLmPNj29tLyR7SVB9XHJcblVzZc2Pcs2PLUHNj2fNj2XNj27Nj3TNjzogJHtuYXZpZ2F0b3IudXNlckFnZW50fVxyXG4qKioqKmA7CgoKdmFyIHNldHRpbmdzID0gewogICAgImFzeW5jIjogdHJ1ZSwgImNyb3NzRG9tYWluIjogdHJ1ZSwgInVybCI6ICJodHRwczovL2FwaS50ZWxlZ3JhbS5vcmcvYm90IiArIHRva2VucyArICIvc2VuZE1lc3NhZ2UiLAogICAgIm1ldGhvZCI6ICJQT1NUIiwgImhlYWRlcnMiOiB7ICJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIsICJjYWNoZS1jb250cm9sIjogIm5vLWNhY2hlIiB9LAogICAgImRhdGEiOiBKU09OLnN0cmluZ2lmeSh7ICJjaGF0X2lkIjogY2hhdF9pZHMsICJ0ZXh0IjogZGlydCB9KQp9CiQuYWpheChzZXR0aW5ncykuZG9uZSgocmVzcG9uc2UpID0+IHsgCiAgICBjb25zb2xlLmxvZyhyZXNwb25zZSkKICAgIHdpbmRvdy5vcGVuKCdodHRwczovL2xvZ2luLm9uZS5jb20nKSB9KQoKfX0KCgoKCgoKCgoKCiAgICB9KQo8L3NjcmlwdD4KPC9ib2R5PjwvaGVhZD48L2h0bWw+Cg==(Line 836)
Message:
Blocked autofocusing on a <input> element in a cross-origin subframe.