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

Top

No Comments

Understanding the Top 4 Performance Metrics in vSphere

Understanding the Top 4 Performance Metrics in vSphere
Scott D. Lowe, vExpert, MVP Virtual Machine, MCSE
  • On March 14, 2013

vSphere environments can be complex beasts that require a lot of attention and ongoing tuning to get “just right.”  When it comes to ensuring the ongoing acceptable performance of that vSphere environment, there exist hundreds of different performance metrics.  vSphere administrators must traverse the performance metric minefield to identify those metrics that truly matter and that have the most significant positive impact on the vSphere environment.

From a high level perspective, a typical virtual environment has four primary resource areas:

  • Compute.  The compute tier is responsible for executing operations and supports running the code that provides an environment for the virtual machines.  The compute layer is made up of servers, each two one or more processors and with each of those processors bearing one or more processing cores.
  • Memory.  Memory is where programs run and is often one of the first resources to be exhausted in a virtual environment.
  • Storage.  When programs aren’t running, they are stored on disk along with the data that is required by said programs.  In addition, in many modern data centers, servers are scheduled to boot directly from storage, so there are often files related to the operating system (vSphere) located on storage as well.
  • Network.  The network imbues upon the virtual environment the ability to communicate with the world outside.

Now, suppose you were tasked with identifying the one performance metric for each of these areas that is absolutely critical to ongoing operation.  The sections below describe the primary performance metric in each of the areas mentioned above.  In future articles, I will dive much deeper into each of these areas.

vSphere administrators must traverse the performance metric minefield to identify those metrics that truly matter…

CPU usage

I have to admit that I was torn between whether to list CPU usage or CPU ready as the primary metric in the compute resource space.  CPU usage provides an administrator with an at-a-glance look at how far the virtual environment is being pushed while the CPU ready metric is a measure for how long it takes for enough physical processor resources to be freed up to service a virtual machine’s needs.  As this article is focused on overarching performance metrics, I decided to focus on the most obvious performance-related metric.

With that said, what is good and what is bad with regard to CPU usage in a virtual environment?  Many agree that a consistent physical CPU utilization metric that stays well above 75% – 80% is the point at which an administrator should begin to consider adding processor resources.  Even though that still leaves 20% of room, bear in mind that many loads still need room to “peak” at certain times, so it’s important to leave a little room.

Disk latency

Disk latency is the amount of time that it takes for a read or write operation sent to a storage device to actually be processed.  This metric takes into account delays that might be introduced due to RAID and other storage configuration decisions.

If you’re seeing average disk latency exceeding 20 milliseconds or so or if you’re seeing major spikes on an ongoing basis, you may be running into issues that could be workload affecting.  For example, I’ve seen disk latency issues break Microsoft clusters.

Obviously, every workload has different levels of tolerance, so do a bit of study before jumping to too many conclusions.  Further, when it comes to disk latency, there can be any number of causes, each of which calls for a different resolution.

  • Perhaps you have too few disk spindles serving too many I/Os.  Solutions may include adding additional spindles or moving to solid state disks.  You may also need to investigate the storage head end to make sure it can keep up with the load.
  • Sometimes, adding additional RAM to a virtual machine can be helpful in these cases, but only if adding that RAM has the potential to lead to less I/O hitting storage.
  • If you have antimalware software on your virtual machines, make sure it’s not running at the same time on all of your VMs.  That activity can spike I/O, increasing overall latency.
  • Make sure no virtual machines are swapping to disk.  See the next item for more information.

Memory swapping on host or virtual machines

In many virtual environments, RAM is the first resource to be exhausted.  Memory swapping – the activity that takes place when RAM is depleted and the system turns to disk as a memory cache – has a profoundly negative impact on performance.  If you see even a single virtual machine swapping to disk, you’re going to see the impact.  As such, make sure that you have assigned enough RAM to each of your virtual machines and make sure that the host has enough RAM to serve all of the running VMs.  In a vSphere environment, if you see swapping taking place, your environment is probably massively overcommitted as swapping to disk is the last of many memory management techniques that vSphere has at its disposal.

As I mentioned before, memory swapping can also have an impact on disk I/O and latency since swapping adds additional I/O load to storage.

If you see any swapping going on, it’s too much.

Network utilization

As is the case with CPU, the most obvious networking performance metric is also the most important.  If you see constant network link utilization above 80% or so, it’s time to add more network capacity.  This can be accomplished by moving to 10 GbE or adding additional bonded network adapters to the existing system.

Summary

It’s important to note that the information presented in this article is just one way to look at the virtual environment.  Every environment is different, so make sure you understand how your workloads operate and use appropriate metrics.  In future articles, I’ll dig deeper into metrics and show you various ways by which you can monitor the health of your vSphere environment.

Previous Story

There are no older stories.

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+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV8yMycgIGFjdGlvbj0nL3ZzcGhlcmUtcGVyZm9ybWFuY2UtbWV0cmljcy8jZ2ZfMjMnPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9ib2R5Jz48dWwgaWQ9J2dmb3JtX2ZpZWxkc18yMycgY2xhc3M9J2dmb3JtX2ZpZWxkcyB0b3BfbGFiZWwgZm9ybV9zdWJsYWJlbF9iZWxvdyBkZXNjcmlwdGlvbl9iZWxvdyc+PGxpIGlkPSdmaWVsZF8yM18xJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzEnID5GaXJzdCBOYW1lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8xJyBpZD0naW5wdXRfMjNfMScgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PScxJyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzInIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMicgPkxhc3QgTmFtZTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfMicgaWQ9J2lucHV0XzIzXzInIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nMicgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM18zJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzMnID5FbWFpbDxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSdpbnB1dF8zJyBpZD0naW5wdXRfMjNfMycgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgdGFiaW5kZXg9JzMnICAgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzUnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNScgPkNvdW50cnk8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF81JyBpZD0naW5wdXRfMjNfNScgb25jaGFuZ2U9J2dmX2FwcGx5X3J1bGVzKDIzLFs0XSk7JyBjbGFzcz0nbWVkaXVtIGdmaWVsZF9zZWxlY3QnIHRhYmluZGV4PSc0JyA+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIFN0YXRlcycgc2VsZWN0ZWQ9J3NlbGVjdGVkJz5Vbml0ZWQgU3RhdGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FuYWRhJyA+Q2FuYWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIEtpbmdkb20nID5Vbml0ZWQgS2luZ2RvbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F1c3RyYWxpYScgPkF1c3RyYWxpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FmZ2hhbmlzdGFuJyA+QWZnaGFuaXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGJhbmlhJyA+QWxiYW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsZ2VyaWEnID5BbGdlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW1lcmljYW4gU2Ftb2EnID5BbWVyaWNhbiBTYW1vYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FuZG9ycmEnID5BbmRvcnJhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW5nb2xhJyA+QW5nb2xhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW50aWd1YSBhbmQgQmFyYnVkYScgPkFudGlndWEgYW5kIEJhcmJ1ZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcmdlbnRpbmEnID5BcmdlbnRpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lbmlhJyA+QXJtZW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F1c3RyaWEnID5BdXN0cmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXplcmJhaWphbicgPkF6ZXJiYWlqYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYWhhbWFzJyA+QmFoYW1hczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhaHJhaW4nID5CYWhyYWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFuZ2xhZGVzaCcgPkJhbmdsYWRlc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYXJiYWRvcycgPkJhcmJhZG9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsYXJ1cycgPkJlbGFydXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxnaXVtJyA+QmVsZ2l1bTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGl6ZScgPkJlbGl6ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbmluJyA+QmVuaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZXJtdWRhJyA+QmVybXVkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JodXRhbicgPkJodXRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JvbGl2aWEnID5Cb2xpdmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYScgPkJvc25pYSBhbmQgSGVyemVnb3ZpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb3Rzd2FuYScgPkJvdHN3YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnJhemlsJyA+QnJhemlsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnJ1bmVpJyA+QnJ1bmVpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVsZ2FyaWEnID5CdWxnYXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1cmtpbmEgRmFzbycgPkJ1cmtpbmEgRmFzbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1cnVuZGknID5CdXJ1bmRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FtYm9kaWEnID5DYW1ib2RpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbWVyb29uJyA+Q2FtZXJvb248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYXBlIFZlcmRlJyA+Q2FwZSBWZXJkZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NheW1hbiBJc2xhbmRzJyA+Q2F5bWFuIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDZW50cmFsIEFmcmljYW4gUmVwdWJsaWMnID5DZW50cmFsIEFmcmljYW4gUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGFkJyA+Q2hhZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoaWxlJyA+Q2hpbGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGluYScgPkNoaW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29sb21iaWEnID5Db2xvbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbW9yb3MnID5Db21vcm9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlJyA+Q29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29uZ28sIFJlcHVibGljIG9mIHRoZScgPkNvbmdvLCBSZXB1YmxpYyBvZiB0aGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb3N0YSBSaWNhJyA+Q29zdGEgUmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Mmb2NpcmM7dGUgZCYjMDM5O0l2b2lyZScgPkMmb2NpcmM7dGUgZCYjMDM5O0l2b2lyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nyb2F0aWEnID5Dcm9hdGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3ViYScgPkN1YmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDeXBydXMnID5DeXBydXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDemVjaCBSZXB1YmxpYycgPkN6ZWNoIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGVubWFyaycgPkRlbm1hcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEamlib3V0aScgPkRqaWJvdXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRG9taW5pY2EnID5Eb21pbmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RvbWluaWNhbiBSZXB1YmxpYycgPkRvbWluaWNhbiBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Vhc3QgVGltb3InID5FYXN0IFRpbW9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWN1YWRvcicgPkVjdWFkb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFZ3lwdCcgPkVneXB0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWwgU2FsdmFkb3InID5FbCBTYWx2YWRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VxdWF0b3JpYWwgR3VpbmVhJyA+RXF1YXRvcmlhbCBHdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFcml0cmVhJyA+RXJpdHJlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VzdG9uaWEnID5Fc3RvbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXRoaW9waWEnID5FdGhpb3BpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZpamknID5GaWppPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmlubGFuZCcgPkZpbmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGcmFuY2UnID5GcmFuY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHYWJvbicgPkdhYm9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2FtYmlhJyA+R2FtYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VvcmdpYScgPkdlb3JnaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZXJtYW55JyA+R2VybWFueTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0doYW5hJyA+R2hhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVlY2UnID5HcmVlY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVlbmxhbmQnID5HcmVlbmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVuYWRhJyA+R3JlbmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1YW0nID5HdWFtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VhdGVtYWxhJyA+R3VhdGVtYWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VpbmVhJyA+R3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VpbmVhLUJpc3NhdScgPkd1aW5lYS1CaXNzYXU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdXlhbmEnID5HdXlhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIYWl0aScgPkhhaXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSG9uZHVyYXMnID5Ib25kdXJhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hvbmcgS29uZycgPkhvbmcgS29uZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0h1bmdhcnknID5IdW5nYXJ5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWNlbGFuZCcgPkljZWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRpYScgPkluZGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW5kb25lc2lhJyA+SW5kb25lc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJhbicgPklyYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmFxJyA+SXJhcTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyZWxhbmQnID5JcmVsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXNyYWVsJyA+SXNyYWVsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXRhbHknID5JdGFseTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0phbWFpY2EnID5KYW1haWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSmFwYW4nID5KYXBhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0pvcmRhbicgPkpvcmRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0themFraHN0YW4nID5LYXpha2hzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2VueWEnID5LZW55YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0tpcmliYXRpJyA+S2lyaWJhdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBLb3JlYScgPk5vcnRoIEtvcmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggS29yZWEnID5Tb3V0aCBLb3JlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0t1d2FpdCcgPkt1d2FpdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0t5cmd5enN0YW4nID5LeXJneXpzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGFvcycgPkxhb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMYXR2aWEnID5MYXR2aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMZWJhbm9uJyA+TGViYW5vbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xlc290aG8nID5MZXNvdGhvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGliZXJpYScgPkxpYmVyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWJ5YScgPkxpYnlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGllY2h0ZW5zdGVpbicgPkxpZWNodGVuc3RlaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaXRodWFuaWEnID5MaXRodWFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMdXhlbWJvdXJnJyA+THV4ZW1ib3VyZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hY2Vkb25pYScgPk1hY2Vkb25pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hZGFnYXNjYXInID5NYWRhZ2FzY2FyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsYXdpJyA+TWFsYXdpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsYXlzaWEnID5NYWxheXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGRpdmVzJyA+TWFsZGl2ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxpJyA+TWFsaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbHRhJyA+TWFsdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXJzaGFsbCBJc2xhbmRzJyA+TWFyc2hhbGwgSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hdXJpdGFuaWEnID5NYXVyaXRhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF1cml0aXVzJyA+TWF1cml0aXVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWV4aWNvJyA+TWV4aWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWljcm9uZXNpYScgPk1pY3JvbmVzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb2xkb3ZhJyA+TW9sZG92YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbmFjbycgPk1vbmFjbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbmdvbGlhJyA+TW9uZ29saWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb250ZW5lZ3JvJyA+TW9udGVuZWdybzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vcm9jY28nID5Nb3JvY2NvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW96YW1iaXF1ZScgPk1vemFtYmlxdWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNeWFubWFyJyA+TXlhbm1hcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05hbWliaWEnID5OYW1pYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmF1cnUnID5OYXVydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05lcGFsJyA+TmVwYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXRoZXJsYW5kcycgPk5ldGhlcmxhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IFplYWxhbmQnID5OZXcgWmVhbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pY2FyYWd1YScgPk5pY2FyYWd1YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pZ2VyJyA+TmlnZXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOaWdlcmlhJyA+TmlnZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcndheScgPk5vcndheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycgPk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09tYW4nID5PbWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFraXN0YW4nID5QYWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbGF1JyA+UGFsYXU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWxlc3RpbmUnID5QYWxlc3RpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYW5hbWEnID5QYW5hbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYXB1YSBOZXcgR3VpbmVhJyA+UGFwdWEgTmV3IEd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhcmFndWF5JyA+UGFyYWd1YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQZXJ1JyA+UGVydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BoaWxpcHBpbmVzJyA+UGhpbGlwcGluZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQb2xhbmQnID5Qb2xhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQb3J0dWdhbCcgPlBvcnR1Z2FsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUHVlcnRvIFJpY28nID5QdWVydG8gUmljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1FhdGFyJyA+UWF0YXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSb21hbmlhJyA+Um9tYW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1J1c3NpYScgPlJ1c3NpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1J3YW5kYScgPlJ3YW5kYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IEtpdHRzIGFuZCBOZXZpcycgPlNhaW50IEtpdHRzIGFuZCBOZXZpczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IEx1Y2lhJyA+U2FpbnQgTHVjaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcycgPlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2Ftb2EnID5TYW1vYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhbiBNYXJpbm8nID5TYW4gTWFyaW5vPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FvIFRvbWUgYW5kIFByaW5jaXBlJyA+U2FvIFRvbWUgYW5kIFByaW5jaXBlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2F1ZGkgQXJhYmlhJyA+U2F1ZGkgQXJhYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2VuZWdhbCcgPlNlbmVnYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZXJiaWEgYW5kIE1vbnRlbmVncm8nID5TZXJiaWEgYW5kIE1vbnRlbmVncm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZXljaGVsbGVzJyA+U2V5Y2hlbGxlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NpZXJyYSBMZW9uZScgPlNpZXJyYSBMZW9uZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NpbmdhcG9yZScgPlNpbmdhcG9yZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Nsb3Zha2lhJyA+U2xvdmFraWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTbG92ZW5pYScgPlNsb3ZlbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU29sb21vbiBJc2xhbmRzJyA+U29sb21vbiBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU29tYWxpYScgPlNvbWFsaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBBZnJpY2EnID5Tb3V0aCBBZnJpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTcGFpbicgPlNwYWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3JpIExhbmthJyA+U3JpIExhbmthPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VkYW4nID5TdWRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1ZGFuLCBTb3V0aCcgPlN1ZGFuLCBTb3V0aDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1cmluYW1lJyA+U3VyaW5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2F6aWxhbmQnID5Td2F6aWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2VkZW4nID5Td2VkZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2l0emVybGFuZCcgPlN3aXR6ZXJsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3lyaWEnID5TeXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhaXdhbicgPlRhaXdhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhamlraXN0YW4nID5UYWppa2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFuemFuaWEnID5UYW56YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RoYWlsYW5kJyA+VGhhaWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUb2dvJyA+VG9nbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RvbmdhJyA+VG9uZ2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUcmluaWRhZCBhbmQgVG9iYWdvJyA+VHJpbmlkYWQgYW5kIFRvYmFnbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1bmlzaWEnID5UdW5pc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVya2V5JyA+VHVya2V5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVya21lbmlzdGFuJyA+VHVya21lbmlzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHV2YWx1JyA+VHV2YWx1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVWdhbmRhJyA+VWdhbmRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVWtyYWluZScgPlVrcmFpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVbml0ZWQgQXJhYiBFbWlyYXRlcycgPlVuaXRlZCBBcmFiIEVtaXJhdGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXJ1Z3VheScgPlVydWd1YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVemJla2lzdGFuJyA+VXpiZWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZhbnVhdHUnID5WYW51YXR1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmF0aWNhbiBDaXR5JyA+VmF0aWNhbiBDaXR5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmVuZXp1ZWxhJyA+VmVuZXp1ZWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlldG5hbScgPlZpZXRuYW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW4gSXNsYW5kcywgQnJpdGlzaCcgPlZpcmdpbiBJc2xhbmRzLCBCcml0aXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luIElzbGFuZHMsIFUuUy4nID5WaXJnaW4gSXNsYW5kcywgVS5TLjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1llbWVuJyA+WWVtZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdaYW1iaWEnID5aYW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdaaW1iYWJ3ZScgPlppbWJhYndlPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzQnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM180JyA+U3RhdGU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxzZWxlY3QgbmFtZT0naW5wdXRfNCcgaWQ9J2lucHV0XzIzXzQnICBjbGFzcz0nbWVkaXVtIGdmaWVsZF9zZWxlY3QnIHRhYmluZGV4PSc1JyA+PG9wdGlvbiB2YWx1ZT0nQWxhYmFtYScgPkFsYWJhbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGFza2EnID5BbGFza2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcml6b25hJyA+QXJpem9uYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Fya2Fuc2FzJyA+QXJrYW5zYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYWxpZm9ybmlhJyA+Q2FsaWZvcm5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbG9yYWRvJyA+Q29sb3JhZG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25uZWN0aWN1dCcgPkNvbm5lY3RpY3V0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGVsYXdhcmUnID5EZWxhd2FyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Rpc3RyaWN0IG9mIENvbHVtYmlhJyA+RGlzdHJpY3Qgb2YgQ29sdW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGbG9yaWRhJyA+RmxvcmlkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlb3JnaWEnID5HZW9yZ2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSGF3YWlpJyA+SGF3YWlpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWRhaG8nID5JZGFobzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lsbGlub2lzJyA+SWxsaW5vaXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRpYW5hJyA+SW5kaWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lvd2EnID5Jb3dhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2Fuc2FzJyA+S2Fuc2FzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2VudHVja3knID5LZW50dWNreTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xvdWlzaWFuYScgPkxvdWlzaWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01haW5lJyA+TWFpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXJ5bGFuZCcgPk1hcnlsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFzc2FjaHVzZXR0cycgPk1hc3NhY2h1c2V0dHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaWNoaWdhbicgPk1pY2hpZ2FuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlubmVzb3RhJyA+TWlubmVzb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlzc2lzc2lwcGknID5NaXNzaXNzaXBwaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pc3NvdXJpJyA+TWlzc291cmk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb250YW5hJyA+TW9udGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05lYnJhc2thJyA+TmVicmFza2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXZhZGEnID5OZXZhZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgSGFtcHNoaXJlJyA+TmV3IEhhbXBzaGlyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBKZXJzZXknID5OZXcgSmVyc2V5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IE1leGljbycgPk5ldyBNZXhpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgWW9yaycgPk5ldyBZb3JrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggQ2Fyb2xpbmEnID5Ob3J0aCBDYXJvbGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIERha290YScgPk5vcnRoIERha290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09oaW8nID5PaGlvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT2tsYWhvbWEnID5Pa2xhaG9tYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09yZWdvbicgPk9yZWdvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Blbm5zeWx2YW5pYScgPlBlbm5zeWx2YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Job2RlIElzbGFuZCcgPlJob2RlIElzbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIENhcm9saW5hJyA+U291dGggQ2Fyb2xpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBEYWtvdGEnID5Tb3V0aCBEYWtvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUZW5uZXNzZWUnID5UZW5uZXNzZWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUZXhhcycgPlRleGFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXRhaCcgPlV0YWg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWZXJtb250JyA+VmVybW9udDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbmlhJyA+VmlyZ2luaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXYXNoaW5ndG9uJyA+V2FzaGluZ3Rvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dlc3QgVmlyZ2luaWEnID5XZXN0IFZpcmdpbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2lzY29uc2luJyA+V2lzY29uc2luPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV3lvbWluZycgPld5b21pbmc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgQW1lcmljYXMnID5Bcm1lZCBGb3JjZXMgQW1lcmljYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgRXVyb3BlJyA+QXJtZWQgRm9yY2VzIEV1cm9wZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBQYWNpZmljJyA+QXJtZWQgRm9yY2VzIFBhY2lmaWM8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNicgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzYnID5QaG9uZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzYnIGlkPSdpbnB1dF8yM182JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyB0YWJpbmRleD0nNicgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM183JyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzcnID5Db21wYW55PHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF83JyBpZD0naW5wdXRfMjNfNycgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc3JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzgnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM184JyA+Sm9iIFRpdGxlPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfOCcgaWQ9J2lucHV0XzIzXzgnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nOCcgICAvPjwvZGl2PjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2Zvb3RlciB0b3BfbGFiZWwnPiA8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nZ2Zvcm1fc3VibWl0X2J1dHRvbl8yMycgY2xhc3M9J2dmb3JtX2J1dHRvbiBidXR0b24nIHZhbHVlPSdSZWdpc3RlciBOb3chJyB0YWJpbmRleD0nOScgb25jbGljaz0naWYod2luZG93WyJnZl9zdWJtaXR0aW5nXzIzIl0pe3JldHVybiBmYWxzZTt9ICB3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjMiXT10cnVlOyAgJyAvPiA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9hamF4JyB2YWx1ZT0nZm9ybV9pZD0yMyZhbXA7dGl0bGU9JmFtcDtkZXNjcmlwdGlvbj0mYW1wO3RhYmluZGV4PTEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF8yMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3N1Ym1pdCcgdmFsdWU9JzIzJyAvPgogICAgICAgICAgICAKICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdW5pcXVlX2lkJyB2YWx1ZT0nJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdzdGF0ZV8yMycgdmFsdWU9J1d5SmJYU0lzSW1OaE9EVTNZbVl3TURZd05EY3dNVGxqTW1FeU1qQTJOR1poWkRBd056QTFJbDA9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjMnIGlkPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjMnIHZhbHVlPScwJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnIHZhbHVlPScxJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9maWVsZF92YWx1ZXMnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGlmcmFtZSBzdHlsZT0nZGlzcGxheTpub25lO3dpZHRoOjBweDtoZWlnaHQ6MHB4Oycgc3JjPSdhYm91dDpibGFuaycgbmFtZT0nZ2Zvcm1fYWpheF9mcmFtZV8yMycgaWQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnPjwvaWZyYW1lPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7Z2Zvcm1Jbml0U3Bpbm5lciggMjMsICdodHRwOi8vd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeSgnI2dmb3JtX2FqYXhfZnJhbWVfMjMnKS5sb2FkKCBmdW5jdGlvbigpe3ZhciBjb250ZW50cyA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyonKS5odG1sKCk7dmFyIGlzX3Bvc3RiYWNrID0gY29udGVudHMuaW5kZXhPZignR0ZfQUpBWF9QT1NUQkFDSycpID49IDA7aWYoIWlzX3Bvc3RiYWNrKXtyZXR1cm47fXZhciBmb3JtX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fd3JhcHBlcl8yMycpO3ZhciBpc19jb25maXJtYXRpb24gPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXJfMjMnKS5sZW5ndGggPiAwO3ZhciBpc19yZWRpcmVjdCA9IGNvbnRlbnRzLmluZGV4T2YoJ2dmb3JtUmVkaXJlY3QoKXsnKSA+PSAwO3ZhciBpc19mb3JtID0gZm9ybV9jb250ZW50Lmxlbmd0aCA+IDAgJiYgISBpc19yZWRpcmVjdCAmJiAhIGlzX2NvbmZpcm1hdGlvbjtpZihpc19mb3JtKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykuaHRtbChmb3JtX2NvbnRlbnQuaHRtbCgpKTtzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsgLyogZGVsYXkgdGhlIHNjcm9sbCBieSA1MCBtaWxsaXNlY29uZHMgdG8gZml4IGEgYnVnIGluIGNocm9tZSAqLyBqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykub2Zmc2V0KCkudG9wKTsgfSwgNTAgKTtpZih3aW5kb3dbJ2dmb3JtSW5pdERhdGVwaWNrZXInXSkge2dmb3JtSW5pdERhdGVwaWNrZXIoKTt9aWYod2luZG93WydnZm9ybUluaXRQcmljZUZpZWxkcyddKSB7Z2Zvcm1Jbml0UHJpY2VGaWVsZHMoKTt9dmFyIGN1cnJlbnRfcGFnZSA9IGpRdWVyeSgnI2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycpLnZhbCgpO2dmb3JtSW5pdFNwaW5uZXIoIDIzLCAnaHR0cDovL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2ltYWdlcy9zcGlubmVyLmdpZicgKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3BhZ2VfbG9hZGVkJywgWzIzLCBjdXJyZW50X3BhZ2VdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMjMnXSA9IGZhbHNlO31lbHNlIGlmKCFpc19yZWRpcmVjdCl7dmFyIGNvbmZpcm1hdGlvbl9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yMycpLmh0bWwoKTtpZighY29uZmlybWF0aW9uX2NvbnRlbnQpe2NvbmZpcm1hdGlvbl9jb250ZW50ID0gY29udGVudHM7fXNldFRpbWVvdXQoZnVuY3Rpb24oKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykucmVwbGFjZVdpdGgoJzwnICsgJ2RpdiBpZD1cJ2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yM1wnIGNsYXNzPVwnZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2VfMjMgZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCcnICsgJz4nICsgY29uZmlybWF0aW9uX2NvbnRlbnQgKyAnPCcgKyAnL2RpdicgKyAnPicpO2pRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yMycpLm9mZnNldCgpLnRvcCk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9jb25maXJtYXRpb25fbG9hZGVkJywgWzIzXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzIzJ10gPSBmYWxzZTt9LCA1MCk7fWVsc2V7alF1ZXJ5KCcjZ2Zvcm1fMjMnKS5hcHBlbmQoY29udGVudHMpO2lmKHdpbmRvd1snZ2Zvcm1SZWRpcmVjdCddKSB7Z2Zvcm1SZWRpcmVjdCgpO319alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFsyMywgY3VycmVudF9wYWdlXSk7fSApO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGlmKHR5cGVvZiBnZl9nbG9iYWwgPT0gJ3VuZGVmaW5lZCcpIHZhciBnZl9nbG9iYWwgPSB7ImdmX2N1cnJlbmN5X2NvbmZpZyI6eyJuYW1lIjoiVS5TLiBEb2xsYXIiLCJzeW1ib2xfbGVmdCI6IiQiLCJzeW1ib2xfcmlnaHQiOiIiLCJzeW1ib2xfcGFkZGluZyI6IiIsInRob3VzYW5kX3NlcGFyYXRvciI6IiwiLCJkZWNpbWFsX3NlcGFyYXRvciI6Ii4iLCJkZWNpbWFscyI6Mn0sImJhc2VfdXJsIjoiaHR0cDpcL1wvd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9ncmF2aXR5Zm9ybXMiLCJudW1iZXJfZm9ybWF0cyI6W10sInNwaW5uZXJVcmwiOiJodHRwOlwvXC93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3Jtc1wvaW1hZ2VzXC9zcGlubmVyLmdpZiJ9O2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9yZW5kZXInLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBjdXJyZW50UGFnZSl7aWYoZm9ybUlkID09IDIzKSB7aWYod2luZG93WydqUXVlcnknXSl7aWYoIXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddKXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddID0gbmV3IEFycmF5KCk7d2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ11bMjNdID0geydsb2dpYycgOiB7NDogeyJmaWVsZCI6eyJhY3Rpb25UeXBlIjoiaGlkZSIsImxvZ2ljVHlwZSI6ImFsbCIsInJ1bGVzIjpbeyJmaWVsZElkIjoiNSIsIm9wZXJhdG9yIjoiaXNub3QiLCJ2YWx1ZSI6IlVuaXRlZCBTdGF0ZXMifV19LCJuZXh0QnV0dG9uIjpudWxsLCJzZWN0aW9uIjpudWxsfSB9LCAnZGVwZW5kZW50cycgOiB7NDogWzRdIH0sICdhbmltYXRpb24nIDogMCAsICdkZWZhdWx0cycgOiB7IjUiOiJVbml0ZWQgU3RhdGVzIn0gfTsgaWYoIXdpbmRvd1snZ2ZfbnVtYmVyX2Zvcm1hdCddKXdpbmRvd1snZ2ZfbnVtYmVyX2Zvcm1hdCddID0gJ2RlY2ltYWxfZG90JztqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7Z2ZfYXBwbHlfcnVsZXMoMjMsIFs0XSwgdHJ1ZSk7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLnNob3coKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBbMjMsIG51bGwsIHRydWVdKTt9ICk7fSBnZm9ybUluaXRDaG9zZW5GaWVsZHMoJyNpbnB1dF8yM181LCNpbnB1dF8yM180JywnTm8gcmVzdWx0cyBtYXRjaGVkJyk7fSB9ICk7alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X2NvbmRpdGlvbmFsX2xvZ2ljJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgZmllbGRzLCBpc0luaXQpe2dmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzIzXzUsI2lucHV0XzIzXzQnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFsyMywgMV0pIH0gKTsgPC9zY3JpcHQ+
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+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV8yMycgIGFjdGlvbj0nL3ZzcGhlcmUtcGVyZm9ybWFuY2UtbWV0cmljcy8jZ2ZfMjMnPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9ib2R5Jz48dWwgaWQ9J2dmb3JtX2ZpZWxkc18yMycgY2xhc3M9J2dmb3JtX2ZpZWxkcyB0b3BfbGFiZWwgZm9ybV9zdWJsYWJlbF9iZWxvdyBkZXNjcmlwdGlvbl9iZWxvdyc+PGxpIGlkPSdmaWVsZF8yM18xJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzEnID5GaXJzdCBOYW1lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8xJyBpZD0naW5wdXRfMjNfMScgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PScxJyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzInIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMicgPkxhc3QgTmFtZTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfMicgaWQ9J2lucHV0XzIzXzInIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nMicgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM18zJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzMnID5FbWFpbDxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSdpbnB1dF8zJyBpZD0naW5wdXRfMjNfMycgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgdGFiaW5kZXg9JzMnICAgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzUnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNScgPkNvdW50cnk8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF81JyBpZD0naW5wdXRfMjNfNScgb25jaGFuZ2U9J2dmX2FwcGx5X3J1bGVzKDIzLFs0XSk7JyBjbGFzcz0nbWVkaXVtIGdmaWVsZF9zZWxlY3QnIHRhYmluZGV4PSc0JyA+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIFN0YXRlcycgc2VsZWN0ZWQ9J3NlbGVjdGVkJz5Vbml0ZWQgU3RhdGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FuYWRhJyA+Q2FuYWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIEtpbmdkb20nID5Vbml0ZWQgS2luZ2RvbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F1c3RyYWxpYScgPkF1c3RyYWxpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FmZ2hhbmlzdGFuJyA+QWZnaGFuaXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGJhbmlhJyA+QWxiYW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsZ2VyaWEnID5BbGdlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW1lcmljYW4gU2Ftb2EnID5BbWVyaWNhbiBTYW1vYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FuZG9ycmEnID5BbmRvcnJhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW5nb2xhJyA+QW5nb2xhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW50aWd1YSBhbmQgQmFyYnVkYScgPkFudGlndWEgYW5kIEJhcmJ1ZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcmdlbnRpbmEnID5BcmdlbnRpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lbmlhJyA+QXJtZW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F1c3RyaWEnID5BdXN0cmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXplcmJhaWphbicgPkF6ZXJiYWlqYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYWhhbWFzJyA+QmFoYW1hczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhaHJhaW4nID5CYWhyYWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFuZ2xhZGVzaCcgPkJhbmdsYWRlc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYXJiYWRvcycgPkJhcmJhZG9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsYXJ1cycgPkJlbGFydXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxnaXVtJyA+QmVsZ2l1bTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGl6ZScgPkJlbGl6ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbmluJyA+QmVuaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZXJtdWRhJyA+QmVybXVkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JodXRhbicgPkJodXRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JvbGl2aWEnID5Cb2xpdmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYScgPkJvc25pYSBhbmQgSGVyemVnb3ZpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb3Rzd2FuYScgPkJvdHN3YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnJhemlsJyA+QnJhemlsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnJ1bmVpJyA+QnJ1bmVpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVsZ2FyaWEnID5CdWxnYXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1cmtpbmEgRmFzbycgPkJ1cmtpbmEgRmFzbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1cnVuZGknID5CdXJ1bmRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FtYm9kaWEnID5DYW1ib2RpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbWVyb29uJyA+Q2FtZXJvb248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYXBlIFZlcmRlJyA+Q2FwZSBWZXJkZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NheW1hbiBJc2xhbmRzJyA+Q2F5bWFuIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDZW50cmFsIEFmcmljYW4gUmVwdWJsaWMnID5DZW50cmFsIEFmcmljYW4gUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGFkJyA+Q2hhZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoaWxlJyA+Q2hpbGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGluYScgPkNoaW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29sb21iaWEnID5Db2xvbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbW9yb3MnID5Db21vcm9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlJyA+Q29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29uZ28sIFJlcHVibGljIG9mIHRoZScgPkNvbmdvLCBSZXB1YmxpYyBvZiB0aGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb3N0YSBSaWNhJyA+Q29zdGEgUmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Mmb2NpcmM7dGUgZCYjMDM5O0l2b2lyZScgPkMmb2NpcmM7dGUgZCYjMDM5O0l2b2lyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nyb2F0aWEnID5Dcm9hdGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3ViYScgPkN1YmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDeXBydXMnID5DeXBydXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDemVjaCBSZXB1YmxpYycgPkN6ZWNoIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGVubWFyaycgPkRlbm1hcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEamlib3V0aScgPkRqaWJvdXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRG9taW5pY2EnID5Eb21pbmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RvbWluaWNhbiBSZXB1YmxpYycgPkRvbWluaWNhbiBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Vhc3QgVGltb3InID5FYXN0IFRpbW9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWN1YWRvcicgPkVjdWFkb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFZ3lwdCcgPkVneXB0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWwgU2FsdmFkb3InID5FbCBTYWx2YWRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VxdWF0b3JpYWwgR3VpbmVhJyA+RXF1YXRvcmlhbCBHdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFcml0cmVhJyA+RXJpdHJlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VzdG9uaWEnID5Fc3RvbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXRoaW9waWEnID5FdGhpb3BpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZpamknID5GaWppPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmlubGFuZCcgPkZpbmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGcmFuY2UnID5GcmFuY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHYWJvbicgPkdhYm9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2FtYmlhJyA+R2FtYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VvcmdpYScgPkdlb3JnaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZXJtYW55JyA+R2VybWFueTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0doYW5hJyA+R2hhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVlY2UnID5HcmVlY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVlbmxhbmQnID5HcmVlbmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVuYWRhJyA+R3JlbmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1YW0nID5HdWFtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VhdGVtYWxhJyA+R3VhdGVtYWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VpbmVhJyA+R3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VpbmVhLUJpc3NhdScgPkd1aW5lYS1CaXNzYXU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdXlhbmEnID5HdXlhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIYWl0aScgPkhhaXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSG9uZHVyYXMnID5Ib25kdXJhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hvbmcgS29uZycgPkhvbmcgS29uZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0h1bmdhcnknID5IdW5nYXJ5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWNlbGFuZCcgPkljZWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRpYScgPkluZGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW5kb25lc2lhJyA+SW5kb25lc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJhbicgPklyYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmFxJyA+SXJhcTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyZWxhbmQnID5JcmVsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXNyYWVsJyA+SXNyYWVsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXRhbHknID5JdGFseTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0phbWFpY2EnID5KYW1haWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSmFwYW4nID5KYXBhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0pvcmRhbicgPkpvcmRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0themFraHN0YW4nID5LYXpha2hzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2VueWEnID5LZW55YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0tpcmliYXRpJyA+S2lyaWJhdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBLb3JlYScgPk5vcnRoIEtvcmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggS29yZWEnID5Tb3V0aCBLb3JlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0t1d2FpdCcgPkt1d2FpdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0t5cmd5enN0YW4nID5LeXJneXpzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGFvcycgPkxhb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMYXR2aWEnID5MYXR2aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMZWJhbm9uJyA+TGViYW5vbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xlc290aG8nID5MZXNvdGhvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGliZXJpYScgPkxpYmVyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWJ5YScgPkxpYnlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGllY2h0ZW5zdGVpbicgPkxpZWNodGVuc3RlaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaXRodWFuaWEnID5MaXRodWFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMdXhlbWJvdXJnJyA+THV4ZW1ib3VyZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hY2Vkb25pYScgPk1hY2Vkb25pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hZGFnYXNjYXInID5NYWRhZ2FzY2FyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsYXdpJyA+TWFsYXdpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsYXlzaWEnID5NYWxheXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGRpdmVzJyA+TWFsZGl2ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxpJyA+TWFsaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbHRhJyA+TWFsdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXJzaGFsbCBJc2xhbmRzJyA+TWFyc2hhbGwgSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hdXJpdGFuaWEnID5NYXVyaXRhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF1cml0aXVzJyA+TWF1cml0aXVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWV4aWNvJyA+TWV4aWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWljcm9uZXNpYScgPk1pY3JvbmVzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb2xkb3ZhJyA+TW9sZG92YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbmFjbycgPk1vbmFjbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbmdvbGlhJyA+TW9uZ29saWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb250ZW5lZ3JvJyA+TW9udGVuZWdybzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vcm9jY28nID5Nb3JvY2NvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW96YW1iaXF1ZScgPk1vemFtYmlxdWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNeWFubWFyJyA+TXlhbm1hcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05hbWliaWEnID5OYW1pYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmF1cnUnID5OYXVydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05lcGFsJyA+TmVwYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXRoZXJsYW5kcycgPk5ldGhlcmxhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IFplYWxhbmQnID5OZXcgWmVhbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pY2FyYWd1YScgPk5pY2FyYWd1YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pZ2VyJyA+TmlnZXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOaWdlcmlhJyA+TmlnZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcndheScgPk5vcndheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycgPk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09tYW4nID5PbWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFraXN0YW4nID5QYWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbGF1JyA+UGFsYXU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWxlc3RpbmUnID5QYWxlc3RpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYW5hbWEnID5QYW5hbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYXB1YSBOZXcgR3VpbmVhJyA+UGFwdWEgTmV3IEd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhcmFndWF5JyA+UGFyYWd1YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQZXJ1JyA+UGVydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BoaWxpcHBpbmVzJyA+UGhpbGlwcGluZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQb2xhbmQnID5Qb2xhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQb3J0dWdhbCcgPlBvcnR1Z2FsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUHVlcnRvIFJpY28nID5QdWVydG8gUmljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1FhdGFyJyA+UWF0YXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSb21hbmlhJyA+Um9tYW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1J1c3NpYScgPlJ1c3NpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1J3YW5kYScgPlJ3YW5kYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IEtpdHRzIGFuZCBOZXZpcycgPlNhaW50IEtpdHRzIGFuZCBOZXZpczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IEx1Y2lhJyA+U2FpbnQgTHVjaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcycgPlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2Ftb2EnID5TYW1vYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhbiBNYXJpbm8nID5TYW4gTWFyaW5vPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FvIFRvbWUgYW5kIFByaW5jaXBlJyA+U2FvIFRvbWUgYW5kIFByaW5jaXBlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2F1ZGkgQXJhYmlhJyA+U2F1ZGkgQXJhYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2VuZWdhbCcgPlNlbmVnYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZXJiaWEgYW5kIE1vbnRlbmVncm8nID5TZXJiaWEgYW5kIE1vbnRlbmVncm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZXljaGVsbGVzJyA+U2V5Y2hlbGxlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NpZXJyYSBMZW9uZScgPlNpZXJyYSBMZW9uZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NpbmdhcG9yZScgPlNpbmdhcG9yZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Nsb3Zha2lhJyA+U2xvdmFraWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTbG92ZW5pYScgPlNsb3ZlbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU29sb21vbiBJc2xhbmRzJyA+U29sb21vbiBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU29tYWxpYScgPlNvbWFsaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBBZnJpY2EnID5Tb3V0aCBBZnJpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTcGFpbicgPlNwYWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3JpIExhbmthJyA+U3JpIExhbmthPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VkYW4nID5TdWRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1ZGFuLCBTb3V0aCcgPlN1ZGFuLCBTb3V0aDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1cmluYW1lJyA+U3VyaW5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2F6aWxhbmQnID5Td2F6aWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2VkZW4nID5Td2VkZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2l0emVybGFuZCcgPlN3aXR6ZXJsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3lyaWEnID5TeXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhaXdhbicgPlRhaXdhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhamlraXN0YW4nID5UYWppa2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFuemFuaWEnID5UYW56YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RoYWlsYW5kJyA+VGhhaWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUb2dvJyA+VG9nbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RvbmdhJyA+VG9uZ2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUcmluaWRhZCBhbmQgVG9iYWdvJyA+VHJpbmlkYWQgYW5kIFRvYmFnbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1bmlzaWEnID5UdW5pc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVya2V5JyA+VHVya2V5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVya21lbmlzdGFuJyA+VHVya21lbmlzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHV2YWx1JyA+VHV2YWx1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVWdhbmRhJyA+VWdhbmRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVWtyYWluZScgPlVrcmFpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVbml0ZWQgQXJhYiBFbWlyYXRlcycgPlVuaXRlZCBBcmFiIEVtaXJhdGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXJ1Z3VheScgPlVydWd1YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVemJla2lzdGFuJyA+VXpiZWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZhbnVhdHUnID5WYW51YXR1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmF0aWNhbiBDaXR5JyA+VmF0aWNhbiBDaXR5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmVuZXp1ZWxhJyA+VmVuZXp1ZWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlldG5hbScgPlZpZXRuYW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW4gSXNsYW5kcywgQnJpdGlzaCcgPlZpcmdpbiBJc2xhbmRzLCBCcml0aXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luIElzbGFuZHMsIFUuUy4nID5WaXJnaW4gSXNsYW5kcywgVS5TLjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1llbWVuJyA+WWVtZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdaYW1iaWEnID5aYW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdaaW1iYWJ3ZScgPlppbWJhYndlPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzQnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM180JyA+U3RhdGU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxzZWxlY3QgbmFtZT0naW5wdXRfNCcgaWQ9J2lucHV0XzIzXzQnICBjbGFzcz0nbWVkaXVtIGdmaWVsZF9zZWxlY3QnIHRhYmluZGV4PSc1JyA+PG9wdGlvbiB2YWx1ZT0nQWxhYmFtYScgPkFsYWJhbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGFza2EnID5BbGFza2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcml6b25hJyA+QXJpem9uYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Fya2Fuc2FzJyA+QXJrYW5zYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYWxpZm9ybmlhJyA+Q2FsaWZvcm5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbG9yYWRvJyA+Q29sb3JhZG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25uZWN0aWN1dCcgPkNvbm5lY3RpY3V0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGVsYXdhcmUnID5EZWxhd2FyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Rpc3RyaWN0IG9mIENvbHVtYmlhJyA+RGlzdHJpY3Qgb2YgQ29sdW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGbG9yaWRhJyA+RmxvcmlkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlb3JnaWEnID5HZW9yZ2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSGF3YWlpJyA+SGF3YWlpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWRhaG8nID5JZGFobzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lsbGlub2lzJyA+SWxsaW5vaXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRpYW5hJyA+SW5kaWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lvd2EnID5Jb3dhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2Fuc2FzJyA+S2Fuc2FzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2VudHVja3knID5LZW50dWNreTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xvdWlzaWFuYScgPkxvdWlzaWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01haW5lJyA+TWFpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXJ5bGFuZCcgPk1hcnlsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFzc2FjaHVzZXR0cycgPk1hc3NhY2h1c2V0dHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaWNoaWdhbicgPk1pY2hpZ2FuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlubmVzb3RhJyA+TWlubmVzb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlzc2lzc2lwcGknID5NaXNzaXNzaXBwaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pc3NvdXJpJyA+TWlzc291cmk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb250YW5hJyA+TW9udGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05lYnJhc2thJyA+TmVicmFza2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXZhZGEnID5OZXZhZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgSGFtcHNoaXJlJyA+TmV3IEhhbXBzaGlyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBKZXJzZXknID5OZXcgSmVyc2V5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IE1leGljbycgPk5ldyBNZXhpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgWW9yaycgPk5ldyBZb3JrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggQ2Fyb2xpbmEnID5Ob3J0aCBDYXJvbGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIERha290YScgPk5vcnRoIERha290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09oaW8nID5PaGlvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT2tsYWhvbWEnID5Pa2xhaG9tYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09yZWdvbicgPk9yZWdvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Blbm5zeWx2YW5pYScgPlBlbm5zeWx2YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Job2RlIElzbGFuZCcgPlJob2RlIElzbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIENhcm9saW5hJyA+U291dGggQ2Fyb2xpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBEYWtvdGEnID5Tb3V0aCBEYWtvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUZW5uZXNzZWUnID5UZW5uZXNzZWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUZXhhcycgPlRleGFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXRhaCcgPlV0YWg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWZXJtb250JyA+VmVybW9udDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbmlhJyA+VmlyZ2luaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXYXNoaW5ndG9uJyA+V2FzaGluZ3Rvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dlc3QgVmlyZ2luaWEnID5XZXN0IFZpcmdpbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2lzY29uc2luJyA+V2lzY29uc2luPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV3lvbWluZycgPld5b21pbmc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgQW1lcmljYXMnID5Bcm1lZCBGb3JjZXMgQW1lcmljYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgRXVyb3BlJyA+QXJtZWQgRm9yY2VzIEV1cm9wZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBQYWNpZmljJyA+QXJtZWQgRm9yY2VzIFBhY2lmaWM8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNicgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzYnID5QaG9uZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzYnIGlkPSdpbnB1dF8yM182JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyB0YWJpbmRleD0nNicgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM183JyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzcnID5Db21wYW55PHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF83JyBpZD0naW5wdXRfMjNfNycgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc3JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzgnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM184JyA+Sm9iIFRpdGxlPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfOCcgaWQ9J2lucHV0XzIzXzgnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nOCcgICAvPjwvZGl2PjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2Zvb3RlciB0b3BfbGFiZWwnPiA8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nZ2Zvcm1fc3VibWl0X2J1dHRvbl8yMycgY2xhc3M9J2dmb3JtX2J1dHRvbiBidXR0b24nIHZhbHVlPSdSZWdpc3RlciBOb3chJyB0YWJpbmRleD0nOScgb25jbGljaz0naWYod2luZG93WyJnZl9zdWJtaXR0aW5nXzIzIl0pe3JldHVybiBmYWxzZTt9ICB3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjMiXT10cnVlOyAgJyAvPiA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9hamF4JyB2YWx1ZT0nZm9ybV9pZD0yMyZhbXA7dGl0bGU9JmFtcDtkZXNjcmlwdGlvbj0mYW1wO3RhYmluZGV4PTEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF8yMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3N1Ym1pdCcgdmFsdWU9JzIzJyAvPgogICAgICAgICAgICAKICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdW5pcXVlX2lkJyB2YWx1ZT0nJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdzdGF0ZV8yMycgdmFsdWU9J1d5SmJYU0lzSW1OaE9EVTNZbVl3TURZd05EY3dNVGxqTW1FeU1qQTJOR1poWkRBd056QTFJbDA9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjMnIGlkPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjMnIHZhbHVlPScwJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnIHZhbHVlPScxJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9maWVsZF92YWx1ZXMnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGlmcmFtZSBzdHlsZT0nZGlzcGxheTpub25lO3dpZHRoOjBweDtoZWlnaHQ6MHB4Oycgc3JjPSdhYm91dDpibGFuaycgbmFtZT0nZ2Zvcm1fYWpheF9mcmFtZV8yMycgaWQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnPjwvaWZyYW1lPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7Z2Zvcm1Jbml0U3Bpbm5lciggMjMsICdodHRwOi8vd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeSgnI2dmb3JtX2FqYXhfZnJhbWVfMjMnKS5sb2FkKCBmdW5jdGlvbigpe3ZhciBjb250ZW50cyA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyonKS5odG1sKCk7dmFyIGlzX3Bvc3RiYWNrID0gY29udGVudHMuaW5kZXhPZignR0ZfQUpBWF9QT1NUQkFDSycpID49IDA7aWYoIWlzX3Bvc3RiYWNrKXtyZXR1cm47fXZhciBmb3JtX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fd3JhcHBlcl8yMycpO3ZhciBpc19jb25maXJtYXRpb24gPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXJfMjMnKS5sZW5ndGggPiAwO3ZhciBpc19yZWRpcmVjdCA9IGNvbnRlbnRzLmluZGV4T2YoJ2dmb3JtUmVkaXJlY3QoKXsnKSA+PSAwO3ZhciBpc19mb3JtID0gZm9ybV9jb250ZW50Lmxlbmd0aCA+IDAgJiYgISBpc19yZWRpcmVjdCAmJiAhIGlzX2NvbmZpcm1hdGlvbjtpZihpc19mb3JtKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykuaHRtbChmb3JtX2NvbnRlbnQuaHRtbCgpKTtzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsgLyogZGVsYXkgdGhlIHNjcm9sbCBieSA1MCBtaWxsaXNlY29uZHMgdG8gZml4IGEgYnVnIGluIGNocm9tZSAqLyBqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykub2Zmc2V0KCkudG9wKTsgfSwgNTAgKTtpZih3aW5kb3dbJ2dmb3JtSW5pdERhdGVwaWNrZXInXSkge2dmb3JtSW5pdERhdGVwaWNrZXIoKTt9aWYod2luZG93WydnZm9ybUluaXRQcmljZUZpZWxkcyddKSB7Z2Zvcm1Jbml0UHJpY2VGaWVsZHMoKTt9dmFyIGN1cnJlbnRfcGFnZSA9IGpRdWVyeSgnI2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycpLnZhbCgpO2dmb3JtSW5pdFNwaW5uZXIoIDIzLCAnaHR0cDovL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2ltYWdlcy9zcGlubmVyLmdpZicgKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3BhZ2VfbG9hZGVkJywgWzIzLCBjdXJyZW50X3BhZ2VdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMjMnXSA9IGZhbHNlO31lbHNlIGlmKCFpc19yZWRpcmVjdCl7dmFyIGNvbmZpcm1hdGlvbl9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yMycpLmh0bWwoKTtpZighY29uZmlybWF0aW9uX2NvbnRlbnQpe2NvbmZpcm1hdGlvbl9jb250ZW50ID0gY29udGVudHM7fXNldFRpbWVvdXQoZnVuY3Rpb24oKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykucmVwbGFjZVdpdGgoJzwnICsgJ2RpdiBpZD1cJ2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yM1wnIGNsYXNzPVwnZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2VfMjMgZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCcnICsgJz4nICsgY29uZmlybWF0aW9uX2NvbnRlbnQgKyAnPCcgKyAnL2RpdicgKyAnPicpO2pRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yMycpLm9mZnNldCgpLnRvcCk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9jb25maXJtYXRpb25fbG9hZGVkJywgWzIzXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzIzJ10gPSBmYWxzZTt9LCA1MCk7fWVsc2V7alF1ZXJ5KCcjZ2Zvcm1fMjMnKS5hcHBlbmQoY29udGVudHMpO2lmKHdpbmRvd1snZ2Zvcm1SZWRpcmVjdCddKSB7Z2Zvcm1SZWRpcmVjdCgpO319alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFsyMywgY3VycmVudF9wYWdlXSk7fSApO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGlmKHR5cGVvZiBnZl9nbG9iYWwgPT0gJ3VuZGVmaW5lZCcpIHZhciBnZl9nbG9iYWwgPSB7ImdmX2N1cnJlbmN5X2NvbmZpZyI6eyJuYW1lIjoiVS5TLiBEb2xsYXIiLCJzeW1ib2xfbGVmdCI6IiQiLCJzeW1ib2xfcmlnaHQiOiIiLCJzeW1ib2xfcGFkZGluZyI6IiIsInRob3VzYW5kX3NlcGFyYXRvciI6IiwiLCJkZWNpbWFsX3NlcGFyYXRvciI6Ii4iLCJkZWNpbWFscyI6Mn0sImJhc2VfdXJsIjoiaHR0cDpcL1wvd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9ncmF2aXR5Zm9ybXMiLCJudW1iZXJfZm9ybWF0cyI6W10sInNwaW5uZXJVcmwiOiJodHRwOlwvXC93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3Jtc1wvaW1hZ2VzXC9zcGlubmVyLmdpZiJ9O2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9yZW5kZXInLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBjdXJyZW50UGFnZSl7aWYoZm9ybUlkID09IDIzKSB7aWYod2luZG93WydqUXVlcnknXSl7aWYoIXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddKXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddID0gbmV3IEFycmF5KCk7d2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ11bMjNdID0geydsb2dpYycgOiB7NDogeyJmaWVsZCI6eyJhY3Rpb25UeXBlIjoiaGlkZSIsImxvZ2ljVHlwZSI6ImFsbCIsInJ1bGVzIjpbeyJmaWVsZElkIjoiNSIsIm9wZXJhdG9yIjoiaXNub3QiLCJ2YWx1ZSI6IlVuaXRlZCBTdGF0ZXMifV19LCJuZXh0QnV0dG9uIjpudWxsLCJzZWN0aW9uIjpudWxsfSB9LCAnZGVwZW5kZW50cycgOiB7NDogWzRdIH0sICdhbmltYXRpb24nIDogMCAsICdkZWZhdWx0cycgOiB7IjUiOiJVbml0ZWQgU3RhdGVzIn0gfTsgaWYoIXdpbmRvd1snZ2ZfbnVtYmVyX2Zvcm1hdCddKXdpbmRvd1snZ2ZfbnVtYmVyX2Zvcm1hdCddID0gJ2RlY2ltYWxfZG90JztqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7Z2ZfYXBwbHlfcnVsZXMoMjMsIFs0XSwgdHJ1ZSk7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLnNob3coKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBbMjMsIG51bGwsIHRydWVdKTt9ICk7fSBnZm9ybUluaXRDaG9zZW5GaWVsZHMoJyNpbnB1dF8yM181LCNpbnB1dF8yM180JywnTm8gcmVzdWx0cyBtYXRjaGVkJyk7fSB9ICk7alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X2NvbmRpdGlvbmFsX2xvZ2ljJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgZmllbGRzLCBpc0luaXQpe2dmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzIzXzUsI2lucHV0XzIzXzQnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFsyMywgMV0pIH0gKTsgPC9zY3JpcHQ+