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

Top

Review: Solarwinds Virtualization Manager 7.0 – New Recommendations and Remediations!

Review: Solarwinds Virtualization Manager 7.0 – New Recommendations and Remediations!

Whether it’s a small business or the largest enterprise, server virtualization has become the norm. New servers are “virtual first” and even the most critical physical servers are now being virtualized. Virtual machines running on today’s virtual infrastructures are now the revenue-generating, tier-1, most critical applications and businesses will tell you – these applications cannot go down (or run slow).

Datacenter resource monitoring has always been important but never before have resource monitoring, capacity planning, and troubleshooting been as important as it is today. That’s because of the combination of more virtualized critical applications, more complex applications, greater levels of consolidation, and applications being distributed across multiple data centers and public clouds.

When you consider what tools to use for monitoring today’s virtual infrastructures, you must make your choice carefully. Traditional virtualization monitoring features have now become “table stakes”, as the saying goes. What IT pros need are monitoring solutions that prevent problems before they happen and, should a problem occur, a solution that provides actionable intelligence and automated remediation to solve problems quickly (and even automatically).

We had reviewed Solarwinds Virtualization Manager version 6, back in 2013 and were impressed. Since then, developers and engineers at Solarwinds have been hard at work adding some very powerful new features to “VMAN”, as it’s affectionately called.

To learn about everything that is new with Virtualization Manager, we took it for a test drive in our lab. Since we covered the download, installation, and initial configuration in great detail, we’ve detailed that in a separate post, located here: Getting Started with Solarwinds Virtualization Manager 7.

In this article, we’ll cover what Solarwinds Virtualization Manager is and how it helps you, then wrap it up with our take is on the new release – version 7.

But first, let’s step back for a second and answer this question…

What is SolarWinds Virtualization Manager 7?

According to Solarwinds, Virtualization Manager 7.0 is used to “Optimize and fix vSphere and Hyper-V issues in minutes”.

The feature list includes:

  • Monitoring of VMware vSphere and Microsoft Hyper-V virtual infrastructures
  • Virtual infrastructure capacity planning
  • Recommendations for optimum configuration and placement of VMs
  • Management of the virtual infrastructure with the ability to perform storage and host migrations, add/remove virtual CPU, and manage virtual machine snapshots
  • Control VM Sprawl including the ability to power off idle VMs, delete powered-off VMs, delete orphaned files, and delete snapshots to reclaim resources
  • Right-size VMs for optimal performance -View and fix over/under allocated CPU and memory.
  • View VM’s with high Co-Stop and decrease vCPU for better performance.
  • Monitor the hardware health of virtualization hosts
  • Report on virtual chargeback and showback
  • Perform automated remediation
  • Integrate with other Solarwinds products such as Orion, for network monitoring, and Server & Application Monitoring (SAM) for complete view of your application stack

According to survey’s done with customers, Virtualization Manager was able to…

“Reduce downtime by an average of 59%, decreasing troubleshooting time by an average of 65%, and reclaiming an average of 23% of your virtual resources.”

To see what the latest version of Virtualization Manager offered, we put it through its paces in our lab.

Virtualization Manager 7 – Saving the Day!

Note: You can read our post on Getting Started with Virtualization Manager, to learn how to download, deploy, and configure it. Or if you want to just Download Virtualization Manager 7, you can do that.

When you login to Virtualization Manager you’ll be brought to the Solarwinds Virtualization Manager Virtualization Summary Dashboard, shown in Figure 1. You’ll immediately see whether there are any issues that you should act on in the All Active Virtualization Alerts panel. The same dashboard also provides maps of the virtual infrastructure, and the top resource consumers across CPU, memory, and storage.

So how can VMAN can it save the day? Even before VMAN has time to fully understand the norms of the environment and begin making recommendations on workload balancing, VMAN can immediately provide insight into the virtual infrastructure and identify resource contention issues that you may not even know that you had.

figure-1-the-virtualization-manager-vmware-administration-dashboard

Figure 1 – The Virtualization Manager VMware Administration Dashboard

For example, in the lab test, VMAN immediately told us about a virtual machine whose disk was almost full (shown in Figure 2 below).

Figure 2 - Virtual Machine Disk Nearly Full

Figure 2 – Virtual Machine Disk Nearly Full

Virtualization Manager also reported that our vSphere cluster was predicted to run out of memory within the next 7 days (at current workloads), that two virtual machines were experiencing high storage latency, that there were virtual machines with large and stale snapshots and much more (the full list is in Figure 3, below).

Figure 3 - All Virtualization Alerts

Figure 3 – All Virtualization Alerts

By alerting us about these issues and allowing us to take action before the problems impact production, VMAN was able to prevent downtime for the applications running on those virtual machines. Consider this – what if that was a critical application with a revenue-generating application running inside? Besides preventing outages, VMAN was also able to identify performance bottlenecks and recommend actions for remediation. For example, in Figure 4 you can see a virtual machine that is experiencing high disk latency. This means that the application running on this virtual machine is likely running slower than they should. To remediate this, VMAN recommends investigating the I/O usage on those disks and take action.

Figure 4 - Identifying Disk Latency with Virtualization Manager

Figure 4 – Identifying Disk Latency with Virtualization Manager

What’s New in Virtualization Manager 7?

As I eluded to earlier, this latest release, version 7.0 has several new features that fit into the problem prediction / remediation / avoidance category (which I like to call “saving your bacon”). New 7.0 features include:

  • Actionable intelligence – built-in recommendations with actions that fix active problems and prevent new ones in your environment.
  • Prevent future performance problems – historical trends and patterns give predictive recommendations for VM resource configuration and placement.
  • Schedule recommendations after hours – new scheduling options allow recommendations to be scheduled to run after hours at preselected times.

Here are some examples of the types of recommendations that VMAN provides (shown in Figure 5):

  • Recommendation to resolve active performance issues such as a VM that will run out of memory on a specific host (shown in Figure 5, below)
  • Recommendations to resolve future / predicted performance issues, such as a datastore that will run out of space
  • Optimization recommendations to better balance your workloads and ensure optimal performance in the future

Figure 5 – Virtualization Manager Recommendations

Figure 6 – Recommended Actions and Remediation

Take special note of that button at the bottom of Figure 6 that says “Apply this Recommendation”. Yes, that DOES mean that you can make changes to correct a performance issue with a virtual machine, through Virtualization Manager, in a fully automated way, all through Virtualization Manager! Now that is very cool!

Virtualization Manager 7 and the Orion Platform

Solarwinds high-level platform is called Orion and their products – such as network performance monitor (NPM), Virtualization Manager (VMAN), Server Application Monitor (SAM), and more – run inside. The Orion platform provides a common integration, ability to share data between applications, common database, and common reports. When using Virtualization Manager, there is no separate Orion license to purchase as VMAN is a module in the platform.

Today, Virtualization Manager is roughly 98% all in the Orion platform (as a module) and quickly moving to 100%. Until the time comes that Virtualization Manager’s functionality is completely folded into the Orion platform, there will be two different interfaces available for Virtualization Manager – the VMAN appliance web interface and the Orion Virtualization interface. However, the only reason to use the VAM appliance web interface anymore is if you need to do some capacity planning what-if scenario forecasting (something that is coming soon).

Besides the new recommendation and remediation features discussed above, the Orion/Virtualization interface offers reporting such as…

  • Storage I/O and Datastore Latency Reporting (Figure 7, below)

Figure 7 – Datastore Latency Reporting in Virtualization Manager

  • Virtualization Sprawl Reporting (in Figure 8, below)

Figure 8 – Virtualization Sprawl Reporting in Virtualization Manager

Final Thoughts

Based on my experience in the past and during this review of the latest version, I’m very impressed with all that VMAN is now capable of. Virtualization Manager retains its strengths of being a great tool for performance monitoring, capacity planning, and virtual infrastructure troubleshooting and adds great new features around recommendation, root cause analysis, and even automated remediation. I especially like the redesigned Orion Virtualization Manager interface. Overall, I’m impressed and I recommend that you try out Solarwinds Virtualization Manager for yourself!

Download the free evaluation of Solarwinds Virtualization Manager here.

Review Overview

Ease of Deployment & Configuration
9
Feature Set
9.5
Overall Completeness for Purpose
9
Customization (UI, Dashboards, Reporting)
9
9.1

Excellent Tool for Virtualization Management!

Strengths:

Very full set of features enables comprehensive monitoring

Easy deployment

Great new features for problem prevention, recommendations for remediation, and automated remediation

Optional integration with application manager and network manager

Room for Improvement:

Looking forward to complete transition to Virtualization Manage on the Orion platform

Next Story

This is the most recent story.

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.
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX2Nocm9tZSBnZm9ybV93cmFwcGVyJyBpZD0nZ2Zvcm1fd3JhcHBlcl8yMycgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGEgaWQ9J2dmXzIzJyBuYW1lPSdnZl8yMycgY2xhc3M9J2dmb3JtX2FuY2hvcicgPjwvYT48Zm9ybSBtZXRob2Q9J3Bvc3QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnIHRhcmdldD0nZ2Zvcm1fYWpheF9mcmFtZV8yMycgaWQ9J2dmb3JtXzIzJyAgYWN0aW9uPScvcmV2aWV3LXNvbGFyd2luZHMtdmlydHVhbGl6YXRpb24tbWFuYWdlci03LTAvI2dmXzIzJz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fYm9keSc+PHVsIGlkPSdnZm9ybV9maWVsZHNfMjMnIGNsYXNzPSdnZm9ybV9maWVsZHMgdG9wX2xhYmVsIGZvcm1fc3VibGFiZWxfYmVsb3cgZGVzY3JpcHRpb25fYmVsb3cnPjxsaSBpZD0nZmllbGRfMjNfMScgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM18xJyA+Rmlyc3QgTmFtZTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfMScgaWQ9J2lucHV0XzIzXzEnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nMScgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM18yJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzInID5MYXN0IE5hbWU8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzInIGlkPSdpbnB1dF8yM18yJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzInICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfMycgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM18zJyA+RW1haWw8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0naW5wdXRfMycgaWQ9J2lucHV0XzIzXzMnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nIHRhYmluZGV4PSczJyAgIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM181JyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzUnID5Db3VudHJ5PHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxzZWxlY3QgbmFtZT0naW5wdXRfNScgaWQ9J2lucHV0XzIzXzUnIG9uY2hhbmdlPSdnZl9hcHBseV9ydWxlcygyMyxbNF0pOycgY2xhc3M9J21lZGl1bSBnZmllbGRfc2VsZWN0JyB0YWJpbmRleD0nNCcgPjxvcHRpb24gdmFsdWU9J1VuaXRlZCBTdGF0ZXMnIHNlbGVjdGVkPSdzZWxlY3RlZCc+VW5pdGVkIFN0YXRlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbmFkYScgPkNhbmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VuaXRlZCBLaW5nZG9tJyA+VW5pdGVkIEtpbmdkb208L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBdXN0cmFsaWEnID5BdXN0cmFsaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBZmdoYW5pc3RhbicgPkFmZ2hhbmlzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWxiYW5pYScgPkFsYmFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGdlcmlhJyA+QWxnZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FtZXJpY2FuIFNhbW9hJyA+QW1lcmljYW4gU2Ftb2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbmRvcnJhJyA+QW5kb3JyYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FuZ29sYScgPkFuZ29sYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FudGlndWEgYW5kIEJhcmJ1ZGEnID5BbnRpZ3VhIGFuZCBCYXJidWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJnZW50aW5hJyA+QXJnZW50aW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZW5pYScgPkFybWVuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBdXN0cmlhJyA+QXVzdHJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F6ZXJiYWlqYW4nID5BemVyYmFpamFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFoYW1hcycgPkJhaGFtYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYWhyYWluJyA+QmFocmFpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhbmdsYWRlc2gnID5CYW5nbGFkZXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFyYmFkb3MnID5CYXJiYWRvczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGFydXMnID5CZWxhcnVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsZ2l1bScgPkJlbGdpdW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxpemUnID5CZWxpemU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZW5pbicgPkJlbmluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVybXVkYScgPkJlcm11ZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCaHV0YW4nID5CaHV0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb2xpdmlhJyA+Qm9saXZpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Jvc25pYSBhbmQgSGVyemVnb3ZpbmEnID5Cb3NuaWEgYW5kIEhlcnplZ292aW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm90c3dhbmEnID5Cb3Rzd2FuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JyYXppbCcgPkJyYXppbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JydW5laScgPkJydW5laTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1bGdhcmlhJyA+QnVsZ2FyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCdXJraW5hIEZhc28nID5CdXJraW5hIEZhc288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCdXJ1bmRpJyA+QnVydW5kaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbWJvZGlhJyA+Q2FtYm9kaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW1lcm9vbicgPkNhbWVyb29uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FwZSBWZXJkZScgPkNhcGUgVmVyZGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYXltYW4gSXNsYW5kcycgPkNheW1hbiBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJyA+Q2VudHJhbCBBZnJpY2FuIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2hhZCcgPkNoYWQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGlsZScgPkNoaWxlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2hpbmEnID5DaGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbG9tYmlhJyA+Q29sb21iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb21vcm9zJyA+Q29tb3Jvczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbmdvLCBEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZScgPkNvbmdvLCBEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbmdvLCBSZXB1YmxpYyBvZiB0aGUnID5Db25nbywgUmVwdWJsaWMgb2YgdGhlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29zdGEgUmljYScgPkNvc3RhIFJpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDJm9jaXJjO3RlIGQmIzAzOTtJdm9pcmUnID5DJm9jaXJjO3RlIGQmIzAzOTtJdm9pcmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDcm9hdGlhJyA+Q3JvYXRpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N1YmEnID5DdWJhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3lwcnVzJyA+Q3lwcnVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3plY2ggUmVwdWJsaWMnID5DemVjaCBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Rlbm1hcmsnID5EZW5tYXJrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGppYm91dGknID5Eamlib3V0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RvbWluaWNhJyA+RG9taW5pY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEb21pbmljYW4gUmVwdWJsaWMnID5Eb21pbmljYW4gUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFYXN0IFRpbW9yJyA+RWFzdCBUaW1vcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VjdWFkb3InID5FY3VhZG9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWd5cHQnID5FZ3lwdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VsIFNhbHZhZG9yJyA+RWwgU2FsdmFkb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFcXVhdG9yaWFsIEd1aW5lYScgPkVxdWF0b3JpYWwgR3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXJpdHJlYScgPkVyaXRyZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFc3RvbmlhJyA+RXN0b25pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0V0aGlvcGlhJyA+RXRoaW9waWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGaWppJyA+RmlqaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZpbmxhbmQnID5GaW5sYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRnJhbmNlJyA+RnJhbmNlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2Fib24nID5HYWJvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dhbWJpYScgPkdhbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlb3JnaWEnID5HZW9yZ2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VybWFueScgPkdlcm1hbnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHaGFuYScgPkdoYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3JlZWNlJyA+R3JlZWNlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3JlZW5sYW5kJyA+R3JlZW5sYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3JlbmFkYScgPkdyZW5hZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWFtJyA+R3VhbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1YXRlbWFsYScgPkd1YXRlbWFsYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1aW5lYScgPkd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1aW5lYS1CaXNzYXUnID5HdWluZWEtQmlzc2F1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3V5YW5hJyA+R3V5YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSGFpdGknID5IYWl0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hvbmR1cmFzJyA+SG9uZHVyYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIb25nIEtvbmcnID5Ib25nIEtvbmc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIdW5nYXJ5JyA+SHVuZ2FyeTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ljZWxhbmQnID5JY2VsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW5kaWEnID5JbmRpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZG9uZXNpYScgPkluZG9uZXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyYW4nID5JcmFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJhcScgPklyYXE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmVsYW5kJyA+SXJlbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lzcmFlbCcgPklzcmFlbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0l0YWx5JyA+SXRhbHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdKYW1haWNhJyA+SmFtYWljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0phcGFuJyA+SmFwYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdKb3JkYW4nID5Kb3JkYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLYXpha2hzdGFuJyA+S2F6YWtoc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0tlbnlhJyA+S2VueWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLaXJpYmF0aScgPktpcmliYXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggS29yZWEnID5Ob3J0aCBLb3JlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIEtvcmVhJyA+U291dGggS29yZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLdXdhaXQnID5LdXdhaXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLeXJneXpzdGFuJyA+S3lyZ3l6c3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xhb3MnID5MYW9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGF0dmlhJyA+TGF0dmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGViYW5vbicgPkxlYmFub248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMZXNvdGhvJyA+TGVzb3Robzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpYmVyaWEnID5MaWJlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGlieWEnID5MaWJ5YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpZWNodGVuc3RlaW4nID5MaWVjaHRlbnN0ZWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGl0aHVhbmlhJyA+TGl0aHVhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTHV4ZW1ib3VyZycgPkx1eGVtYm91cmc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWNlZG9uaWEnID5NYWNlZG9uaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWRhZ2FzY2FyJyA+TWFkYWdhc2Nhcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGF3aScgPk1hbGF3aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGF5c2lhJyA+TWFsYXlzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxkaXZlcycgPk1hbGRpdmVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsaScgPk1hbGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWx0YScgPk1hbHRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFyc2hhbGwgSXNsYW5kcycgPk1hcnNoYWxsIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXVyaXRhbmlhJyA+TWF1cml0YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hdXJpdGl1cycgPk1hdXJpdGl1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01leGljbycgPk1leGljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pY3JvbmVzaWEnID5NaWNyb25lc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9sZG92YScgPk1vbGRvdmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb25hY28nID5Nb25hY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb25nb2xpYScgPk1vbmdvbGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9udGVuZWdybycgPk1vbnRlbmVncm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb3JvY2NvJyA+TW9yb2Njbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vemFtYmlxdWUnID5Nb3phbWJpcXVlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTXlhbm1hcicgPk15YW5tYXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOYW1pYmlhJyA+TmFtaWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05hdXJ1JyA+TmF1cnU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXBhbCcgPk5lcGFsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV0aGVybGFuZHMnID5OZXRoZXJsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBaZWFsYW5kJyA+TmV3IFplYWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOaWNhcmFndWEnID5OaWNhcmFndWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOaWdlcicgPk5pZ2VyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmlnZXJpYScgPk5pZ2VyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J3YXknID5Ob3J3YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnID5Ob3J0aGVybiBNYXJpYW5hIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPbWFuJyA+T21hbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Bha2lzdGFuJyA+UGFraXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWxhdScgPlBhbGF1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFsZXN0aW5lJyA+UGFsZXN0aW5lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFuYW1hJyA+UGFuYW1hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFwdWEgTmV3IEd1aW5lYScgPlBhcHVhIE5ldyBHdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYXJhZ3VheScgPlBhcmFndWF5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGVydScgPlBlcnU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQaGlsaXBwaW5lcycgPlBoaWxpcHBpbmVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUG9sYW5kJyA+UG9sYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUG9ydHVnYWwnID5Qb3J0dWdhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1B1ZXJ0byBSaWNvJyA+UHVlcnRvIFJpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdRYXRhcicgPlFhdGFyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUm9tYW5pYScgPlJvbWFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSdXNzaWEnID5SdXNzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSd2FuZGEnID5Sd2FuZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYWludCBLaXR0cyBhbmQgTmV2aXMnID5TYWludCBLaXR0cyBhbmQgTmV2aXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYWludCBMdWNpYScgPlNhaW50IEx1Y2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMnID5TYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhbW9hJyA+U2Ftb2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW4gTWFyaW5vJyA+U2FuIE1hcmlubzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhbyBUb21lIGFuZCBQcmluY2lwZScgPlNhbyBUb21lIGFuZCBQcmluY2lwZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhdWRpIEFyYWJpYScgPlNhdWRpIEFyYWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NlbmVnYWwnID5TZW5lZ2FsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2VyYmlhIGFuZCBNb250ZW5lZ3JvJyA+U2VyYmlhIGFuZCBNb250ZW5lZ3JvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2V5Y2hlbGxlcycgPlNleWNoZWxsZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTaWVycmEgTGVvbmUnID5TaWVycmEgTGVvbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTaW5nYXBvcmUnID5TaW5nYXBvcmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTbG92YWtpYScgPlNsb3Zha2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2xvdmVuaWEnID5TbG92ZW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvbG9tb24gSXNsYW5kcycgPlNvbG9tb24gSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvbWFsaWEnID5Tb21hbGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggQWZyaWNhJyA+U291dGggQWZyaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3BhaW4nID5TcGFpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NyaSBMYW5rYScgPlNyaSBMYW5rYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1ZGFuJyA+U3VkYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdWRhbiwgU291dGgnID5TdWRhbiwgU291dGg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdXJpbmFtZScgPlN1cmluYW1lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3dhemlsYW5kJyA+U3dhemlsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3dlZGVuJyA+U3dlZGVuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3dpdHplcmxhbmQnID5Td2l0emVybGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N5cmlhJyA+U3lyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUYWl3YW4nID5UYWl3YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUYWppa2lzdGFuJyA+VGFqaWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhbnphbmlhJyA+VGFuemFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUaGFpbGFuZCcgPlRoYWlsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVG9nbycgPlRvZ288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUb25nYScgPlRvbmdhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHJpbmlkYWQgYW5kIFRvYmFnbycgPlRyaW5pZGFkIGFuZCBUb2JhZ288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdW5pc2lhJyA+VHVuaXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1cmtleScgPlR1cmtleTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1cmttZW5pc3RhbicgPlR1cmttZW5pc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1dmFsdScgPlR1dmFsdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VnYW5kYScgPlVnYW5kYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VrcmFpbmUnID5Va3JhaW5lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIEFyYWIgRW1pcmF0ZXMnID5Vbml0ZWQgQXJhYiBFbWlyYXRlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VydWd1YXknID5VcnVndWF5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXpiZWtpc3RhbicgPlV6YmVraXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWYW51YXR1JyA+VmFudWF0dTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZhdGljYW4gQ2l0eScgPlZhdGljYW4gQ2l0eTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZlbmV6dWVsYScgPlZlbmV6dWVsYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpZXRuYW0nID5WaWV0bmFtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luIElzbGFuZHMsIEJyaXRpc2gnID5WaXJnaW4gSXNsYW5kcywgQnJpdGlzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbiBJc2xhbmRzLCBVLlMuJyA+VmlyZ2luIElzbGFuZHMsIFUuUy48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdZZW1lbicgPlllbWVuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nWmFtYmlhJyA+WmFtYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nWmltYmFid2UnID5aaW1iYWJ3ZTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM180JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNCcgPlN0YXRlPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48c2VsZWN0IG5hbWU9J2lucHV0XzQnIGlkPSdpbnB1dF8yM180JyAgY2xhc3M9J21lZGl1bSBnZmllbGRfc2VsZWN0JyB0YWJpbmRleD0nNScgPjxvcHRpb24gdmFsdWU9J0FsYWJhbWEnID5BbGFiYW1hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWxhc2thJyA+QWxhc2thPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJpem9uYScgPkFyaXpvbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcmthbnNhcycgPkFya2Fuc2FzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FsaWZvcm5pYScgPkNhbGlmb3JuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb2xvcmFkbycgPkNvbG9yYWRvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29ubmVjdGljdXQnID5Db25uZWN0aWN1dDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RlbGF3YXJlJyA+RGVsYXdhcmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEaXN0cmljdCBvZiBDb2x1bWJpYScgPkRpc3RyaWN0IG9mIENvbHVtYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmxvcmlkYScgPkZsb3JpZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZW9yZ2lhJyA+R2VvcmdpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hhd2FpaScgPkhhd2FpaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lkYWhvJyA+SWRhaG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbGxpbm9pcycgPklsbGlub2lzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW5kaWFuYScgPkluZGlhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJb3dhJyA+SW93YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0thbnNhcycgPkthbnNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0tlbnR1Y2t5JyA+S2VudHVja3k8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMb3Vpc2lhbmEnID5Mb3Vpc2lhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWluZScgPk1haW5lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFyeWxhbmQnID5NYXJ5bGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hc3NhY2h1c2V0dHMnID5NYXNzYWNodXNldHRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWljaGlnYW4nID5NaWNoaWdhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pbm5lc290YScgPk1pbm5lc290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pc3Npc3NpcHBpJyA+TWlzc2lzc2lwcGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaXNzb3VyaScgPk1pc3NvdXJpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9udGFuYScgPk1vbnRhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZWJyYXNrYScgPk5lYnJhc2thPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV2YWRhJyA+TmV2YWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IEhhbXBzaGlyZScgPk5ldyBIYW1wc2hpcmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgSmVyc2V5JyA+TmV3IEplcnNleTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBNZXhpY28nID5OZXcgTWV4aWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IFlvcmsnID5OZXcgWW9yazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIENhcm9saW5hJyA+Tm9ydGggQ2Fyb2xpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBEYWtvdGEnID5Ob3J0aCBEYWtvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPaGlvJyA+T2hpbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09rbGFob21hJyA+T2tsYWhvbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPcmVnb24nID5PcmVnb248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQZW5uc3lsdmFuaWEnID5QZW5uc3lsdmFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSaG9kZSBJc2xhbmQnID5SaG9kZSBJc2xhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBDYXJvbGluYScgPlNvdXRoIENhcm9saW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggRGFrb3RhJyA+U291dGggRGFrb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGVubmVzc2VlJyA+VGVubmVzc2VlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGV4YXMnID5UZXhhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1V0YWgnID5VdGFoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmVybW9udCcgPlZlcm1vbnQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW5pYScgPlZpcmdpbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2FzaGluZ3RvbicgPldhc2hpbmd0b248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXZXN0IFZpcmdpbmlhJyA+V2VzdCBWaXJnaW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dpc2NvbnNpbicgPldpc2NvbnNpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1d5b21pbmcnID5XeW9taW5nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZWQgRm9yY2VzIEFtZXJpY2FzJyA+QXJtZWQgRm9yY2VzIEFtZXJpY2FzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZWQgRm9yY2VzIEV1cm9wZScgPkFybWVkIEZvcmNlcyBFdXJvcGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgUGFjaWZpYycgPkFybWVkIEZvcmNlcyBQYWNpZmljPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzYnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM182JyA+UGhvbmU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF82JyBpZD0naW5wdXRfMjNfNicgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgdGFiaW5kZXg9JzYnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNycgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM183JyA+Q29tcGFueTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfNycgaWQ9J2lucHV0XzIzXzcnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nNycgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM184JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfOCcgPkpvYiBUaXRsZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzgnIGlkPSdpbnB1dF8yM184JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzgnICAgLz48L2Rpdj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9mb290ZXIgdG9wX2xhYmVsJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgaWQ9J2dmb3JtX3N1Ym1pdF9idXR0b25fMjMnIGNsYXNzPSdnZm9ybV9idXR0b24gYnV0dG9uJyB2YWx1ZT0nUmVnaXN0ZXIgTm93IScgdGFiaW5kZXg9JzknIG9uY2xpY2s9J2lmKHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yMyJdKXtyZXR1cm4gZmFsc2U7fSAgd2luZG93WyJnZl9zdWJtaXR0aW5nXzIzIl09dHJ1ZTsgICcgLz4gPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZ2Zvcm1fYWpheCcgdmFsdWU9J2Zvcm1faWQ9MjMmYW1wO3RpdGxlPSZhbXA7ZGVzY3JpcHRpb249JmFtcDt0YWJpbmRleD0xJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdpc19zdWJtaXRfMjMnIHZhbHVlPScxJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zdWJtaXQnIHZhbHVlPScyMycgLz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3VuaXF1ZV9pZCcgdmFsdWU9JycgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nc3RhdGVfMjMnIHZhbHVlPSdXeUpiWFNJc0ltTmhPRFUzWW1Zd01EWXdORGN3TVRsak1tRXlNakEyTkdaaFpEQXdOekExSWwwPScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdGFyZ2V0X3BhZ2VfbnVtYmVyXzIzJyBpZD0nZ2Zvcm1fdGFyZ2V0X3BhZ2VfbnVtYmVyXzIzJyB2YWx1ZT0nMCcgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzIzJyBpZD0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzIzJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZ2Zvcm1fZmllbGRfdmFsdWVzJyB2YWx1ZT0nJyAvPgogICAgICAgICAgICAKICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxpZnJhbWUgc3R5bGU9J2Rpc3BsYXk6bm9uZTt3aWR0aDowcHg7aGVpZ2h0OjBweDsnIHNyYz0nYWJvdXQ6YmxhbmsnIG5hbWU9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV9hamF4X2ZyYW1lXzIzJz48L2lmcmFtZT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5qUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpe2dmb3JtSW5pdFNwaW5uZXIoIDIzLCAnaHR0cDovL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2ltYWdlcy9zcGlubmVyLmdpZicgKTtqUXVlcnkoJyNnZm9ybV9hamF4X2ZyYW1lXzIzJykubG9hZCggZnVuY3Rpb24oKXt2YXIgY29udGVudHMgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcqJykuaHRtbCgpO3ZhciBpc19wb3N0YmFjayA9IGNvbnRlbnRzLmluZGV4T2YoJ0dGX0FKQVhfUE9TVEJBQ0snKSA+PSAwO2lmKCFpc19wb3N0YmFjayl7cmV0dXJuO312YXIgZm9ybV9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX3dyYXBwZXJfMjMnKTt2YXIgaXNfY29uZmlybWF0aW9uID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyXzIzJykubGVuZ3RoID4gMDt2YXIgaXNfcmVkaXJlY3QgPSBjb250ZW50cy5pbmRleE9mKCdnZm9ybVJlZGlyZWN0KCl7JykgPj0gMDt2YXIgaXNfZm9ybSA9IGZvcm1fY29udGVudC5sZW5ndGggPiAwICYmICEgaXNfcmVkaXJlY3QgJiYgISBpc19jb25maXJtYXRpb247aWYoaXNfZm9ybSl7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLmh0bWwoZm9ybV9jb250ZW50Lmh0bWwoKSk7c2V0VGltZW91dCggZnVuY3Rpb24oKSB7IC8qIGRlbGF5IHRoZSBzY3JvbGwgYnkgNTAgbWlsbGlzZWNvbmRzIHRvIGZpeCBhIGJ1ZyBpbiBjaHJvbWUgKi8galF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLm9mZnNldCgpLnRvcCk7IH0sIDUwICk7aWYod2luZG93WydnZm9ybUluaXREYXRlcGlja2VyJ10pIHtnZm9ybUluaXREYXRlcGlja2VyKCk7fWlmKHdpbmRvd1snZ2Zvcm1Jbml0UHJpY2VGaWVsZHMnXSkge2dmb3JtSW5pdFByaWNlRmllbGRzKCk7fXZhciBjdXJyZW50X3BhZ2UgPSBqUXVlcnkoJyNnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnKS52YWwoKTtnZm9ybUluaXRTcGlubmVyKCAyMywgJ2h0dHA6Ly93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wYWdlX2xvYWRlZCcsIFsyMywgY3VycmVudF9wYWdlXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzIzJ10gPSBmYWxzZTt9ZWxzZSBpZighaXNfcmVkaXJlY3Qpe3ZhciBjb25maXJtYXRpb25fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfMjMnKS5odG1sKCk7aWYoIWNvbmZpcm1hdGlvbl9jb250ZW50KXtjb25maXJtYXRpb25fY29udGVudCA9IGNvbnRlbnRzO31zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLnJlcGxhY2VXaXRoKCc8JyArICdkaXYgaWQ9XCdnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfMjNcJyBjbGFzcz1cJ2dmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzIGdmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZVwnJyArICc+JyArIGNvbmZpcm1hdGlvbl9jb250ZW50ICsgJzwnICsgJy9kaXYnICsgJz4nKTtqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfMjMnKS5vZmZzZXQoKS50b3ApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fY29uZmlybWF0aW9uX2xvYWRlZCcsIFsyM10pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18yMyddID0gZmFsc2U7fSwgNTApO31lbHNle2pRdWVyeSgnI2dmb3JtXzIzJykuYXBwZW5kKGNvbnRlbnRzKTtpZih3aW5kb3dbJ2dmb3JtUmVkaXJlY3QnXSkge2dmb3JtUmVkaXJlY3QoKTt9fWpRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMjMsIGN1cnJlbnRfcGFnZV0pO30gKTt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBpZih0eXBlb2YgZ2ZfZ2xvYmFsID09ICd1bmRlZmluZWQnKSB2YXIgZ2ZfZ2xvYmFsID0geyJnZl9jdXJyZW5jeV9jb25maWciOnsibmFtZSI6IlUuUy4gRG9sbGFyIiwic3ltYm9sX2xlZnQiOiIkIiwic3ltYm9sX3JpZ2h0IjoiIiwic3ltYm9sX3BhZGRpbmciOiIiLCJ0aG91c2FuZF9zZXBhcmF0b3IiOiIsIiwiZGVjaW1hbF9zZXBhcmF0b3IiOiIuIiwiZGVjaW1hbHMiOjJ9LCJiYXNlX3VybCI6Imh0dHA6XC9cL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3Jhdml0eWZvcm1zIiwibnVtYmVyX2Zvcm1hdHMiOltdLCJzcGlubmVyVXJsIjoiaHR0cDpcL1wvd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9ncmF2aXR5Zm9ybXNcL2ltYWdlc1wvc3Bpbm5lci5naWYifTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgY3VycmVudFBhZ2Upe2lmKGZvcm1JZCA9PSAyMykge2lmKHdpbmRvd1snalF1ZXJ5J10pe2lmKCF3aW5kb3dbJ2dmX2Zvcm1fY29uZGl0aW9uYWxfbG9naWMnXSl3aW5kb3dbJ2dmX2Zvcm1fY29uZGl0aW9uYWxfbG9naWMnXSA9IG5ldyBBcnJheSgpO3dpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddWzIzXSA9IHsnbG9naWMnIDogezQ6IHsiZmllbGQiOnsiYWN0aW9uVHlwZSI6ImhpZGUiLCJsb2dpY1R5cGUiOiJhbGwiLCJydWxlcyI6W3siZmllbGRJZCI6IjUiLCJvcGVyYXRvciI6Imlzbm90IiwidmFsdWUiOiJVbml0ZWQgU3RhdGVzIn1dfSwibmV4dEJ1dHRvbiI6bnVsbCwic2VjdGlvbiI6bnVsbH0gfSwgJ2RlcGVuZGVudHMnIDogezQ6IFs0XSB9LCAnYW5pbWF0aW9uJyA6IDAgLCAnZGVmYXVsdHMnIDogeyI1IjoiVW5pdGVkIFN0YXRlcyJ9IH07IGlmKCF3aW5kb3dbJ2dmX251bWJlcl9mb3JtYXQnXSl3aW5kb3dbJ2dmX251bWJlcl9mb3JtYXQnXSA9ICdkZWNpbWFsX2RvdCc7alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2dmX2FwcGx5X3J1bGVzKDIzLCBbNF0sIHRydWUpO2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5zaG93KCk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X2NvbmRpdGlvbmFsX2xvZ2ljJywgWzIzLCBudWxsLCB0cnVlXSk7fSApO30gZ2Zvcm1Jbml0Q2hvc2VuRmllbGRzKCcjaW5wdXRfMjNfNSwjaW5wdXRfMjNfNCcsJ05vIHJlc3VsdHMgbWF0Y2hlZCcpO30gfSApO2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGZpZWxkcywgaXNJbml0KXtnZm9ybUluaXRDaG9zZW5GaWVsZHMoJyNpbnB1dF8yM181LCNpbnB1dF8yM180JywnTm8gcmVzdWx0cyBtYXRjaGVkJyk7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMjMsIDFdKSB9ICk7IDwvc2NyaXB0Pg==
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
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX2Nocm9tZSBnZm9ybV93cmFwcGVyJyBpZD0nZ2Zvcm1fd3JhcHBlcl8yMycgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGEgaWQ9J2dmXzIzJyBuYW1lPSdnZl8yMycgY2xhc3M9J2dmb3JtX2FuY2hvcicgPjwvYT48Zm9ybSBtZXRob2Q9J3Bvc3QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnIHRhcmdldD0nZ2Zvcm1fYWpheF9mcmFtZV8yMycgaWQ9J2dmb3JtXzIzJyAgYWN0aW9uPScvcmV2aWV3LXNvbGFyd2luZHMtdmlydHVhbGl6YXRpb24tbWFuYWdlci03LTAvI2dmXzIzJz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fYm9keSc+PHVsIGlkPSdnZm9ybV9maWVsZHNfMjMnIGNsYXNzPSdnZm9ybV9maWVsZHMgdG9wX2xhYmVsIGZvcm1fc3VibGFiZWxfYmVsb3cgZGVzY3JpcHRpb25fYmVsb3cnPjxsaSBpZD0nZmllbGRfMjNfMScgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM18xJyA+Rmlyc3QgTmFtZTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfMScgaWQ9J2lucHV0XzIzXzEnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nMScgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM18yJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzInID5MYXN0IE5hbWU8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzInIGlkPSdpbnB1dF8yM18yJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzInICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfMycgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM18zJyA+RW1haWw8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0naW5wdXRfMycgaWQ9J2lucHV0XzIzXzMnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nIHRhYmluZGV4PSczJyAgIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM181JyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzUnID5Db3VudHJ5PHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxzZWxlY3QgbmFtZT0naW5wdXRfNScgaWQ9J2lucHV0XzIzXzUnIG9uY2hhbmdlPSdnZl9hcHBseV9ydWxlcygyMyxbNF0pOycgY2xhc3M9J21lZGl1bSBnZmllbGRfc2VsZWN0JyB0YWJpbmRleD0nNCcgPjxvcHRpb24gdmFsdWU9J1VuaXRlZCBTdGF0ZXMnIHNlbGVjdGVkPSdzZWxlY3RlZCc+VW5pdGVkIFN0YXRlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbmFkYScgPkNhbmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VuaXRlZCBLaW5nZG9tJyA+VW5pdGVkIEtpbmdkb208L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBdXN0cmFsaWEnID5BdXN0cmFsaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBZmdoYW5pc3RhbicgPkFmZ2hhbmlzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWxiYW5pYScgPkFsYmFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGdlcmlhJyA+QWxnZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FtZXJpY2FuIFNhbW9hJyA+QW1lcmljYW4gU2Ftb2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbmRvcnJhJyA+QW5kb3JyYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FuZ29sYScgPkFuZ29sYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FudGlndWEgYW5kIEJhcmJ1ZGEnID5BbnRpZ3VhIGFuZCBCYXJidWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJnZW50aW5hJyA+QXJnZW50aW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZW5pYScgPkFybWVuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBdXN0cmlhJyA+QXVzdHJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F6ZXJiYWlqYW4nID5BemVyYmFpamFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFoYW1hcycgPkJhaGFtYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYWhyYWluJyA+QmFocmFpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhbmdsYWRlc2gnID5CYW5nbGFkZXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFyYmFkb3MnID5CYXJiYWRvczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGFydXMnID5CZWxhcnVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsZ2l1bScgPkJlbGdpdW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxpemUnID5CZWxpemU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZW5pbicgPkJlbmluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVybXVkYScgPkJlcm11ZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCaHV0YW4nID5CaHV0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb2xpdmlhJyA+Qm9saXZpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Jvc25pYSBhbmQgSGVyemVnb3ZpbmEnID5Cb3NuaWEgYW5kIEhlcnplZ292aW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm90c3dhbmEnID5Cb3Rzd2FuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JyYXppbCcgPkJyYXppbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JydW5laScgPkJydW5laTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1bGdhcmlhJyA+QnVsZ2FyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCdXJraW5hIEZhc28nID5CdXJraW5hIEZhc288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCdXJ1bmRpJyA+QnVydW5kaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbWJvZGlhJyA+Q2FtYm9kaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW1lcm9vbicgPkNhbWVyb29uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FwZSBWZXJkZScgPkNhcGUgVmVyZGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYXltYW4gSXNsYW5kcycgPkNheW1hbiBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJyA+Q2VudHJhbCBBZnJpY2FuIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2hhZCcgPkNoYWQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGlsZScgPkNoaWxlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2hpbmEnID5DaGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbG9tYmlhJyA+Q29sb21iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb21vcm9zJyA+Q29tb3Jvczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbmdvLCBEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZScgPkNvbmdvLCBEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbmdvLCBSZXB1YmxpYyBvZiB0aGUnID5Db25nbywgUmVwdWJsaWMgb2YgdGhlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29zdGEgUmljYScgPkNvc3RhIFJpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDJm9jaXJjO3RlIGQmIzAzOTtJdm9pcmUnID5DJm9jaXJjO3RlIGQmIzAzOTtJdm9pcmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDcm9hdGlhJyA+Q3JvYXRpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N1YmEnID5DdWJhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3lwcnVzJyA+Q3lwcnVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3plY2ggUmVwdWJsaWMnID5DemVjaCBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Rlbm1hcmsnID5EZW5tYXJrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGppYm91dGknID5Eamlib3V0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RvbWluaWNhJyA+RG9taW5pY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEb21pbmljYW4gUmVwdWJsaWMnID5Eb21pbmljYW4gUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFYXN0IFRpbW9yJyA+RWFzdCBUaW1vcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VjdWFkb3InID5FY3VhZG9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWd5cHQnID5FZ3lwdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VsIFNhbHZhZG9yJyA+RWwgU2FsdmFkb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFcXVhdG9yaWFsIEd1aW5lYScgPkVxdWF0b3JpYWwgR3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXJpdHJlYScgPkVyaXRyZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFc3RvbmlhJyA+RXN0b25pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0V0aGlvcGlhJyA+RXRoaW9waWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGaWppJyA+RmlqaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZpbmxhbmQnID5GaW5sYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRnJhbmNlJyA+RnJhbmNlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2Fib24nID5HYWJvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dhbWJpYScgPkdhbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlb3JnaWEnID5HZW9yZ2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VybWFueScgPkdlcm1hbnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHaGFuYScgPkdoYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3JlZWNlJyA+R3JlZWNlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3JlZW5sYW5kJyA+R3JlZW5sYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3JlbmFkYScgPkdyZW5hZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWFtJyA+R3VhbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1YXRlbWFsYScgPkd1YXRlbWFsYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1aW5lYScgPkd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1aW5lYS1CaXNzYXUnID5HdWluZWEtQmlzc2F1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3V5YW5hJyA+R3V5YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSGFpdGknID5IYWl0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hvbmR1cmFzJyA+SG9uZHVyYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIb25nIEtvbmcnID5Ib25nIEtvbmc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIdW5nYXJ5JyA+SHVuZ2FyeTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ljZWxhbmQnID5JY2VsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW5kaWEnID5JbmRpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZG9uZXNpYScgPkluZG9uZXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyYW4nID5JcmFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJhcScgPklyYXE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmVsYW5kJyA+SXJlbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lzcmFlbCcgPklzcmFlbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0l0YWx5JyA+SXRhbHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdKYW1haWNhJyA+SmFtYWljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0phcGFuJyA+SmFwYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdKb3JkYW4nID5Kb3JkYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLYXpha2hzdGFuJyA+S2F6YWtoc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0tlbnlhJyA+S2VueWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLaXJpYmF0aScgPktpcmliYXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggS29yZWEnID5Ob3J0aCBLb3JlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIEtvcmVhJyA+U291dGggS29yZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLdXdhaXQnID5LdXdhaXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLeXJneXpzdGFuJyA+S3lyZ3l6c3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xhb3MnID5MYW9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGF0dmlhJyA+TGF0dmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGViYW5vbicgPkxlYmFub248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMZXNvdGhvJyA+TGVzb3Robzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpYmVyaWEnID5MaWJlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGlieWEnID5MaWJ5YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpZWNodGVuc3RlaW4nID5MaWVjaHRlbnN0ZWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGl0aHVhbmlhJyA+TGl0aHVhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTHV4ZW1ib3VyZycgPkx1eGVtYm91cmc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWNlZG9uaWEnID5NYWNlZG9uaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWRhZ2FzY2FyJyA+TWFkYWdhc2Nhcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGF3aScgPk1hbGF3aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGF5c2lhJyA+TWFsYXlzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxkaXZlcycgPk1hbGRpdmVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsaScgPk1hbGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWx0YScgPk1hbHRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFyc2hhbGwgSXNsYW5kcycgPk1hcnNoYWxsIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXVyaXRhbmlhJyA+TWF1cml0YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hdXJpdGl1cycgPk1hdXJpdGl1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01leGljbycgPk1leGljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pY3JvbmVzaWEnID5NaWNyb25lc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9sZG92YScgPk1vbGRvdmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb25hY28nID5Nb25hY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb25nb2xpYScgPk1vbmdvbGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9udGVuZWdybycgPk1vbnRlbmVncm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb3JvY2NvJyA+TW9yb2Njbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vemFtYmlxdWUnID5Nb3phbWJpcXVlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTXlhbm1hcicgPk15YW5tYXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOYW1pYmlhJyA+TmFtaWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05hdXJ1JyA+TmF1cnU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXBhbCcgPk5lcGFsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV0aGVybGFuZHMnID5OZXRoZXJsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBaZWFsYW5kJyA+TmV3IFplYWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOaWNhcmFndWEnID5OaWNhcmFndWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOaWdlcicgPk5pZ2VyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmlnZXJpYScgPk5pZ2VyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J3YXknID5Ob3J3YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnID5Ob3J0aGVybiBNYXJpYW5hIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPbWFuJyA+T21hbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Bha2lzdGFuJyA+UGFraXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWxhdScgPlBhbGF1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFsZXN0aW5lJyA+UGFsZXN0aW5lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFuYW1hJyA+UGFuYW1hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFwdWEgTmV3IEd1aW5lYScgPlBhcHVhIE5ldyBHdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYXJhZ3VheScgPlBhcmFndWF5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGVydScgPlBlcnU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQaGlsaXBwaW5lcycgPlBoaWxpcHBpbmVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUG9sYW5kJyA+UG9sYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUG9ydHVnYWwnID5Qb3J0dWdhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1B1ZXJ0byBSaWNvJyA+UHVlcnRvIFJpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdRYXRhcicgPlFhdGFyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUm9tYW5pYScgPlJvbWFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSdXNzaWEnID5SdXNzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSd2FuZGEnID5Sd2FuZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYWludCBLaXR0cyBhbmQgTmV2aXMnID5TYWludCBLaXR0cyBhbmQgTmV2aXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYWludCBMdWNpYScgPlNhaW50IEx1Y2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMnID5TYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhbW9hJyA+U2Ftb2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW4gTWFyaW5vJyA+U2FuIE1hcmlubzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhbyBUb21lIGFuZCBQcmluY2lwZScgPlNhbyBUb21lIGFuZCBQcmluY2lwZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhdWRpIEFyYWJpYScgPlNhdWRpIEFyYWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NlbmVnYWwnID5TZW5lZ2FsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2VyYmlhIGFuZCBNb250ZW5lZ3JvJyA+U2VyYmlhIGFuZCBNb250ZW5lZ3JvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2V5Y2hlbGxlcycgPlNleWNoZWxsZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTaWVycmEgTGVvbmUnID5TaWVycmEgTGVvbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTaW5nYXBvcmUnID5TaW5nYXBvcmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTbG92YWtpYScgPlNsb3Zha2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2xvdmVuaWEnID5TbG92ZW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvbG9tb24gSXNsYW5kcycgPlNvbG9tb24gSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvbWFsaWEnID5Tb21hbGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggQWZyaWNhJyA+U291dGggQWZyaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3BhaW4nID5TcGFpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NyaSBMYW5rYScgPlNyaSBMYW5rYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1ZGFuJyA+U3VkYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdWRhbiwgU291dGgnID5TdWRhbiwgU291dGg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdXJpbmFtZScgPlN1cmluYW1lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3dhemlsYW5kJyA+U3dhemlsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3dlZGVuJyA+U3dlZGVuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3dpdHplcmxhbmQnID5Td2l0emVybGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N5cmlhJyA+U3lyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUYWl3YW4nID5UYWl3YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUYWppa2lzdGFuJyA+VGFqaWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhbnphbmlhJyA+VGFuemFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUaGFpbGFuZCcgPlRoYWlsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVG9nbycgPlRvZ288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUb25nYScgPlRvbmdhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHJpbmlkYWQgYW5kIFRvYmFnbycgPlRyaW5pZGFkIGFuZCBUb2JhZ288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdW5pc2lhJyA+VHVuaXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1cmtleScgPlR1cmtleTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1cmttZW5pc3RhbicgPlR1cmttZW5pc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1dmFsdScgPlR1dmFsdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VnYW5kYScgPlVnYW5kYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VrcmFpbmUnID5Va3JhaW5lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIEFyYWIgRW1pcmF0ZXMnID5Vbml0ZWQgQXJhYiBFbWlyYXRlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VydWd1YXknID5VcnVndWF5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXpiZWtpc3RhbicgPlV6YmVraXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWYW51YXR1JyA+VmFudWF0dTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZhdGljYW4gQ2l0eScgPlZhdGljYW4gQ2l0eTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZlbmV6dWVsYScgPlZlbmV6dWVsYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpZXRuYW0nID5WaWV0bmFtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luIElzbGFuZHMsIEJyaXRpc2gnID5WaXJnaW4gSXNsYW5kcywgQnJpdGlzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbiBJc2xhbmRzLCBVLlMuJyA+VmlyZ2luIElzbGFuZHMsIFUuUy48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdZZW1lbicgPlllbWVuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nWmFtYmlhJyA+WmFtYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nWmltYmFid2UnID5aaW1iYWJ3ZTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM180JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNCcgPlN0YXRlPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48c2VsZWN0IG5hbWU9J2lucHV0XzQnIGlkPSdpbnB1dF8yM180JyAgY2xhc3M9J21lZGl1bSBnZmllbGRfc2VsZWN0JyB0YWJpbmRleD0nNScgPjxvcHRpb24gdmFsdWU9J0FsYWJhbWEnID5BbGFiYW1hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWxhc2thJyA+QWxhc2thPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJpem9uYScgPkFyaXpvbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcmthbnNhcycgPkFya2Fuc2FzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FsaWZvcm5pYScgPkNhbGlmb3JuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb2xvcmFkbycgPkNvbG9yYWRvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29ubmVjdGljdXQnID5Db25uZWN0aWN1dDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RlbGF3YXJlJyA+RGVsYXdhcmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEaXN0cmljdCBvZiBDb2x1bWJpYScgPkRpc3RyaWN0IG9mIENvbHVtYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmxvcmlkYScgPkZsb3JpZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZW9yZ2lhJyA+R2VvcmdpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hhd2FpaScgPkhhd2FpaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lkYWhvJyA+SWRhaG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbGxpbm9pcycgPklsbGlub2lzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW5kaWFuYScgPkluZGlhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJb3dhJyA+SW93YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0thbnNhcycgPkthbnNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0tlbnR1Y2t5JyA+S2VudHVja3k8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMb3Vpc2lhbmEnID5Mb3Vpc2lhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWluZScgPk1haW5lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFyeWxhbmQnID5NYXJ5bGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hc3NhY2h1c2V0dHMnID5NYXNzYWNodXNldHRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWljaGlnYW4nID5NaWNoaWdhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pbm5lc290YScgPk1pbm5lc290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pc3Npc3NpcHBpJyA+TWlzc2lzc2lwcGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaXNzb3VyaScgPk1pc3NvdXJpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9udGFuYScgPk1vbnRhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZWJyYXNrYScgPk5lYnJhc2thPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV2YWRhJyA+TmV2YWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IEhhbXBzaGlyZScgPk5ldyBIYW1wc2hpcmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgSmVyc2V5JyA+TmV3IEplcnNleTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBNZXhpY28nID5OZXcgTWV4aWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IFlvcmsnID5OZXcgWW9yazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIENhcm9saW5hJyA+Tm9ydGggQ2Fyb2xpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBEYWtvdGEnID5Ob3J0aCBEYWtvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPaGlvJyA+T2hpbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09rbGFob21hJyA+T2tsYWhvbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPcmVnb24nID5PcmVnb248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQZW5uc3lsdmFuaWEnID5QZW5uc3lsdmFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSaG9kZSBJc2xhbmQnID5SaG9kZSBJc2xhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBDYXJvbGluYScgPlNvdXRoIENhcm9saW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggRGFrb3RhJyA+U291dGggRGFrb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGVubmVzc2VlJyA+VGVubmVzc2VlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGV4YXMnID5UZXhhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1V0YWgnID5VdGFoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmVybW9udCcgPlZlcm1vbnQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW5pYScgPlZpcmdpbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2FzaGluZ3RvbicgPldhc2hpbmd0b248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXZXN0IFZpcmdpbmlhJyA+V2VzdCBWaXJnaW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dpc2NvbnNpbicgPldpc2NvbnNpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1d5b21pbmcnID5XeW9taW5nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZWQgRm9yY2VzIEFtZXJpY2FzJyA+QXJtZWQgRm9yY2VzIEFtZXJpY2FzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZWQgRm9yY2VzIEV1cm9wZScgPkFybWVkIEZvcmNlcyBFdXJvcGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgUGFjaWZpYycgPkFybWVkIEZvcmNlcyBQYWNpZmljPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzYnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM182JyA+UGhvbmU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF82JyBpZD0naW5wdXRfMjNfNicgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgdGFiaW5kZXg9JzYnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNycgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM183JyA+Q29tcGFueTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfNycgaWQ9J2lucHV0XzIzXzcnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nNycgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM184JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfOCcgPkpvYiBUaXRsZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzgnIGlkPSdpbnB1dF8yM184JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzgnICAgLz48L2Rpdj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9mb290ZXIgdG9wX2xhYmVsJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgaWQ9J2dmb3JtX3N1Ym1pdF9idXR0b25fMjMnIGNsYXNzPSdnZm9ybV9idXR0b24gYnV0dG9uJyB2YWx1ZT0nUmVnaXN0ZXIgTm93IScgdGFiaW5kZXg9JzknIG9uY2xpY2s9J2lmKHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yMyJdKXtyZXR1cm4gZmFsc2U7fSAgd2luZG93WyJnZl9zdWJtaXR0aW5nXzIzIl09dHJ1ZTsgICcgLz4gPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZ2Zvcm1fYWpheCcgdmFsdWU9J2Zvcm1faWQ9MjMmYW1wO3RpdGxlPSZhbXA7ZGVzY3JpcHRpb249JmFtcDt0YWJpbmRleD0xJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdpc19zdWJtaXRfMjMnIHZhbHVlPScxJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zdWJtaXQnIHZhbHVlPScyMycgLz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3VuaXF1ZV9pZCcgdmFsdWU9JycgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nc3RhdGVfMjMnIHZhbHVlPSdXeUpiWFNJc0ltTmhPRFUzWW1Zd01EWXdORGN3TVRsak1tRXlNakEyTkdaaFpEQXdOekExSWwwPScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdGFyZ2V0X3BhZ2VfbnVtYmVyXzIzJyBpZD0nZ2Zvcm1fdGFyZ2V0X3BhZ2VfbnVtYmVyXzIzJyB2YWx1ZT0nMCcgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzIzJyBpZD0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzIzJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZ2Zvcm1fZmllbGRfdmFsdWVzJyB2YWx1ZT0nJyAvPgogICAgICAgICAgICAKICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxpZnJhbWUgc3R5bGU9J2Rpc3BsYXk6bm9uZTt3aWR0aDowcHg7aGVpZ2h0OjBweDsnIHNyYz0nYWJvdXQ6YmxhbmsnIG5hbWU9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV9hamF4X2ZyYW1lXzIzJz48L2lmcmFtZT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5qUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpe2dmb3JtSW5pdFNwaW5uZXIoIDIzLCAnaHR0cDovL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2ltYWdlcy9zcGlubmVyLmdpZicgKTtqUXVlcnkoJyNnZm9ybV9hamF4X2ZyYW1lXzIzJykubG9hZCggZnVuY3Rpb24oKXt2YXIgY29udGVudHMgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcqJykuaHRtbCgpO3ZhciBpc19wb3N0YmFjayA9IGNvbnRlbnRzLmluZGV4T2YoJ0dGX0FKQVhfUE9TVEJBQ0snKSA+PSAwO2lmKCFpc19wb3N0YmFjayl7cmV0dXJuO312YXIgZm9ybV9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX3dyYXBwZXJfMjMnKTt2YXIgaXNfY29uZmlybWF0aW9uID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyXzIzJykubGVuZ3RoID4gMDt2YXIgaXNfcmVkaXJlY3QgPSBjb250ZW50cy5pbmRleE9mKCdnZm9ybVJlZGlyZWN0KCl7JykgPj0gMDt2YXIgaXNfZm9ybSA9IGZvcm1fY29udGVudC5sZW5ndGggPiAwICYmICEgaXNfcmVkaXJlY3QgJiYgISBpc19jb25maXJtYXRpb247aWYoaXNfZm9ybSl7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLmh0bWwoZm9ybV9jb250ZW50Lmh0bWwoKSk7c2V0VGltZW91dCggZnVuY3Rpb24oKSB7IC8qIGRlbGF5IHRoZSBzY3JvbGwgYnkgNTAgbWlsbGlzZWNvbmRzIHRvIGZpeCBhIGJ1ZyBpbiBjaHJvbWUgKi8galF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLm9mZnNldCgpLnRvcCk7IH0sIDUwICk7aWYod2luZG93WydnZm9ybUluaXREYXRlcGlja2VyJ10pIHtnZm9ybUluaXREYXRlcGlja2VyKCk7fWlmKHdpbmRvd1snZ2Zvcm1Jbml0UHJpY2VGaWVsZHMnXSkge2dmb3JtSW5pdFByaWNlRmllbGRzKCk7fXZhciBjdXJyZW50X3BhZ2UgPSBqUXVlcnkoJyNnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnKS52YWwoKTtnZm9ybUluaXRTcGlubmVyKCAyMywgJ2h0dHA6Ly93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wYWdlX2xvYWRlZCcsIFsyMywgY3VycmVudF9wYWdlXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzIzJ10gPSBmYWxzZTt9ZWxzZSBpZighaXNfcmVkaXJlY3Qpe3ZhciBjb25maXJtYXRpb25fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfMjMnKS5odG1sKCk7aWYoIWNvbmZpcm1hdGlvbl9jb250ZW50KXtjb25maXJtYXRpb25fY29udGVudCA9IGNvbnRlbnRzO31zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLnJlcGxhY2VXaXRoKCc8JyArICdkaXYgaWQ9XCdnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfMjNcJyBjbGFzcz1cJ2dmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzIGdmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZVwnJyArICc+JyArIGNvbmZpcm1hdGlvbl9jb250ZW50ICsgJzwnICsgJy9kaXYnICsgJz4nKTtqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfMjMnKS5vZmZzZXQoKS50b3ApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fY29uZmlybWF0aW9uX2xvYWRlZCcsIFsyM10pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18yMyddID0gZmFsc2U7fSwgNTApO31lbHNle2pRdWVyeSgnI2dmb3JtXzIzJykuYXBwZW5kKGNvbnRlbnRzKTtpZih3aW5kb3dbJ2dmb3JtUmVkaXJlY3QnXSkge2dmb3JtUmVkaXJlY3QoKTt9fWpRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMjMsIGN1cnJlbnRfcGFnZV0pO30gKTt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBpZih0eXBlb2YgZ2ZfZ2xvYmFsID09ICd1bmRlZmluZWQnKSB2YXIgZ2ZfZ2xvYmFsID0geyJnZl9jdXJyZW5jeV9jb25maWciOnsibmFtZSI6IlUuUy4gRG9sbGFyIiwic3ltYm9sX2xlZnQiOiIkIiwic3ltYm9sX3JpZ2h0IjoiIiwic3ltYm9sX3BhZGRpbmciOiIiLCJ0aG91c2FuZF9zZXBhcmF0b3IiOiIsIiwiZGVjaW1hbF9zZXBhcmF0b3IiOiIuIiwiZGVjaW1hbHMiOjJ9LCJiYXNlX3VybCI6Imh0dHA6XC9cL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3Jhdml0eWZvcm1zIiwibnVtYmVyX2Zvcm1hdHMiOltdLCJzcGlubmVyVXJsIjoiaHR0cDpcL1wvd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9ncmF2aXR5Zm9ybXNcL2ltYWdlc1wvc3Bpbm5lci5naWYifTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgY3VycmVudFBhZ2Upe2lmKGZvcm1JZCA9PSAyMykge2lmKHdpbmRvd1snalF1ZXJ5J10pe2lmKCF3aW5kb3dbJ2dmX2Zvcm1fY29uZGl0aW9uYWxfbG9naWMnXSl3aW5kb3dbJ2dmX2Zvcm1fY29uZGl0aW9uYWxfbG9naWMnXSA9IG5ldyBBcnJheSgpO3dpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddWzIzXSA9IHsnbG9naWMnIDogezQ6IHsiZmllbGQiOnsiYWN0aW9uVHlwZSI6ImhpZGUiLCJsb2dpY1R5cGUiOiJhbGwiLCJydWxlcyI6W3siZmllbGRJZCI6IjUiLCJvcGVyYXRvciI6Imlzbm90IiwidmFsdWUiOiJVbml0ZWQgU3RhdGVzIn1dfSwibmV4dEJ1dHRvbiI6bnVsbCwic2VjdGlvbiI6bnVsbH0gfSwgJ2RlcGVuZGVudHMnIDogezQ6IFs0XSB9LCAnYW5pbWF0aW9uJyA6IDAgLCAnZGVmYXVsdHMnIDogeyI1IjoiVW5pdGVkIFN0YXRlcyJ9IH07IGlmKCF3aW5kb3dbJ2dmX251bWJlcl9mb3JtYXQnXSl3aW5kb3dbJ2dmX251bWJlcl9mb3JtYXQnXSA9ICdkZWNpbWFsX2RvdCc7alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2dmX2FwcGx5X3J1bGVzKDIzLCBbNF0sIHRydWUpO2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5zaG93KCk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X2NvbmRpdGlvbmFsX2xvZ2ljJywgWzIzLCBudWxsLCB0cnVlXSk7fSApO30gZ2Zvcm1Jbml0Q2hvc2VuRmllbGRzKCcjaW5wdXRfMjNfNSwjaW5wdXRfMjNfNCcsJ05vIHJlc3VsdHMgbWF0Y2hlZCcpO30gfSApO2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGZpZWxkcywgaXNJbml0KXtnZm9ybUluaXRDaG9zZW5GaWVsZHMoJyNpbnB1dF8yM181LCNpbnB1dF8yM180JywnTm8gcmVzdWx0cyBtYXRjaGVkJyk7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMjMsIDFdKSB9ICk7IDwvc2NyaXB0Pg==