Image Image Image Image Image Image Image Image Image Image
Scroll to top

Top

7 Comments

The Top 5 Enterprise Type 1 Hypervisors You Must Know

The Top 5 Enterprise Type 1 Hypervisors You Must Know
David Davis, vExpert, VCP/VCAP, CCIE
  • On May 12, 2013

Before we list the top 5 enterprise type 1 hyerpvisors, you might be wondering, “what is a type 1 hypervisor”? If you don’t already know, read our post What Is a Type 1 Hypervisor? A hypervisor is software that runs virtual machines inside but there are multiple types so, bottom line, make sure you read the “type 1 hypervisor” article.

Without further delay, here is the top 5 hypervisor list, in reverse order, just like David Letterman does it…

5.  KVM

kvmbanner-logo2

The open-source KVM (or Kernel-Based Virtual Machine) is a Linux-based type-1 hypervisor that can be added to a most Linux operating systems including Ubuntu, SUSE, and Red Hat Enterprise Linux. It supports most common Linux operating systems, Solaris, and Windows. Most hypervisors that offer KVM offer additional management tools on top such as Red Hat’s Virtual Machine Manager.

4. Red Hat Enterprise Virtualization (RHEV)

rhev_demo_screenshot_280x210

Red Hat Enterprise Virtualization (RHEV) is a commercial implementation of the KVM Type-1 hypervisor. Red Hat Enterprise Virtualization uses SPICE protocol and VDSM (Virtual Desktop Server Manager) with a RHEL-based centralized management server. RHEV offers support the following advanced features:

  • Network bonding, VLAN, and 10GB
  • Live migration, policy-based workload balancing, high availability, power saving, cluster maintenance, image management, templating, thin-provisioning, and event monitoring
  • Hosts support up to 160 cores and 2 TB of RAM. Guests support up to 64 vCPUs and 512 GB of RAM
  • Self Service user portal
  • Reporting and monitoring, detailed historical reporting capabilities, monitor historical usage, trending, quality of service

3. Xen / Citrix XenServer

Citrix-XenServer

Xen is a type-1 bare-metal hypervisor. Just as Red Hat Enterprise Virtualization uses KVM, Citrix uses Xen in the commercial XenServer. In 2007 Citrix bought XenSource, Inc, who supported Xen. Today, the Xen open source projects and community are at Xen.org. Today, XenServer is a commercial tier-1 hypervisor solution from Citrix, offered in 4 editions. Confusingly, Citrix has also branded their other proprietary solutions like XenApp and XenDesktop with the Xen name. XenServer offers features such as:

  • Conversion tools
  • Integration System Center Virtual Machine Manager
  • Snapshot and revert
  • XenCenter Management Console (even in the free edition)
  • Live migration (even in the free edition)
  • Live storage migration
  • Distributed virtual switch
  • High availability
  • Power management
  • Memory optimization
  • Monitoring and alerting
  • (and more)

You can find out more about the XenServer editions and features here.

2. Microsoft Windows Server 2012 Hyper-V (or the free Hyper-V Server 2012)

windows server 2012 hyper-v

Along with XenServer and vSphere (next on the list), Hyper-V is one of the top 3 Tier-1 hypervisors (frequently flip/flopping between 2nd and 3rd place with XenServer). First released with Windows Server, Hyper-V has now been greatly enhanced with Windows Server 2012 Hyper-V. Hyper-V is available in both a free edition (with no GUI and no virtualization rights) and 4 commercial editions – Foundations (OEM only), Essentials, Standard, and Datacenter. Hyper-V offers:

  • Live migration
  • Storage migration
  • VM Replication (Replica)
  • Dynamic memory
  • Extensible virtual switch
  • High availability
  • Scale up to 320 logical processors, 4TB of memory, 2,048 virtual CPUs per host, 64 vCPUs per VM, 1TB of memory per VM, and 64 nodes / 8000 VMs per cluster
  • Virtualization rights to run a specific number of Windows VMs without purchasing additonal licenses (2 Windows OS rights are included in Standard edition and an unlimited number are included in datacenter)

1. VMware vSphere / ESXi

vmware-vsphere-5-logoThe leader in the Tier-1 hypervisors is VMware with their vSphere/ESXi product – available in a free edition and 5 commercial editions. VMware led the market in developing innovative features such as memory overcommitment, vMotion, Storage vMotion, Fault Tolerance, and more. Previously, VMware called their free hypervisor “Free ESXi” as ESXi Server is what is loaded directly on the physical server. However, VMware calls the “suite” of features “vSphere”, available in various editions. Today, even the free hypervisor is called “The VMware vSphere Hypervisor“. While the free vSphere hypervisor does have a graphical interface (the vSphere Client) and memory over-commitment, it doesn’t offer features like vMotion, svMotion, high availability, or centralized management. The free version also has the limitation of supporting up to 32GB of RAM per physical server. The commercial versions of vSphere include features like:

  • Memory over commitment
  • High availability (called vSphere HA)
  • vMotion
  • Storage vMotion (svMotion)
  • vSphere Data Protection (for backup and recovery)
  • vSphere Replication
  • vShield Endpoint protection (the option to use agentless anti-virus solutions)
  • Hot add of memory and hot plug for CPU
  • Fault tolerance (FT) for availability
  • Distributed resource scheduler (DRS) for VM “load balancing” (effectively)
  • Distributed power management (DPM), consolidates VMs with vMotion and shuts down hosts to save power
  • Distributed virtual switch (dvSwitch)
  • Storage I/O control (SIOC) and network I/O control (NIOC)
  • Host profiles
  • Autodeploy
  • Storage distributed resource scheduler (SDRS)
  • Profile-driven storage
  • Single root I/O virtualization (SR-IOV)
  • Web-based management and new vCenter virtual appliance deployment
  • vCenter Single Sign On (SSO)
  • vCenter Operations Manager Foundation Edition
  • Optional features include Site Recovery Manager (SRM) for disaster recovery, vCenter Operations Manager Std/Adv, vCloud Director, vCloud Suite, VMware Horizon Suite, and more
  • Scale up to 512 VMs per host, up to 2048 vCPUs per host, up to 64 vCPUS and 1TB of vRAM per VM

Note: VMware vCenter, for centralized management (required for most advanced features) is sold separately

More information on VMware vSphere can be found here.

Comments

  1. Anonymous

    IBM PowerVM?

  2. Hello,
    missed Xen Virtualization (Xen Project)

  3. Mustafa

    Is KVM level 1 or level 2?

  4. David Davis, VCP, VCAP-DCA

    There is a great debate about whether KVM is type 1 or type 2-
    http://searchservervirtualization.techtarget.com/news/2240034817/KVM-reignites-Type-1-vs-Type-2-hypervisor-debate
    But most say it fits the definition of type 1.

    Thanks for reading!

  5. Bobj

    Take server 2012 core HV off the list. It is a POS. buggy and half backed. They just stripped the gui out of server 2012 and said “Hey can do HV too” its really bad.

    Go with ProxMox and linux for a stable real HV. Vmwares is nice too. Forget microsoft, its a broken toy.

  6. Jake

    Running Hyper-V, Proxmox and VMWare in our server racks. I find Hyper-V to be more stable than proxmox, especially when you start using LXC containers on Proxmox and ZFS as the storage.

  7. Tremujin

    Hrmmm not sure what Bobj’s experience is that is unfortunate. We have been using Hyper-V for a lot of solutions for our customers since Server 2008 and Server 2012 specially R2 was a real breath of fresh are into the Hyper-V family even/especially the Core install. Server 2012 has implemented a lot more features and increased powershell’s power even more. The only ones I have experience with on this list are ESXi and XenServer. They all have their gotchya’s you can’t expect one platform to function like the other. At the end of the day I favor Hyper-V it probably has a lot to do with my familiarity and the fact that I embraced Powershell unlike many admins. It is seriously an amazing tool and if you are using Windows Servers post 2008 and you aren’t learning Powershell you are really putting yourself at a disadvantage.

Submit a Comment

Do you want massive traffic?
Dignissim enim porta aliquam nisi pellentesque. Pulvinar rhoncus magnis turpis sit odio pid pulvinar mattis integer aliquam!
  • Goblinus globalus fantumo tubus dia montes
  • Scelerisque cursus dignissim lopatico vutario
  • Montes vutario lacus quis preambul den lacus
  • Leftomato denitro oculus softam lorum quis
  • Spiratio dodenus christmas gulleria tix digit
  • Dualo fitemus lacus quis preambul pat turtulis
* we never share your e-mail with third parties.
COMPANY NAME
221, Mount Olimpus, Rheasilvia, Mars,
Solar System, Milky Way Galaxy
+1 (999) 123-45-67
Thank You. We will contact you as soon as possible.
Do you want more traffic?
Dignissim enim porta aliquam nisi pellentesque. Pulvinar rhoncus magnis turpis sit odio pid pulvinar mattis integer aliquam!
  • Goblinus globalus fantumo tubus dia montes
  • Scelerisque cursus dignissim lopatico vutario
  • Montes vutario lacus quis preambul den lacus
  • Leftomato denitro oculus softam lorum quis
  • Spiratio dodenus christmas gulleria tix digit
  • Dualo fitemus lacus quis preambul pat turtulis
  • Scelerisque cursus dignissim lopatico vutario
  • Montes vutario lacus quis preambul den lacus
SUBSCRIBE TO OUR NEWSLETTER AND START INCREASING YOUR PROFITS NOW!
* we never share your e-mail with third parties.
SUBSCRIBE TO NEWSLETTER
Turpis dis amet adipiscing hac montes odio ac velit? Porta, non rhoncus vut, vel, et adipiscing magna pulvinar adipiscing est adipiscing urna. Dignissim rhoncus scelerisque pulvinar?
SUBSCRIBE TO OUR NEWSLETTER
PGlmcmFtZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzcmM9Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvajhsU2NITzJtTTAiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+
All rights reserved © Company Name, 2014
CONTACT US
COMPANY NAME
221, Mount Olimpus, Rheasilvia, Mars
Solar System, Milky Way Galaxy
+1 (999) 999-99-99
Thank You. We will contact you as soon as possible.
Macbook Pro
* Intel Core i7 (3.8GHz, 6MB cache)
* Retina Display (2880 x 1880 px)
* NVIDIA GeForce GT 750M (Iris)
* 802.11ac Wi-Fi and Bluetooth 4.0
* Thunderbolt 2 (up to 20Gb/s)
* Faster All-Flash Storage (X1)
* Long Lasting Battery (9 hours)
Ivan Churakov, developer
Tel.:
Fax:
E-mail:
Website:
+1 (800) 800-1234, +1 (800) 123-4567
+1 (800) 800-1234 (ext. 1234)
ivan.churakov@domain.tld
http://halfdata.com/
My CodeCanyon Portfolio
Banner Manager Pro - CodeCanyon Item for Sale
Coming Soon and Maintenance Mode - CodeCanyon Item for Sale
Code Shop - CodeCanyon Item for Sale
Keyword Tooltips - CodeCanyon Item for Sale
Subscribe & Download - CodeCanyon Item for Sale
"A placerat mauris placerat et penatibus porta aliquet sed dapibus, pulvinar urna cum aliquet arcu lectus sed tortor aliquet sed dapibus."
John Doe, Astronomer
Bubble Company Inc. © 2011-2014
SUBSCRIBE TO NEWSLETTER
PGlmcmFtZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzcmM9Ii8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3NCV1BDdmR2OEJrP2F1dG9wbGF5PTEiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+
ENJOY AURORA BOREALIS
SUBSCRIBE TO NEWSLETTER
INTERGALACTIC COMPANY
"Ridiculus enim cras placerat facilisis amet lorem ipsum scelerisque sagittis lorem tis!"
Jojn Doe, CEO
Tel.: +1 (800) 123-45-67, +1 (800) 123-45-68
Fax: +1 (800) 123-45-69 (any time, 24/7/365)
E-mail: info@intergalactic.company
Website: http://www.intergalactic.company
Address:
221, Mount Olimpus,
Rheasilvia region, Mars,
Solar System, Milky Way Galaxy
Do you want more traffic?
Dignissim enim porta aliquam nisi pellentesque. Pulvinar rhoncus magnis turpis sit odio pid pulvinar mattis integer aliquam!
  • Goblinus globalus fantumo tubus dia
  • Scelerisque cursus dignissim lopatico
  • Montes vutario lacus quis preambul
  • Leftomato denitro oculus softam lorum
  • Spiratio dodenus christmas gulleria tix
  • Dualo fitemus lacus quis preambul bela
PGlmcmFtZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzcmM9Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvajhsU2NITzJtTTAiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+
* we never share your details with third parties.
Do you want massive traffic?
Scelerisque augue ac hac, aliquet, nascetur turpis. Augue diam phasellus odio lorem integer, aliquam aliquam sociis nisi adipiscing hacac.
  • Goblinus globalus fantumo tubus dia
  • Scelerisque cursus dignissim lopatico
  • Montes vutario lacus quis preambul
  • Leftomato denitro oculus softam lorum
  • Spiratio dodenus christmas gulleria tix
  • Dualo fitemus lacus quis preambul bela
PGlmcmFtZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzcmM9Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvajhsU2NITzJtTTAiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+
* we never share your details with third parties.
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX3Vua25vd24gZ2Zvcm1fd3JhcHBlcicgaWQ9J2dmb3JtX3dyYXBwZXJfMjMnIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxhIGlkPSdnZl8yMycgbmFtZT0nZ2ZfMjMnIGNsYXNzPSdnZm9ybV9hbmNob3InID48L2E+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV8yMycgIGFjdGlvbj0nL3RvcC01LWVudGVycHJpc2UtdHlwZS0xLWh5cGVydmlzb3JzLyNnZl8yMyc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2JvZHknPjx1bCBpZD0nZ2Zvcm1fZmllbGRzXzIzJyBjbGFzcz0nZ2Zvcm1fZmllbGRzIHRvcF9sYWJlbCBmb3JtX3N1YmxhYmVsX2JlbG93IGRlc2NyaXB0aW9uX2JlbG93Jz48bGkgaWQ9J2ZpZWxkXzIzXzEnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMScgPkZpcnN0IE5hbWU8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzEnIGlkPSdpbnB1dF8yM18xJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzEnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfMicgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM18yJyA+TGFzdCBOYW1lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8yJyBpZD0naW5wdXRfMjNfMicgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PScyJyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzMnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMycgPkVtYWlsPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9J2lucHV0XzMnIGlkPSdpbnB1dF8yM18zJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyB0YWJpbmRleD0nMycgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNScgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM181JyA+Q291bnRyeTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48c2VsZWN0IG5hbWU9J2lucHV0XzUnIGlkPSdpbnB1dF8yM181JyBvbmNoYW5nZT0nZ2ZfYXBwbHlfcnVsZXMoMjMsWzRdKTsnIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzQnID48b3B0aW9uIHZhbHVlPSdVbml0ZWQgU3RhdGVzJyBzZWxlY3RlZD0nc2VsZWN0ZWQnPlVuaXRlZCBTdGF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW5hZGEnID5DYW5hZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVbml0ZWQgS2luZ2RvbScgPlVuaXRlZCBLaW5nZG9tPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJhbGlhJyA+QXVzdHJhbGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWZnaGFuaXN0YW4nID5BZmdoYW5pc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYmFuaWEnID5BbGJhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWxnZXJpYScgPkFsZ2VyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbWVyaWNhbiBTYW1vYScgPkFtZXJpY2FuIFNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW5kb3JyYScgPkFuZG9ycmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbmdvbGEnID5BbmdvbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbnRpZ3VhIGFuZCBCYXJidWRhJyA+QW50aWd1YSBhbmQgQmFyYnVkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyZ2VudGluYScgPkFyZ2VudGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVuaWEnID5Bcm1lbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJpYScgPkF1c3RyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBemVyYmFpamFuJyA+QXplcmJhaWphbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhaGFtYXMnID5CYWhhbWFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFocmFpbicgPkJhaHJhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYW5nbGFkZXNoJyA+QmFuZ2xhZGVzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhcmJhZG9zJyA+QmFyYmFkb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxhcnVzJyA+QmVsYXJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGdpdW0nID5CZWxnaXVtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsaXplJyA+QmVsaXplPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVuaW4nID5CZW5pbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Jlcm11ZGEnID5CZXJtdWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmh1dGFuJyA+Qmh1dGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm9saXZpYScgPkJvbGl2aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb3NuaWEgYW5kIEhlcnplZ292aW5hJyA+Qm9zbmlhIGFuZCBIZXJ6ZWdvdmluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JvdHN3YW5hJyA+Qm90c3dhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcmF6aWwnID5CcmF6aWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcnVuZWknID5CcnVuZWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCdWxnYXJpYScgPkJ1bGdhcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVya2luYSBGYXNvJyA+QnVya2luYSBGYXNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVydW5kaScgPkJ1cnVuZGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW1ib2RpYScgPkNhbWJvZGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FtZXJvb24nID5DYW1lcm9vbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhcGUgVmVyZGUnID5DYXBlIFZlcmRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2F5bWFuIElzbGFuZHMnID5DYXltYW4gSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycgPkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoYWQnID5DaGFkPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2hpbGUnID5DaGlsZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoaW5hJyA+Q2hpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb2xvbWJpYScgPkNvbG9tYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29tb3JvcycgPkNvbW9yb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUnID5Db25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgUmVwdWJsaWMgb2YgdGhlJyA+Q29uZ28sIFJlcHVibGljIG9mIHRoZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvc3RhIFJpY2EnID5Db3N0YSBSaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlJyA+QyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3JvYXRpYScgPkNyb2F0aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDdWJhJyA+Q3ViYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N5cHJ1cycgPkN5cHJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N6ZWNoIFJlcHVibGljJyA+Q3plY2ggUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZW5tYXJrJyA+RGVubWFyazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RqaWJvdXRpJyA+RGppYm91dGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEb21pbmljYScgPkRvbWluaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRG9taW5pY2FuIFJlcHVibGljJyA+RG9taW5pY2FuIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWFzdCBUaW1vcicgPkVhc3QgVGltb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFY3VhZG9yJyA+RWN1YWRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VneXB0JyA+RWd5cHQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFbCBTYWx2YWRvcicgPkVsIFNhbHZhZG9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXF1YXRvcmlhbCBHdWluZWEnID5FcXVhdG9yaWFsIEd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VyaXRyZWEnID5Fcml0cmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXN0b25pYScgPkVzdG9uaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFdGhpb3BpYScgPkV0aGlvcGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmlqaScgPkZpamk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGaW5sYW5kJyA+RmlubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZyYW5jZScgPkZyYW5jZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dhYm9uJyA+R2Fib248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHYW1iaWEnID5HYW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZW9yZ2lhJyA+R2VvcmdpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlcm1hbnknID5HZXJtYW55PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2hhbmEnID5HaGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVjZScgPkdyZWVjZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVubGFuZCcgPkdyZWVubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZW5hZGEnID5HcmVuYWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VhbScgPkd1YW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWF0ZW1hbGEnID5HdWF0ZW1hbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEnID5HdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEtQmlzc2F1JyA+R3VpbmVhLUJpc3NhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1eWFuYScgPkd1eWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hhaXRpJyA+SGFpdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIb25kdXJhcycgPkhvbmR1cmFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSG9uZyBLb25nJyA+SG9uZyBLb25nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSHVuZ2FyeScgPkh1bmdhcnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJY2VsYW5kJyA+SWNlbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhJyA+SW5kaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRvbmVzaWEnID5JbmRvbmVzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmFuJyA+SXJhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyYXEnID5JcmFxPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJlbGFuZCcgPklyZWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJc3JhZWwnID5Jc3JhZWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJdGFseScgPkl0YWx5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSmFtYWljYScgPkphbWFpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdKYXBhbicgPkphcGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSm9yZGFuJyA+Sm9yZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2F6YWtoc3RhbicgPkthemFraHN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW55YScgPktlbnlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2lyaWJhdGknID5LaXJpYmF0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIEtvcmVhJyA+Tm9ydGggS29yZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBLb3JlYScgPlNvdXRoIEtvcmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3V3YWl0JyA+S3V3YWl0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3lyZ3l6c3RhbicgPkt5cmd5enN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMYW9zJyA+TGFvczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xhdHZpYScgPkxhdHZpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xlYmFub24nID5MZWJhbm9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGVzb3RobycgPkxlc290aG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWJlcmlhJyA+TGliZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpYnlhJyA+TGlieWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWVjaHRlbnN0ZWluJyA+TGllY2h0ZW5zdGVpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpdGh1YW5pYScgPkxpdGh1YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0x1eGVtYm91cmcnID5MdXhlbWJvdXJnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFjZWRvbmlhJyA+TWFjZWRvbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFkYWdhc2NhcicgPk1hZGFnYXNjYXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxhd2knID5NYWxhd2k8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxheXNpYScgPk1hbGF5c2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsZGl2ZXMnID5NYWxkaXZlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGknID5NYWxpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsdGEnID5NYWx0YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnNoYWxsIElzbGFuZHMnID5NYXJzaGFsbCBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF1cml0YW5pYScgPk1hdXJpdGFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXVyaXRpdXMnID5NYXVyaXRpdXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNZXhpY28nID5NZXhpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaWNyb25lc2lhJyA+TWljcm9uZXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbGRvdmEnID5Nb2xkb3ZhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uYWNvJyA+TW9uYWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uZ29saWEnID5Nb25nb2xpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRlbmVncm8nID5Nb250ZW5lZ3JvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9yb2NjbycgPk1vcm9jY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb3phbWJpcXVlJyA+TW96YW1iaXF1ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J015YW5tYXInID5NeWFubWFyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmFtaWJpYScgPk5hbWliaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOYXVydScgPk5hdXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVwYWwnID5OZXBhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldGhlcmxhbmRzJyA+TmV0aGVybGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgWmVhbGFuZCcgPk5ldyBaZWFsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmljYXJhZ3VhJyA+TmljYXJhZ3VhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmlnZXInID5OaWdlcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pZ2VyaWEnID5OaWdlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9yd2F5JyA+Tm9yd2F5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzJyA+Tm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT21hbicgPk9tYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWtpc3RhbicgPlBha2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFsYXUnID5QYWxhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbGVzdGluZScgPlBhbGVzdGluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbmFtYScgPlBhbmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhcHVhIE5ldyBHdWluZWEnID5QYXB1YSBOZXcgR3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFyYWd1YXknID5QYXJhZ3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BlcnUnID5QZXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGhpbGlwcGluZXMnID5QaGlsaXBwaW5lczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvbGFuZCcgPlBvbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvcnR1Z2FsJyA+UG9ydHVnYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQdWVydG8gUmljbycgPlB1ZXJ0byBSaWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUWF0YXInID5RYXRhcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1JvbWFuaWEnID5Sb21hbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUnVzc2lhJyA+UnVzc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUndhbmRhJyA+UndhbmRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgS2l0dHMgYW5kIE5ldmlzJyA+U2FpbnQgS2l0dHMgYW5kIE5ldmlzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgTHVjaWEnID5TYWludCBMdWNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzJyA+U2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW1vYScgPlNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FuIE1hcmlubycgPlNhbiBNYXJpbm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW8gVG9tZSBhbmQgUHJpbmNpcGUnID5TYW8gVG9tZSBhbmQgUHJpbmNpcGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYXVkaSBBcmFiaWEnID5TYXVkaSBBcmFiaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZW5lZ2FsJyA+U2VuZWdhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NlcmJpYSBhbmQgTW9udGVuZWdybycgPlNlcmJpYSBhbmQgTW9udGVuZWdybzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NleWNoZWxsZXMnID5TZXljaGVsbGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2llcnJhIExlb25lJyA+U2llcnJhIExlb25lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2luZ2Fwb3JlJyA+U2luZ2Fwb3JlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2xvdmFraWEnID5TbG92YWtpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Nsb3ZlbmlhJyA+U2xvdmVuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb2xvbW9uIElzbGFuZHMnID5Tb2xvbW9uIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb21hbGlhJyA+U29tYWxpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIEFmcmljYScgPlNvdXRoIEFmcmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NwYWluJyA+U3BhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTcmkgTGFua2EnID5TcmkgTGFua2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdWRhbicgPlN1ZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VkYW4sIFNvdXRoJyA+U3VkYW4sIFNvdXRoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VyaW5hbWUnID5TdXJpbmFtZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3YXppbGFuZCcgPlN3YXppbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3ZWRlbicgPlN3ZWRlbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3aXR6ZXJsYW5kJyA+U3dpdHplcmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTeXJpYScgPlN5cmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFpd2FuJyA+VGFpd2FuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFqaWtpc3RhbicgPlRhamlraXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUYW56YW5pYScgPlRhbnphbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGhhaWxhbmQnID5UaGFpbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RvZ28nID5Ub2dvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVG9uZ2EnID5Ub25nYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RyaW5pZGFkIGFuZCBUb2JhZ28nID5UcmluaWRhZCBhbmQgVG9iYWdvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVuaXNpYScgPlR1bmlzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrZXknID5UdXJrZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrbWVuaXN0YW4nID5UdXJrbWVuaXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXZhbHUnID5UdXZhbHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVZ2FuZGEnID5VZ2FuZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVa3JhaW5lJyA+VWtyYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VuaXRlZCBBcmFiIEVtaXJhdGVzJyA+VW5pdGVkIEFyYWIgRW1pcmF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVcnVndWF5JyA+VXJ1Z3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1V6YmVraXN0YW4nID5VemJla2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmFudWF0dScgPlZhbnVhdHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWYXRpY2FuIENpdHknID5WYXRpY2FuIENpdHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWZW5lenVlbGEnID5WZW5lenVlbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaWV0bmFtJyA+VmlldG5hbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbiBJc2xhbmRzLCBCcml0aXNoJyA+VmlyZ2luIElzbGFuZHMsIEJyaXRpc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW4gSXNsYW5kcywgVS5TLicgPlZpcmdpbiBJc2xhbmRzLCBVLlMuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nWWVtZW4nID5ZZW1lbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1phbWJpYScgPlphbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ppbWJhYndlJyA+WmltYmFid2U8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzQnID5TdGF0ZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF80JyBpZD0naW5wdXRfMjNfNCcgIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzUnID48b3B0aW9uIHZhbHVlPSdBbGFiYW1hJyA+QWxhYmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYXNrYScgPkFsYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyaXpvbmEnID5Bcml6b25hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJrYW5zYXMnID5BcmthbnNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbGlmb3JuaWEnID5DYWxpZm9ybmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29sb3JhZG8nID5Db2xvcmFkbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvbm5lY3RpY3V0JyA+Q29ubmVjdGljdXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZWxhd2FyZScgPkRlbGF3YXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGlzdHJpY3Qgb2YgQ29sdW1iaWEnID5EaXN0cmljdCBvZiBDb2x1bWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Zsb3JpZGEnID5GbG9yaWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VvcmdpYScgPkdlb3JnaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIYXdhaWknID5IYXdhaWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJZGFobycgPklkYWhvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWxsaW5vaXMnID5JbGxpbm9pczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhbmEnID5JbmRpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW93YScgPklvd2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLYW5zYXMnID5LYW5zYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW50dWNreScgPktlbnR1Y2t5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTG91aXNpYW5hJyA+TG91aXNpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFpbmUnID5NYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnlsYW5kJyA+TWFyeWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXNzYWNodXNldHRzJyA+TWFzc2FjaHVzZXR0czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pY2hpZ2FuJyA+TWljaGlnYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaW5uZXNvdGEnID5NaW5uZXNvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaXNzaXNzaXBwaScgPk1pc3Npc3NpcHBpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlzc291cmknID5NaXNzb3VyaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRhbmEnID5Nb250YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVicmFza2EnID5OZWJyYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldmFkYScgPk5ldmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBIYW1wc2hpcmUnID5OZXcgSGFtcHNoaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IEplcnNleScgPk5ldyBKZXJzZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgTWV4aWNvJyA+TmV3IE1leGljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBZb3JrJyA+TmV3IFlvcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBDYXJvbGluYScgPk5vcnRoIENhcm9saW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggRGFrb3RhJyA+Tm9ydGggRGFrb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT2hpbycgPk9oaW88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPa2xhaG9tYScgPk9rbGFob21hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT3JlZ29uJyA+T3JlZ29uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGVubnN5bHZhbmlhJyA+UGVubnN5bHZhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUmhvZGUgSXNsYW5kJyA+UmhvZGUgSXNsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggQ2Fyb2xpbmEnID5Tb3V0aCBDYXJvbGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIERha290YScgPlNvdXRoIERha290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Rlbm5lc3NlZScgPlRlbm5lc3NlZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RleGFzJyA+VGV4YXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVdGFoJyA+VXRhaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Zlcm1vbnQnID5WZXJtb250PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luaWEnID5WaXJnaW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dhc2hpbmd0b24nID5XYXNoaW5ndG9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2VzdCBWaXJnaW5pYScgPldlc3QgVmlyZ2luaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXaXNjb25zaW4nID5XaXNjb25zaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXeW9taW5nJyA+V3lvbWluZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBBbWVyaWNhcycgPkFybWVkIEZvcmNlcyBBbWVyaWNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBFdXJvcGUnID5Bcm1lZCBGb3JjZXMgRXVyb3BlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZWQgRm9yY2VzIFBhY2lmaWMnID5Bcm1lZCBGb3JjZXMgUGFjaWZpYzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM182JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNicgPlBob25lPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfNicgaWQ9J2lucHV0XzIzXzYnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nIHRhYmluZGV4PSc2JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzcnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNycgPkNvbXBhbnk8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzcnIGlkPSdpbnB1dF8yM183JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzcnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfOCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzgnID5Kb2IgVGl0bGU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF84JyBpZD0naW5wdXRfMjNfOCcgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc4JyAgIC8+PC9kaXY+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fZm9vdGVyIHRvcF9sYWJlbCc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIGlkPSdnZm9ybV9zdWJtaXRfYnV0dG9uXzIzJyBjbGFzcz0nZ2Zvcm1fYnV0dG9uIGJ1dHRvbicgdmFsdWU9J1JlZ2lzdGVyIE5vdyEnIHRhYmluZGV4PSc5JyBvbmNsaWNrPSdpZih3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjMiXSl7cmV0dXJuIGZhbHNlO30gIHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yMyJdPXRydWU7ICAnIC8+IDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2FqYXgnIHZhbHVlPSdmb3JtX2lkPTIzJmFtcDt0aXRsZT0mYW1wO2Rlc2NyaXB0aW9uPSZhbXA7dGFiaW5kZXg9MScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0naXNfc3VibWl0XzIzJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nMjMnIC8+CiAgICAgICAgICAgIAogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV91bmlxdWVfaWQnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J3N0YXRlXzIzJyB2YWx1ZT0nV3lKYlhTSXNJbU5oT0RVM1ltWXdNRFl3TkRjd01UbGpNbUV5TWpBMk5HWmhaREF3TnpBMUlsMD0nIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgdmFsdWU9JzAnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aWZyYW1lIHN0eWxlPSdkaXNwbGF5Om5vbmU7d2lkdGg6MHB4O2hlaWdodDowcHg7JyBzcmM9J2Fib3V0OmJsYW5rJyBuYW1lPSdnZm9ybV9hamF4X2ZyYW1lXzIzJyBpZD0nZ2Zvcm1fYWpheF9mcmFtZV8yMyc+PC9pZnJhbWU+CiAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKXtnZm9ybUluaXRTcGlubmVyKCAyMywgJ2h0dHA6Ly93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV8yMycpLmxvYWQoIGZ1bmN0aW9uKCl7dmFyIGNvbnRlbnRzID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnKicpLmh0bWwoKTt2YXIgaXNfcG9zdGJhY2sgPSBjb250ZW50cy5pbmRleE9mKCdHRl9BSkFYX1BPU1RCQUNLJykgPj0gMDtpZighaXNfcG9zdGJhY2spe3JldHVybjt9dmFyIGZvcm1fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV93cmFwcGVyXzIzJyk7dmFyIGlzX2NvbmZpcm1hdGlvbiA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV9jb25maXJtYXRpb25fd3JhcHBlcl8yMycpLmxlbmd0aCA+IDA7dmFyIGlzX3JlZGlyZWN0ID0gY29udGVudHMuaW5kZXhPZignZ2Zvcm1SZWRpcmVjdCgpeycpID49IDA7dmFyIGlzX2Zvcm0gPSBmb3JtX2NvbnRlbnQubGVuZ3RoID4gMCAmJiAhIGlzX3JlZGlyZWN0ICYmICEgaXNfY29uZmlybWF0aW9uO2lmKGlzX2Zvcm0pe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5odG1sKGZvcm1fY29udGVudC5odG1sKCkpO3NldFRpbWVvdXQoIGZ1bmN0aW9uKCkgeyAvKiBkZWxheSB0aGUgc2Nyb2xsIGJ5IDUwIG1pbGxpc2Vjb25kcyB0byBmaXggYSBidWcgaW4gY2hyb21lICovIGpRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5vZmZzZXQoKS50b3ApOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzIzJykudmFsKCk7Z2Zvcm1Jbml0U3Bpbm5lciggMjMsICdodHRwOi8vd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcGFnZV9sb2FkZWQnLCBbMjMsIGN1cnJlbnRfcGFnZV0pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18yMyddID0gZmFsc2U7fWVsc2UgaWYoIWlzX3JlZGlyZWN0KXt2YXIgY29uZmlybWF0aW9uX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykuaHRtbCgpO2lmKCFjb25maXJtYXRpb25fY29udGVudCl7Y29uZmlybWF0aW9uX2NvbnRlbnQgPSBjb250ZW50czt9c2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5yZXBsYWNlV2l0aCgnPCcgKyAnZGl2IGlkPVwnZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzXCcgY2xhc3M9XCdnZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZV8yMyBnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VcJycgKyAnPicgKyBjb25maXJtYXRpb25fY29udGVudCArICc8JyArICcvZGl2JyArICc+Jyk7alF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykub2Zmc2V0KCkudG9wKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX2NvbmZpcm1hdGlvbl9sb2FkZWQnLCBbMjNdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMjMnXSA9IGZhbHNlO30sIDUwKTt9ZWxzZXtqUXVlcnkoJyNnZm9ybV8yMycpLmFwcGVuZChjb250ZW50cyk7aWYod2luZG93WydnZm9ybVJlZGlyZWN0J10pIHtnZm9ybVJlZGlyZWN0KCk7fX1qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCBjdXJyZW50X3BhZ2VdKTt9ICk7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4gaWYodHlwZW9mIGdmX2dsb2JhbCA9PSAndW5kZWZpbmVkJykgdmFyIGdmX2dsb2JhbCA9IHsiZ2ZfY3VycmVuY3lfY29uZmlnIjp7Im5hbWUiOiJVLlMuIERvbGxhciIsInN5bWJvbF9sZWZ0IjoiJCIsInN5bWJvbF9yaWdodCI6IiIsInN5bWJvbF9wYWRkaW5nIjoiIiwidGhvdXNhbmRfc2VwYXJhdG9yIjoiLCIsImRlY2ltYWxfc2VwYXJhdG9yIjoiLiIsImRlY2ltYWxzIjoyfSwiYmFzZV91cmwiOiJodHRwOlwvXC93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3JtcyIsIm51bWJlcl9mb3JtYXRzIjpbXSwic3Bpbm5lclVybCI6Imh0dHA6XC9cL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3Jhdml0eWZvcm1zXC9pbWFnZXNcL3NwaW5uZXIuZ2lmIn07alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X3JlbmRlcicsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGN1cnJlbnRQYWdlKXtpZihmb3JtSWQgPT0gMjMpIHtpZih3aW5kb3dbJ2pRdWVyeSddKXtpZighd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10pd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10gPSBuZXcgQXJyYXkoKTt3aW5kb3dbJ2dmX2Zvcm1fY29uZGl0aW9uYWxfbG9naWMnXVsyM10gPSB7J2xvZ2ljJyA6IHs0OiB7ImZpZWxkIjp7ImFjdGlvblR5cGUiOiJoaWRlIiwibG9naWNUeXBlIjoiYWxsIiwicnVsZXMiOlt7ImZpZWxkSWQiOiI1Iiwib3BlcmF0b3IiOiJpc25vdCIsInZhbHVlIjoiVW5pdGVkIFN0YXRlcyJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9IH0sICdkZXBlbmRlbnRzJyA6IHs0OiBbNF0gfSwgJ2FuaW1hdGlvbicgOiAwICwgJ2RlZmF1bHRzJyA6IHsiNSI6IlVuaXRlZCBTdGF0ZXMifSB9OyBpZighd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10pd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10gPSAnZGVjaW1hbF9kb3QnO2pRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtnZl9hcHBseV9ydWxlcygyMywgWzRdLCB0cnVlKTtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykuc2hvdygpO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIFsyMywgbnVsbCwgdHJ1ZV0pO30gKTt9IGdmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzIzXzUsI2lucHV0XzIzXzQnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9IH0gKTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBmaWVsZHMsIGlzSW5pdCl7Z2Zvcm1Jbml0Q2hvc2VuRmllbGRzKCcjaW5wdXRfMjNfNSwjaW5wdXRfMjNfNCcsJ05vIHJlc3VsdHMgbWF0Y2hlZCcpO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCAxXSkgfSApOyA8L3NjcmlwdD4=
Can't Make the time?
Can't Make the Webinar Time?

Request the Recording!
If you haven’t had these virtual machine problems yet – you will! These VM problems and their solutions have been selected based on the real-world feedback from thousands of VMware Admins and you’ll have two vExperts on the webinar to offer insight and remedies.
arrow-right-green
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX3Vua25vd24gZ2Zvcm1fd3JhcHBlcicgaWQ9J2dmb3JtX3dyYXBwZXJfMjMnIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxhIGlkPSdnZl8yMycgbmFtZT0nZ2ZfMjMnIGNsYXNzPSdnZm9ybV9hbmNob3InID48L2E+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV8yMycgIGFjdGlvbj0nL3RvcC01LWVudGVycHJpc2UtdHlwZS0xLWh5cGVydmlzb3JzLyNnZl8yMyc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2JvZHknPjx1bCBpZD0nZ2Zvcm1fZmllbGRzXzIzJyBjbGFzcz0nZ2Zvcm1fZmllbGRzIHRvcF9sYWJlbCBmb3JtX3N1YmxhYmVsX2JlbG93IGRlc2NyaXB0aW9uX2JlbG93Jz48bGkgaWQ9J2ZpZWxkXzIzXzEnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMScgPkZpcnN0IE5hbWU8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzEnIGlkPSdpbnB1dF8yM18xJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzEnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfMicgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM18yJyA+TGFzdCBOYW1lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8yJyBpZD0naW5wdXRfMjNfMicgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PScyJyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzMnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMycgPkVtYWlsPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9J2lucHV0XzMnIGlkPSdpbnB1dF8yM18zJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyB0YWJpbmRleD0nMycgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNScgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM181JyA+Q291bnRyeTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48c2VsZWN0IG5hbWU9J2lucHV0XzUnIGlkPSdpbnB1dF8yM181JyBvbmNoYW5nZT0nZ2ZfYXBwbHlfcnVsZXMoMjMsWzRdKTsnIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzQnID48b3B0aW9uIHZhbHVlPSdVbml0ZWQgU3RhdGVzJyBzZWxlY3RlZD0nc2VsZWN0ZWQnPlVuaXRlZCBTdGF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW5hZGEnID5DYW5hZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVbml0ZWQgS2luZ2RvbScgPlVuaXRlZCBLaW5nZG9tPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJhbGlhJyA+QXVzdHJhbGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWZnaGFuaXN0YW4nID5BZmdoYW5pc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYmFuaWEnID5BbGJhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWxnZXJpYScgPkFsZ2VyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbWVyaWNhbiBTYW1vYScgPkFtZXJpY2FuIFNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW5kb3JyYScgPkFuZG9ycmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbmdvbGEnID5BbmdvbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbnRpZ3VhIGFuZCBCYXJidWRhJyA+QW50aWd1YSBhbmQgQmFyYnVkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyZ2VudGluYScgPkFyZ2VudGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVuaWEnID5Bcm1lbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJpYScgPkF1c3RyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBemVyYmFpamFuJyA+QXplcmJhaWphbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhaGFtYXMnID5CYWhhbWFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFocmFpbicgPkJhaHJhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYW5nbGFkZXNoJyA+QmFuZ2xhZGVzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhcmJhZG9zJyA+QmFyYmFkb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxhcnVzJyA+QmVsYXJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGdpdW0nID5CZWxnaXVtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsaXplJyA+QmVsaXplPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVuaW4nID5CZW5pbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Jlcm11ZGEnID5CZXJtdWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmh1dGFuJyA+Qmh1dGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm9saXZpYScgPkJvbGl2aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb3NuaWEgYW5kIEhlcnplZ292aW5hJyA+Qm9zbmlhIGFuZCBIZXJ6ZWdvdmluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JvdHN3YW5hJyA+Qm90c3dhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcmF6aWwnID5CcmF6aWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcnVuZWknID5CcnVuZWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCdWxnYXJpYScgPkJ1bGdhcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVya2luYSBGYXNvJyA+QnVya2luYSBGYXNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVydW5kaScgPkJ1cnVuZGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW1ib2RpYScgPkNhbWJvZGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FtZXJvb24nID5DYW1lcm9vbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhcGUgVmVyZGUnID5DYXBlIFZlcmRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2F5bWFuIElzbGFuZHMnID5DYXltYW4gSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycgPkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoYWQnID5DaGFkPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2hpbGUnID5DaGlsZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoaW5hJyA+Q2hpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb2xvbWJpYScgPkNvbG9tYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29tb3JvcycgPkNvbW9yb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUnID5Db25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgUmVwdWJsaWMgb2YgdGhlJyA+Q29uZ28sIFJlcHVibGljIG9mIHRoZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvc3RhIFJpY2EnID5Db3N0YSBSaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlJyA+QyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3JvYXRpYScgPkNyb2F0aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDdWJhJyA+Q3ViYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N5cHJ1cycgPkN5cHJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N6ZWNoIFJlcHVibGljJyA+Q3plY2ggUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZW5tYXJrJyA+RGVubWFyazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RqaWJvdXRpJyA+RGppYm91dGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEb21pbmljYScgPkRvbWluaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRG9taW5pY2FuIFJlcHVibGljJyA+RG9taW5pY2FuIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWFzdCBUaW1vcicgPkVhc3QgVGltb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFY3VhZG9yJyA+RWN1YWRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VneXB0JyA+RWd5cHQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFbCBTYWx2YWRvcicgPkVsIFNhbHZhZG9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXF1YXRvcmlhbCBHdWluZWEnID5FcXVhdG9yaWFsIEd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VyaXRyZWEnID5Fcml0cmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXN0b25pYScgPkVzdG9uaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFdGhpb3BpYScgPkV0aGlvcGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmlqaScgPkZpamk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGaW5sYW5kJyA+RmlubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZyYW5jZScgPkZyYW5jZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dhYm9uJyA+R2Fib248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHYW1iaWEnID5HYW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZW9yZ2lhJyA+R2VvcmdpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlcm1hbnknID5HZXJtYW55PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2hhbmEnID5HaGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVjZScgPkdyZWVjZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVubGFuZCcgPkdyZWVubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZW5hZGEnID5HcmVuYWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VhbScgPkd1YW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWF0ZW1hbGEnID5HdWF0ZW1hbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEnID5HdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEtQmlzc2F1JyA+R3VpbmVhLUJpc3NhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1eWFuYScgPkd1eWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hhaXRpJyA+SGFpdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIb25kdXJhcycgPkhvbmR1cmFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSG9uZyBLb25nJyA+SG9uZyBLb25nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSHVuZ2FyeScgPkh1bmdhcnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJY2VsYW5kJyA+SWNlbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhJyA+SW5kaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRvbmVzaWEnID5JbmRvbmVzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmFuJyA+SXJhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyYXEnID5JcmFxPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJlbGFuZCcgPklyZWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJc3JhZWwnID5Jc3JhZWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJdGFseScgPkl0YWx5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSmFtYWljYScgPkphbWFpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdKYXBhbicgPkphcGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSm9yZGFuJyA+Sm9yZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2F6YWtoc3RhbicgPkthemFraHN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW55YScgPktlbnlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2lyaWJhdGknID5LaXJpYmF0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIEtvcmVhJyA+Tm9ydGggS29yZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBLb3JlYScgPlNvdXRoIEtvcmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3V3YWl0JyA+S3V3YWl0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3lyZ3l6c3RhbicgPkt5cmd5enN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMYW9zJyA+TGFvczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xhdHZpYScgPkxhdHZpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xlYmFub24nID5MZWJhbm9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGVzb3RobycgPkxlc290aG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWJlcmlhJyA+TGliZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpYnlhJyA+TGlieWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWVjaHRlbnN0ZWluJyA+TGllY2h0ZW5zdGVpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpdGh1YW5pYScgPkxpdGh1YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0x1eGVtYm91cmcnID5MdXhlbWJvdXJnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFjZWRvbmlhJyA+TWFjZWRvbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFkYWdhc2NhcicgPk1hZGFnYXNjYXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxhd2knID5NYWxhd2k8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxheXNpYScgPk1hbGF5c2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsZGl2ZXMnID5NYWxkaXZlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGknID5NYWxpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsdGEnID5NYWx0YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnNoYWxsIElzbGFuZHMnID5NYXJzaGFsbCBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF1cml0YW5pYScgPk1hdXJpdGFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXVyaXRpdXMnID5NYXVyaXRpdXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNZXhpY28nID5NZXhpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaWNyb25lc2lhJyA+TWljcm9uZXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbGRvdmEnID5Nb2xkb3ZhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uYWNvJyA+TW9uYWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uZ29saWEnID5Nb25nb2xpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRlbmVncm8nID5Nb250ZW5lZ3JvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9yb2NjbycgPk1vcm9jY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb3phbWJpcXVlJyA+TW96YW1iaXF1ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J015YW5tYXInID5NeWFubWFyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmFtaWJpYScgPk5hbWliaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOYXVydScgPk5hdXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVwYWwnID5OZXBhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldGhlcmxhbmRzJyA+TmV0aGVybGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgWmVhbGFuZCcgPk5ldyBaZWFsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmljYXJhZ3VhJyA+TmljYXJhZ3VhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmlnZXInID5OaWdlcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pZ2VyaWEnID5OaWdlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9yd2F5JyA+Tm9yd2F5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzJyA+Tm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT21hbicgPk9tYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWtpc3RhbicgPlBha2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFsYXUnID5QYWxhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbGVzdGluZScgPlBhbGVzdGluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbmFtYScgPlBhbmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhcHVhIE5ldyBHdWluZWEnID5QYXB1YSBOZXcgR3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFyYWd1YXknID5QYXJhZ3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BlcnUnID5QZXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGhpbGlwcGluZXMnID5QaGlsaXBwaW5lczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvbGFuZCcgPlBvbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvcnR1Z2FsJyA+UG9ydHVnYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQdWVydG8gUmljbycgPlB1ZXJ0byBSaWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUWF0YXInID5RYXRhcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1JvbWFuaWEnID5Sb21hbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUnVzc2lhJyA+UnVzc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUndhbmRhJyA+UndhbmRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgS2l0dHMgYW5kIE5ldmlzJyA+U2FpbnQgS2l0dHMgYW5kIE5ldmlzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgTHVjaWEnID5TYWludCBMdWNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzJyA+U2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW1vYScgPlNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FuIE1hcmlubycgPlNhbiBNYXJpbm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW8gVG9tZSBhbmQgUHJpbmNpcGUnID5TYW8gVG9tZSBhbmQgUHJpbmNpcGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYXVkaSBBcmFiaWEnID5TYXVkaSBBcmFiaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZW5lZ2FsJyA+U2VuZWdhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NlcmJpYSBhbmQgTW9udGVuZWdybycgPlNlcmJpYSBhbmQgTW9udGVuZWdybzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NleWNoZWxsZXMnID5TZXljaGVsbGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2llcnJhIExlb25lJyA+U2llcnJhIExlb25lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2luZ2Fwb3JlJyA+U2luZ2Fwb3JlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2xvdmFraWEnID5TbG92YWtpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Nsb3ZlbmlhJyA+U2xvdmVuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb2xvbW9uIElzbGFuZHMnID5Tb2xvbW9uIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb21hbGlhJyA+U29tYWxpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIEFmcmljYScgPlNvdXRoIEFmcmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NwYWluJyA+U3BhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTcmkgTGFua2EnID5TcmkgTGFua2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdWRhbicgPlN1ZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VkYW4sIFNvdXRoJyA+U3VkYW4sIFNvdXRoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VyaW5hbWUnID5TdXJpbmFtZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3YXppbGFuZCcgPlN3YXppbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3ZWRlbicgPlN3ZWRlbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3aXR6ZXJsYW5kJyA+U3dpdHplcmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTeXJpYScgPlN5cmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFpd2FuJyA+VGFpd2FuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFqaWtpc3RhbicgPlRhamlraXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUYW56YW5pYScgPlRhbnphbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGhhaWxhbmQnID5UaGFpbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RvZ28nID5Ub2dvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVG9uZ2EnID5Ub25nYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RyaW5pZGFkIGFuZCBUb2JhZ28nID5UcmluaWRhZCBhbmQgVG9iYWdvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVuaXNpYScgPlR1bmlzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrZXknID5UdXJrZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrbWVuaXN0YW4nID5UdXJrbWVuaXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXZhbHUnID5UdXZhbHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVZ2FuZGEnID5VZ2FuZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVa3JhaW5lJyA+VWtyYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VuaXRlZCBBcmFiIEVtaXJhdGVzJyA+VW5pdGVkIEFyYWIgRW1pcmF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVcnVndWF5JyA+VXJ1Z3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1V6YmVraXN0YW4nID5VemJla2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmFudWF0dScgPlZhbnVhdHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWYXRpY2FuIENpdHknID5WYXRpY2FuIENpdHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWZW5lenVlbGEnID5WZW5lenVlbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaWV0bmFtJyA+VmlldG5hbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbiBJc2xhbmRzLCBCcml0aXNoJyA+VmlyZ2luIElzbGFuZHMsIEJyaXRpc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW4gSXNsYW5kcywgVS5TLicgPlZpcmdpbiBJc2xhbmRzLCBVLlMuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nWWVtZW4nID5ZZW1lbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1phbWJpYScgPlphbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ppbWJhYndlJyA+WmltYmFid2U8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzQnID5TdGF0ZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF80JyBpZD0naW5wdXRfMjNfNCcgIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzUnID48b3B0aW9uIHZhbHVlPSdBbGFiYW1hJyA+QWxhYmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYXNrYScgPkFsYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyaXpvbmEnID5Bcml6b25hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJrYW5zYXMnID5BcmthbnNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbGlmb3JuaWEnID5DYWxpZm9ybmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29sb3JhZG8nID5Db2xvcmFkbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvbm5lY3RpY3V0JyA+Q29ubmVjdGljdXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZWxhd2FyZScgPkRlbGF3YXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGlzdHJpY3Qgb2YgQ29sdW1iaWEnID5EaXN0cmljdCBvZiBDb2x1bWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Zsb3JpZGEnID5GbG9yaWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VvcmdpYScgPkdlb3JnaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIYXdhaWknID5IYXdhaWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJZGFobycgPklkYWhvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWxsaW5vaXMnID5JbGxpbm9pczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhbmEnID5JbmRpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW93YScgPklvd2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLYW5zYXMnID5LYW5zYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW50dWNreScgPktlbnR1Y2t5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTG91aXNpYW5hJyA+TG91aXNpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFpbmUnID5NYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnlsYW5kJyA+TWFyeWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXNzYWNodXNldHRzJyA+TWFzc2FjaHVzZXR0czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pY2hpZ2FuJyA+TWljaGlnYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaW5uZXNvdGEnID5NaW5uZXNvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaXNzaXNzaXBwaScgPk1pc3Npc3NpcHBpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlzc291cmknID5NaXNzb3VyaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRhbmEnID5Nb250YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVicmFza2EnID5OZWJyYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldmFkYScgPk5ldmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBIYW1wc2hpcmUnID5OZXcgSGFtcHNoaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IEplcnNleScgPk5ldyBKZXJzZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgTWV4aWNvJyA+TmV3IE1leGljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBZb3JrJyA+TmV3IFlvcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBDYXJvbGluYScgPk5vcnRoIENhcm9saW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggRGFrb3RhJyA+Tm9ydGggRGFrb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT2hpbycgPk9oaW88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPa2xhaG9tYScgPk9rbGFob21hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT3JlZ29uJyA+T3JlZ29uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGVubnN5bHZhbmlhJyA+UGVubnN5bHZhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUmhvZGUgSXNsYW5kJyA+UmhvZGUgSXNsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggQ2Fyb2xpbmEnID5Tb3V0aCBDYXJvbGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIERha290YScgPlNvdXRoIERha290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Rlbm5lc3NlZScgPlRlbm5lc3NlZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RleGFzJyA+VGV4YXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVdGFoJyA+VXRhaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Zlcm1vbnQnID5WZXJtb250PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luaWEnID5WaXJnaW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dhc2hpbmd0b24nID5XYXNoaW5ndG9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2VzdCBWaXJnaW5pYScgPldlc3QgVmlyZ2luaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXaXNjb25zaW4nID5XaXNjb25zaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXeW9taW5nJyA+V3lvbWluZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBBbWVyaWNhcycgPkFybWVkIEZvcmNlcyBBbWVyaWNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBFdXJvcGUnID5Bcm1lZCBGb3JjZXMgRXVyb3BlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZWQgRm9yY2VzIFBhY2lmaWMnID5Bcm1lZCBGb3JjZXMgUGFjaWZpYzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM182JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNicgPlBob25lPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfNicgaWQ9J2lucHV0XzIzXzYnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nIHRhYmluZGV4PSc2JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzcnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNycgPkNvbXBhbnk8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzcnIGlkPSdpbnB1dF8yM183JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzcnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfOCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzgnID5Kb2IgVGl0bGU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF84JyBpZD0naW5wdXRfMjNfOCcgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc4JyAgIC8+PC9kaXY+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fZm9vdGVyIHRvcF9sYWJlbCc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIGlkPSdnZm9ybV9zdWJtaXRfYnV0dG9uXzIzJyBjbGFzcz0nZ2Zvcm1fYnV0dG9uIGJ1dHRvbicgdmFsdWU9J1JlZ2lzdGVyIE5vdyEnIHRhYmluZGV4PSc5JyBvbmNsaWNrPSdpZih3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjMiXSl7cmV0dXJuIGZhbHNlO30gIHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yMyJdPXRydWU7ICAnIC8+IDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2FqYXgnIHZhbHVlPSdmb3JtX2lkPTIzJmFtcDt0aXRsZT0mYW1wO2Rlc2NyaXB0aW9uPSZhbXA7dGFiaW5kZXg9MScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0naXNfc3VibWl0XzIzJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nMjMnIC8+CiAgICAgICAgICAgIAogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV91bmlxdWVfaWQnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J3N0YXRlXzIzJyB2YWx1ZT0nV3lKYlhTSXNJbU5oT0RVM1ltWXdNRFl3TkRjd01UbGpNbUV5TWpBMk5HWmhaREF3TnpBMUlsMD0nIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgdmFsdWU9JzAnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aWZyYW1lIHN0eWxlPSdkaXNwbGF5Om5vbmU7d2lkdGg6MHB4O2hlaWdodDowcHg7JyBzcmM9J2Fib3V0OmJsYW5rJyBuYW1lPSdnZm9ybV9hamF4X2ZyYW1lXzIzJyBpZD0nZ2Zvcm1fYWpheF9mcmFtZV8yMyc+PC9pZnJhbWU+CiAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKXtnZm9ybUluaXRTcGlubmVyKCAyMywgJ2h0dHA6Ly93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV8yMycpLmxvYWQoIGZ1bmN0aW9uKCl7dmFyIGNvbnRlbnRzID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnKicpLmh0bWwoKTt2YXIgaXNfcG9zdGJhY2sgPSBjb250ZW50cy5pbmRleE9mKCdHRl9BSkFYX1BPU1RCQUNLJykgPj0gMDtpZighaXNfcG9zdGJhY2spe3JldHVybjt9dmFyIGZvcm1fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV93cmFwcGVyXzIzJyk7dmFyIGlzX2NvbmZpcm1hdGlvbiA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV9jb25maXJtYXRpb25fd3JhcHBlcl8yMycpLmxlbmd0aCA+IDA7dmFyIGlzX3JlZGlyZWN0ID0gY29udGVudHMuaW5kZXhPZignZ2Zvcm1SZWRpcmVjdCgpeycpID49IDA7dmFyIGlzX2Zvcm0gPSBmb3JtX2NvbnRlbnQubGVuZ3RoID4gMCAmJiAhIGlzX3JlZGlyZWN0ICYmICEgaXNfY29uZmlybWF0aW9uO2lmKGlzX2Zvcm0pe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5odG1sKGZvcm1fY29udGVudC5odG1sKCkpO3NldFRpbWVvdXQoIGZ1bmN0aW9uKCkgeyAvKiBkZWxheSB0aGUgc2Nyb2xsIGJ5IDUwIG1pbGxpc2Vjb25kcyB0byBmaXggYSBidWcgaW4gY2hyb21lICovIGpRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5vZmZzZXQoKS50b3ApOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzIzJykudmFsKCk7Z2Zvcm1Jbml0U3Bpbm5lciggMjMsICdodHRwOi8vd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcGFnZV9sb2FkZWQnLCBbMjMsIGN1cnJlbnRfcGFnZV0pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18yMyddID0gZmFsc2U7fWVsc2UgaWYoIWlzX3JlZGlyZWN0KXt2YXIgY29uZmlybWF0aW9uX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykuaHRtbCgpO2lmKCFjb25maXJtYXRpb25fY29udGVudCl7Y29uZmlybWF0aW9uX2NvbnRlbnQgPSBjb250ZW50czt9c2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5yZXBsYWNlV2l0aCgnPCcgKyAnZGl2IGlkPVwnZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzXCcgY2xhc3M9XCdnZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZV8yMyBnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VcJycgKyAnPicgKyBjb25maXJtYXRpb25fY29udGVudCArICc8JyArICcvZGl2JyArICc+Jyk7alF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykub2Zmc2V0KCkudG9wKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX2NvbmZpcm1hdGlvbl9sb2FkZWQnLCBbMjNdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMjMnXSA9IGZhbHNlO30sIDUwKTt9ZWxzZXtqUXVlcnkoJyNnZm9ybV8yMycpLmFwcGVuZChjb250ZW50cyk7aWYod2luZG93WydnZm9ybVJlZGlyZWN0J10pIHtnZm9ybVJlZGlyZWN0KCk7fX1qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCBjdXJyZW50X3BhZ2VdKTt9ICk7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4gaWYodHlwZW9mIGdmX2dsb2JhbCA9PSAndW5kZWZpbmVkJykgdmFyIGdmX2dsb2JhbCA9IHsiZ2ZfY3VycmVuY3lfY29uZmlnIjp7Im5hbWUiOiJVLlMuIERvbGxhciIsInN5bWJvbF9sZWZ0IjoiJCIsInN5bWJvbF9yaWdodCI6IiIsInN5bWJvbF9wYWRkaW5nIjoiIiwidGhvdXNhbmRfc2VwYXJhdG9yIjoiLCIsImRlY2ltYWxfc2VwYXJhdG9yIjoiLiIsImRlY2ltYWxzIjoyfSwiYmFzZV91cmwiOiJodHRwOlwvXC93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3JtcyIsIm51bWJlcl9mb3JtYXRzIjpbXSwic3Bpbm5lclVybCI6Imh0dHA6XC9cL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3Jhdml0eWZvcm1zXC9pbWFnZXNcL3NwaW5uZXIuZ2lmIn07alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X3JlbmRlcicsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGN1cnJlbnRQYWdlKXtpZihmb3JtSWQgPT0gMjMpIHtpZih3aW5kb3dbJ2pRdWVyeSddKXtpZighd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10pd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10gPSBuZXcgQXJyYXkoKTt3aW5kb3dbJ2dmX2Zvcm1fY29uZGl0aW9uYWxfbG9naWMnXVsyM10gPSB7J2xvZ2ljJyA6IHs0OiB7ImZpZWxkIjp7ImFjdGlvblR5cGUiOiJoaWRlIiwibG9naWNUeXBlIjoiYWxsIiwicnVsZXMiOlt7ImZpZWxkSWQiOiI1Iiwib3BlcmF0b3IiOiJpc25vdCIsInZhbHVlIjoiVW5pdGVkIFN0YXRlcyJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9IH0sICdkZXBlbmRlbnRzJyA6IHs0OiBbNF0gfSwgJ2FuaW1hdGlvbicgOiAwICwgJ2RlZmF1bHRzJyA6IHsiNSI6IlVuaXRlZCBTdGF0ZXMifSB9OyBpZighd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10pd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10gPSAnZGVjaW1hbF9kb3QnO2pRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtnZl9hcHBseV9ydWxlcygyMywgWzRdLCB0cnVlKTtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykuc2hvdygpO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIFsyMywgbnVsbCwgdHJ1ZV0pO30gKTt9IGdmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzIzXzUsI2lucHV0XzIzXzQnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9IH0gKTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBmaWVsZHMsIGlzSW5pdCl7Z2Zvcm1Jbml0Q2hvc2VuRmllbGRzKCcjaW5wdXRfMjNfNSwjaW5wdXRfMjNfNCcsJ05vIHJlc3VsdHMgbWF0Y2hlZCcpO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCAxXSkgfSApOyA8L3NjcmlwdD4=