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

Top

2 Comments

Review: SolarWinds Server & Application Monitor v. 6.1

Review: SolarWinds Server & Application Monitor v. 6.1
Scott D. Lowe, vExpert, MVP Virtual Machine, MCSE
  • On April 7, 2014

Analysts, bloggers, and vendors today seem to be laser focused on IT infrastructure.  Storage.  Networks.  Virtualization.  The list goes on and on.  At times, it almost seems that the world has forgotten about what are really the most important parts of the data center: The very applications and servers upon which the business relies in order to meet bottom line goals. In fact, as organizations consider monitoring tools, ensuring that there are tools in place to monitor basic infrastructure items is generally considered critical with deep application monitoring being considered a second tier need.  However, that mindset results in a monitoring environment that does only half the job.  Sure, it’s really important that, for example, the storage array is performing well, but what does a resource’s overall performance characteristics actually mean for the organizations application needs?  After all, an infrastructure element, such as a storage array, might be humming along just fine while, under the hood, Exchange is suffering from an unseen storage issue. Fortunately, SolarWinds has kept these items at top of mind, which is evident in the latest version of the company’s Server & Application Monitor (SAM).  This new version – SAM 6.1 – is packed with new features and improvements, all which add up to make it a leading contender in the application monitoring space.

Server & Application Monitor Version 6.1

solarwinds-logoServer & Application Monitor provides administrators with tools to enable monitoring of business critical servers and applications.  For many, systems such as SQL Server, Exchange, BizTalk, and others are critical infrastructure and are the lifeblood of the business.  Server & Application Monitor goes many steps beyond basic infrastructure availability and performance monitoring by keeping a watchful eye on the specific vital signs unique to each application.

New Features SAM 6.1

Although SAM 6.1 is only a point release, SolarWinds has added significant functionality to the product and updated it to support a number of new products and product versions.  The items in this section provide some details regarding these new features.

AppInsight for Exchange

SolarWinds’ AppInsight monitoring details are explained thusly by Jeremy Morrill, aka “Alterego”, Product Manager, on the SolarWinds thwack forums: “AppInsight provides a whole new level of application monitoring detail that was previously very difficult, if not impossible to achieve using Application Templates. AppInsight is not a direct replacement for Applications Templates but rather an entirely new monitoring concept within SAM. Application Templates remain the primary method for quickly monitoring virtually any commercial, open source, or home grown application imaginable. In contrast, AppInsight is more akin to an entirely new product deeply embedded within SAM; designed from the top down to solve common, yet complex problems for a specific application, rather than merely a new feature.” SolarWinds first introduced AppInsight for SQL Server and SAM 6.1 adds AppInsight support for Exchange 2010 and Exchange 2013 environments.  AppInsight is a way to simplify the overall monitoring and alerting experience for particularly complex software systems.  Exchange and SQL Server certainly qualify as complex applications.  Rather than having to configure numerous application templates and manually determine what’s important, AppInsight helps administrators streamline their deployment and achieve faster time to value. According to the release notes, AppInsight for Exchange includes default support for the following:

  • Intelligent Discovery & Single Click Configuration
  • Database Availability Groups Status Checks
  • Individual Mailbox Database Details Views
  • Mailbox Database Storage Usage and Performance

  • Transaction Log Storage Usage and Backup Status
  • Mailboxes By Size and Percentage of Quota Used
  • Users by Messages Sent and Received
  • Individual User Mailbox Details Views

Web Services Monitoring

With SAM 6.1, administrators can define queries that enable deeper monitoring of web applications beyond a simple up/down.  Now, it’s possible to direct queries to these applications and monitor the response to determine if the application itself is really available.

Windows Scheduled Task Monitoring

Many organizations rely on the Windows Task Scheduler in order to automate routine, repeatable processes and operations.  These tasks play a critical role in the ongoing operations of the organization.  As such, they might even be deemed as mission critical elements.  SAM 6.1 adds support for monitoring the success or failure of Windows scheduled tasks.

Windows+Scheduled+Tasks

Figure 1.0

New SAM Templates

  • Microsoft IIS SMTP Server
  • Microsoft System Center Configuration Manager 2012
  • Microsoft System Center Operations Manager 2012 (Management Server)
  • Microsoft System Center Operations Manager 2012 (Agent)
  • Exchange 2013 Client Access Role Services and Counters (Basic)
  • Exchange 2013 Client Access Role Counters (Advanced)
  • Websense Web Security
  • Microsoft DirectAccess 2008 R2

  • Microsoft DirectAccess 2012
  • Microsoft DirectAccess 2012 (Health with PowerShell)
  • Oracle Automatic Storage Management
  • SolarWinds Web Performance Monitor (WPM) Player
  • BizTalk Server 2010-2013 Message Box and Orchestrations Performance Counters
  • BizTalk Server 2010-2013 Host Throttling Performance Counters
  • BizTalk Server 2010-2013 Adapters Performance Counters
  • BizTalk Server 2010-2013 Availability Status

Test Drive

Today, ease of use is – or at least should be – a key characteristic of any software product.  Frankly, there is no excuse for massive complexity, particularly when it comes to the installation and deployment process.  In any review, the ease by which a tool is deployed should be highly considered and SAM 6.1 passes this test.  It’s not quite as easy to deploy as some of SolarWinds’ virtual machine-based products, but the installation is certainly far from difficult. The process involves ensuring that the target server meets the modest system requirements for SAM 6.1, which are as follows:

  • Windows Server® 2003, 2008 R2 & 2012, with IIS in 32-bit mode
  • Microsoft® IIS, version 6.0 & higher, in 32-bit mode must be installed
  • IIS 6.0 in 32-bit mode
  • .NET 3.5 (4.0 recommended)
  • SQL Server 2005 SP1 or later, including SQL Server® 2008 & 2012
  • CPU 2.4 GHz, 4GB Memory, 4GB free disk space

From there, it’s simply a matter of executing the downloaded installer package and following the prompts.  All in all, it took less than a half hour to be up and running with a full installation. While it would be possible to perform the full product review from a basic lab installation, in the interest of completeness, the remainder of this review is based on SolarWinds public demo of SAM 6.1, available at http://systems.demo.solarwinds.com/. The demo environment contains more real world possibilities than are available in a small lab environment.

First Things First

Figure 2 gives you a look at the first view you see when you log into the SAM demo.  This high level overview provides administrators with at-a-glance actionable information.  In short, it’s really easy to determine which systems and applications require attention and which ones are doing just fine.

sam1

Figure 2.0

Moving on to the Applications tab, you will find that there is much, much more information to be had.  In fact, the sheer level of information here is excellent.  In fact, it’s so good that it’s shown in Figure 3.  Here, you can see a plethora of information about the environment, including current application status, server warranty status, server hardware health, applications that are currently down, applications currently experiencing problems, processes using high amounts of CPU, recent events, storage IOPS on a per process basis, and whole lot more.

sam-screenshot

Click to Enlarge Full Image…Note: Image is large, best viewed on a laptop or desktop.

Drilling in Deeper

Overviews are nice, but they rarely answer the really important questions.  They simply point administrators in the right direction.  SAM 6.1 goes far beyond just pointing, though, and allows a deep dive into exactly what is going wrong so that administrators can save time, which ultimately saves money for the organization since problems can be resolved more quickly. There are a couple of different ways by which administrators can glean deeper level information from the SAM web console.  The first is to simply hover the mouse pointer over and alert and await the appearance of a pop up box that provides additional information.  This pop up box is shown in Figure 4.

sam3

Figure 4.0

As you might expect, these pop up windows are context sensitive. In Figure 4, the mouse pointer was focused on the SQL Server component. In Figure 5, the mouse pointer is focused on the server housing SQL Server. As you can see, some different, but related, information is displayed.

sam4

Figure 5.0

To dig more deeply, rather than hover the mouse over a monitored element, go ahead and click on it. This will bring to your screen highly detailed information about the monitored item. In Figure 6, you can see that clicking on the MSSQLSERVER component brings up AppInsight for SQL, which provides you with a detailed look at the SQL Server environment.

sam5

Figure 6.0 – Click to Enlarge

Likewise, it’s possible to open AppInsight for Exchange – new to SAM 6.1 – to get information about the mission-critical Exchange environment, shown in Figure 7.

sam6

Figure 7.0 – Click to Enlarge

Drilling down to a specific server provides at-a-glance information regarding the overall health of that server as well as any applications on that server.

sam7

Figure 8.0 – Click to Enlarge

Choosing the Vital Stats tab at the left side of the window provides you with additional details about the system. In the figure below, you can see that CPU #3 is in a warning state due to its load.

sam8

Figure 9.0 – Click to Enlarge

The Summary tab provides yet more information. Here, you can see that there is a warning message in the Windows Scheduled Tasks section indicating that a backup job failed due to an account failure.

sam9

Figure 10.0 – Click to Enlarge

Getting Information

So far, you’ve seen some nice looking screens and have seen a lot of information and even a few errors. However, it hasn’t necessarily been easy to figure out exactly what’s wrong with a component, even if it’s listed in a trouble state. Personally, I’d like to see a section on each page that specifically outlines the reasons for any red states.  Of course, all of the detail is accessible in other parts of the tool, so this is just a minor issue. That said, if you refer back to Figure 3, you see a section labeled All Applications. Here, it’s possible to drill down to gain specific intelligence as to what is causing a particular issue. In the figure below, note that I have selected to expand information regarding the Exchange 2007-2010 Hub Transport Service.

sam10

Figure 11.0

Clicking on the Service: Exchange Transport option, I’m able to drill down to see exactly what is going on with that component. Note that the information is clear: The Hub Transport service is stopped, disabled, or was never installed. This detail provides administrators with actionable information that can decrease time to resolution. You’re also able to see the length of time that the service has been in an error state, which can help you attempt to determine cause.

sam11

Figure 12.0 – Click to Enlarge

Concluding Thoughts…

It’s impossible to capture in a single review the sheer depth of information that is provided in SAM 6.1, but I have attempted to capture the high level details.  I find SAM 6.1 to be a very capable and comprehensive system.  Administrators will find that the product helps them to achieve much lower resolution times on outages and, more importantly, they will be able to identify potential issues more quickly, perhaps even before users even notice.  For Exchange administrators, they will find that SAM 6.1 is far superior to popular current methods, which include creating a series of PowerShell scripts.  While PowerShell is a flexible tool, administrators should have better things to do with their time. I also have one more item to discuss: Pricing.  Pricing for SAM 6.1 starts at $2,995, which enables 150 individual monitors. $31,495 buys a version of SAM that carries with it support for unlimited monitors.  

My main issue with pricing for SAM 6.1 is the fact that it takes an individual monitor-based approach, which could confuse some buyers about exactly what they need to buy.  On the upside, though, user can pick and choose just how granular they want to get and pay just for what they use and SolarWinds’ pricing on SAM 6.1 is perpetual.  In other words, while other vendors are moving to annual subscription licensing models, SolarWinds is taking a bit more customer-friendly approach and maintaining a more reasonable perpetual licensing model.  For more granularity and to monitor more elements, just add more licenses.  So, it might be a challenge at first, but the pricing model does provide flexibility.

Download a Free Trial of Server & Application Monitor 6.1 Here >>

Review Overview

Ease of Deployment & Configuration
9
Feature Set
9
Overall Completeness for Purpose
9
Usability
7.5
Price
8.5
8.6

Excellent

Strengths:

• Feature completeness, particularly AppInsight

• User interface design

• Sheer level of detail

Room for Improvement:

• Actionable information accessibility

• Potential pricing confusion

Comments

  1. Very well done, most impressed. Thanks for doing this.

    Michael

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+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV8yMycgIGFjdGlvbj0nL3Jldmlldy1zb2xhcndpbmRzLXNlcnZlci1hcHBsaWNhdGlvbi1tb25pdG9yLXYtNi0xLyNnZl8yMyc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2JvZHknPjx1bCBpZD0nZ2Zvcm1fZmllbGRzXzIzJyBjbGFzcz0nZ2Zvcm1fZmllbGRzIHRvcF9sYWJlbCBmb3JtX3N1YmxhYmVsX2JlbG93IGRlc2NyaXB0aW9uX2JlbG93Jz48bGkgaWQ9J2ZpZWxkXzIzXzEnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMScgPkZpcnN0IE5hbWU8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzEnIGlkPSdpbnB1dF8yM18xJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzEnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfMicgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM18yJyA+TGFzdCBOYW1lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8yJyBpZD0naW5wdXRfMjNfMicgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PScyJyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzMnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMycgPkVtYWlsPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9J2lucHV0XzMnIGlkPSdpbnB1dF8yM18zJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyB0YWJpbmRleD0nMycgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNScgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM181JyA+Q291bnRyeTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48c2VsZWN0IG5hbWU9J2lucHV0XzUnIGlkPSdpbnB1dF8yM181JyBvbmNoYW5nZT0nZ2ZfYXBwbHlfcnVsZXMoMjMsWzRdKTsnIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzQnID48b3B0aW9uIHZhbHVlPSdVbml0ZWQgU3RhdGVzJyBzZWxlY3RlZD0nc2VsZWN0ZWQnPlVuaXRlZCBTdGF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW5hZGEnID5DYW5hZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVbml0ZWQgS2luZ2RvbScgPlVuaXRlZCBLaW5nZG9tPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJhbGlhJyA+QXVzdHJhbGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWZnaGFuaXN0YW4nID5BZmdoYW5pc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYmFuaWEnID5BbGJhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWxnZXJpYScgPkFsZ2VyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbWVyaWNhbiBTYW1vYScgPkFtZXJpY2FuIFNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW5kb3JyYScgPkFuZG9ycmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbmdvbGEnID5BbmdvbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbnRpZ3VhIGFuZCBCYXJidWRhJyA+QW50aWd1YSBhbmQgQmFyYnVkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyZ2VudGluYScgPkFyZ2VudGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVuaWEnID5Bcm1lbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJpYScgPkF1c3RyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBemVyYmFpamFuJyA+QXplcmJhaWphbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhaGFtYXMnID5CYWhhbWFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFocmFpbicgPkJhaHJhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYW5nbGFkZXNoJyA+QmFuZ2xhZGVzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhcmJhZG9zJyA+QmFyYmFkb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxhcnVzJyA+QmVsYXJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGdpdW0nID5CZWxnaXVtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsaXplJyA+QmVsaXplPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVuaW4nID5CZW5pbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Jlcm11ZGEnID5CZXJtdWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmh1dGFuJyA+Qmh1dGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm9saXZpYScgPkJvbGl2aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb3NuaWEgYW5kIEhlcnplZ292aW5hJyA+Qm9zbmlhIGFuZCBIZXJ6ZWdvdmluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JvdHN3YW5hJyA+Qm90c3dhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcmF6aWwnID5CcmF6aWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcnVuZWknID5CcnVuZWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCdWxnYXJpYScgPkJ1bGdhcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVya2luYSBGYXNvJyA+QnVya2luYSBGYXNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVydW5kaScgPkJ1cnVuZGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW1ib2RpYScgPkNhbWJvZGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FtZXJvb24nID5DYW1lcm9vbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhcGUgVmVyZGUnID5DYXBlIFZlcmRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2F5bWFuIElzbGFuZHMnID5DYXltYW4gSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycgPkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoYWQnID5DaGFkPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2hpbGUnID5DaGlsZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoaW5hJyA+Q2hpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb2xvbWJpYScgPkNvbG9tYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29tb3JvcycgPkNvbW9yb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUnID5Db25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgUmVwdWJsaWMgb2YgdGhlJyA+Q29uZ28sIFJlcHVibGljIG9mIHRoZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvc3RhIFJpY2EnID5Db3N0YSBSaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlJyA+QyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3JvYXRpYScgPkNyb2F0aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDdWJhJyA+Q3ViYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N5cHJ1cycgPkN5cHJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N6ZWNoIFJlcHVibGljJyA+Q3plY2ggUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZW5tYXJrJyA+RGVubWFyazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RqaWJvdXRpJyA+RGppYm91dGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEb21pbmljYScgPkRvbWluaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRG9taW5pY2FuIFJlcHVibGljJyA+RG9taW5pY2FuIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWFzdCBUaW1vcicgPkVhc3QgVGltb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFY3VhZG9yJyA+RWN1YWRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VneXB0JyA+RWd5cHQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFbCBTYWx2YWRvcicgPkVsIFNhbHZhZG9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXF1YXRvcmlhbCBHdWluZWEnID5FcXVhdG9yaWFsIEd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VyaXRyZWEnID5Fcml0cmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXN0b25pYScgPkVzdG9uaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFdGhpb3BpYScgPkV0aGlvcGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmlqaScgPkZpamk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGaW5sYW5kJyA+RmlubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZyYW5jZScgPkZyYW5jZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dhYm9uJyA+R2Fib248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHYW1iaWEnID5HYW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZW9yZ2lhJyA+R2VvcmdpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlcm1hbnknID5HZXJtYW55PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2hhbmEnID5HaGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVjZScgPkdyZWVjZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVubGFuZCcgPkdyZWVubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZW5hZGEnID5HcmVuYWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VhbScgPkd1YW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWF0ZW1hbGEnID5HdWF0ZW1hbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEnID5HdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEtQmlzc2F1JyA+R3VpbmVhLUJpc3NhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1eWFuYScgPkd1eWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hhaXRpJyA+SGFpdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIb25kdXJhcycgPkhvbmR1cmFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSG9uZyBLb25nJyA+SG9uZyBLb25nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSHVuZ2FyeScgPkh1bmdhcnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJY2VsYW5kJyA+SWNlbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhJyA+SW5kaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRvbmVzaWEnID5JbmRvbmVzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmFuJyA+SXJhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyYXEnID5JcmFxPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJlbGFuZCcgPklyZWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJc3JhZWwnID5Jc3JhZWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJdGFseScgPkl0YWx5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSmFtYWljYScgPkphbWFpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdKYXBhbicgPkphcGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSm9yZGFuJyA+Sm9yZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2F6YWtoc3RhbicgPkthemFraHN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW55YScgPktlbnlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2lyaWJhdGknID5LaXJpYmF0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIEtvcmVhJyA+Tm9ydGggS29yZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBLb3JlYScgPlNvdXRoIEtvcmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3V3YWl0JyA+S3V3YWl0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3lyZ3l6c3RhbicgPkt5cmd5enN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMYW9zJyA+TGFvczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xhdHZpYScgPkxhdHZpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xlYmFub24nID5MZWJhbm9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGVzb3RobycgPkxlc290aG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWJlcmlhJyA+TGliZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpYnlhJyA+TGlieWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWVjaHRlbnN0ZWluJyA+TGllY2h0ZW5zdGVpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpdGh1YW5pYScgPkxpdGh1YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0x1eGVtYm91cmcnID5MdXhlbWJvdXJnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFjZWRvbmlhJyA+TWFjZWRvbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFkYWdhc2NhcicgPk1hZGFnYXNjYXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxhd2knID5NYWxhd2k8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxheXNpYScgPk1hbGF5c2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsZGl2ZXMnID5NYWxkaXZlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGknID5NYWxpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsdGEnID5NYWx0YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnNoYWxsIElzbGFuZHMnID5NYXJzaGFsbCBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF1cml0YW5pYScgPk1hdXJpdGFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXVyaXRpdXMnID5NYXVyaXRpdXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNZXhpY28nID5NZXhpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaWNyb25lc2lhJyA+TWljcm9uZXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbGRvdmEnID5Nb2xkb3ZhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uYWNvJyA+TW9uYWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uZ29saWEnID5Nb25nb2xpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRlbmVncm8nID5Nb250ZW5lZ3JvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9yb2NjbycgPk1vcm9jY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb3phbWJpcXVlJyA+TW96YW1iaXF1ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J015YW5tYXInID5NeWFubWFyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmFtaWJpYScgPk5hbWliaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOYXVydScgPk5hdXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVwYWwnID5OZXBhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldGhlcmxhbmRzJyA+TmV0aGVybGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgWmVhbGFuZCcgPk5ldyBaZWFsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmljYXJhZ3VhJyA+TmljYXJhZ3VhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmlnZXInID5OaWdlcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pZ2VyaWEnID5OaWdlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9yd2F5JyA+Tm9yd2F5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzJyA+Tm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT21hbicgPk9tYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWtpc3RhbicgPlBha2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFsYXUnID5QYWxhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbGVzdGluZScgPlBhbGVzdGluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbmFtYScgPlBhbmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhcHVhIE5ldyBHdWluZWEnID5QYXB1YSBOZXcgR3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFyYWd1YXknID5QYXJhZ3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BlcnUnID5QZXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGhpbGlwcGluZXMnID5QaGlsaXBwaW5lczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvbGFuZCcgPlBvbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvcnR1Z2FsJyA+UG9ydHVnYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQdWVydG8gUmljbycgPlB1ZXJ0byBSaWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUWF0YXInID5RYXRhcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1JvbWFuaWEnID5Sb21hbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUnVzc2lhJyA+UnVzc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUndhbmRhJyA+UndhbmRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgS2l0dHMgYW5kIE5ldmlzJyA+U2FpbnQgS2l0dHMgYW5kIE5ldmlzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgTHVjaWEnID5TYWludCBMdWNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzJyA+U2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW1vYScgPlNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FuIE1hcmlubycgPlNhbiBNYXJpbm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW8gVG9tZSBhbmQgUHJpbmNpcGUnID5TYW8gVG9tZSBhbmQgUHJpbmNpcGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYXVkaSBBcmFiaWEnID5TYXVkaSBBcmFiaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZW5lZ2FsJyA+U2VuZWdhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NlcmJpYSBhbmQgTW9udGVuZWdybycgPlNlcmJpYSBhbmQgTW9udGVuZWdybzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NleWNoZWxsZXMnID5TZXljaGVsbGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2llcnJhIExlb25lJyA+U2llcnJhIExlb25lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2luZ2Fwb3JlJyA+U2luZ2Fwb3JlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2xvdmFraWEnID5TbG92YWtpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Nsb3ZlbmlhJyA+U2xvdmVuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb2xvbW9uIElzbGFuZHMnID5Tb2xvbW9uIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb21hbGlhJyA+U29tYWxpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIEFmcmljYScgPlNvdXRoIEFmcmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NwYWluJyA+U3BhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTcmkgTGFua2EnID5TcmkgTGFua2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdWRhbicgPlN1ZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VkYW4sIFNvdXRoJyA+U3VkYW4sIFNvdXRoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VyaW5hbWUnID5TdXJpbmFtZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3YXppbGFuZCcgPlN3YXppbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3ZWRlbicgPlN3ZWRlbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3aXR6ZXJsYW5kJyA+U3dpdHplcmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTeXJpYScgPlN5cmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFpd2FuJyA+VGFpd2FuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFqaWtpc3RhbicgPlRhamlraXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUYW56YW5pYScgPlRhbnphbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGhhaWxhbmQnID5UaGFpbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RvZ28nID5Ub2dvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVG9uZ2EnID5Ub25nYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RyaW5pZGFkIGFuZCBUb2JhZ28nID5UcmluaWRhZCBhbmQgVG9iYWdvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVuaXNpYScgPlR1bmlzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrZXknID5UdXJrZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrbWVuaXN0YW4nID5UdXJrbWVuaXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXZhbHUnID5UdXZhbHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVZ2FuZGEnID5VZ2FuZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVa3JhaW5lJyA+VWtyYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VuaXRlZCBBcmFiIEVtaXJhdGVzJyA+VW5pdGVkIEFyYWIgRW1pcmF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVcnVndWF5JyA+VXJ1Z3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1V6YmVraXN0YW4nID5VemJla2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmFudWF0dScgPlZhbnVhdHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWYXRpY2FuIENpdHknID5WYXRpY2FuIENpdHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWZW5lenVlbGEnID5WZW5lenVlbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaWV0bmFtJyA+VmlldG5hbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbiBJc2xhbmRzLCBCcml0aXNoJyA+VmlyZ2luIElzbGFuZHMsIEJyaXRpc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW4gSXNsYW5kcywgVS5TLicgPlZpcmdpbiBJc2xhbmRzLCBVLlMuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nWWVtZW4nID5ZZW1lbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1phbWJpYScgPlphbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ppbWJhYndlJyA+WmltYmFid2U8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzQnID5TdGF0ZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF80JyBpZD0naW5wdXRfMjNfNCcgIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzUnID48b3B0aW9uIHZhbHVlPSdBbGFiYW1hJyA+QWxhYmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYXNrYScgPkFsYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyaXpvbmEnID5Bcml6b25hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJrYW5zYXMnID5BcmthbnNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbGlmb3JuaWEnID5DYWxpZm9ybmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29sb3JhZG8nID5Db2xvcmFkbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvbm5lY3RpY3V0JyA+Q29ubmVjdGljdXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZWxhd2FyZScgPkRlbGF3YXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGlzdHJpY3Qgb2YgQ29sdW1iaWEnID5EaXN0cmljdCBvZiBDb2x1bWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Zsb3JpZGEnID5GbG9yaWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VvcmdpYScgPkdlb3JnaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIYXdhaWknID5IYXdhaWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJZGFobycgPklkYWhvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWxsaW5vaXMnID5JbGxpbm9pczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhbmEnID5JbmRpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW93YScgPklvd2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLYW5zYXMnID5LYW5zYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW50dWNreScgPktlbnR1Y2t5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTG91aXNpYW5hJyA+TG91aXNpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFpbmUnID5NYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnlsYW5kJyA+TWFyeWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXNzYWNodXNldHRzJyA+TWFzc2FjaHVzZXR0czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pY2hpZ2FuJyA+TWljaGlnYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaW5uZXNvdGEnID5NaW5uZXNvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaXNzaXNzaXBwaScgPk1pc3Npc3NpcHBpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlzc291cmknID5NaXNzb3VyaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRhbmEnID5Nb250YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVicmFza2EnID5OZWJyYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldmFkYScgPk5ldmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBIYW1wc2hpcmUnID5OZXcgSGFtcHNoaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IEplcnNleScgPk5ldyBKZXJzZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgTWV4aWNvJyA+TmV3IE1leGljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBZb3JrJyA+TmV3IFlvcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBDYXJvbGluYScgPk5vcnRoIENhcm9saW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggRGFrb3RhJyA+Tm9ydGggRGFrb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT2hpbycgPk9oaW88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPa2xhaG9tYScgPk9rbGFob21hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT3JlZ29uJyA+T3JlZ29uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGVubnN5bHZhbmlhJyA+UGVubnN5bHZhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUmhvZGUgSXNsYW5kJyA+UmhvZGUgSXNsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggQ2Fyb2xpbmEnID5Tb3V0aCBDYXJvbGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIERha290YScgPlNvdXRoIERha290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Rlbm5lc3NlZScgPlRlbm5lc3NlZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RleGFzJyA+VGV4YXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVdGFoJyA+VXRhaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Zlcm1vbnQnID5WZXJtb250PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luaWEnID5WaXJnaW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dhc2hpbmd0b24nID5XYXNoaW5ndG9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2VzdCBWaXJnaW5pYScgPldlc3QgVmlyZ2luaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXaXNjb25zaW4nID5XaXNjb25zaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXeW9taW5nJyA+V3lvbWluZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBBbWVyaWNhcycgPkFybWVkIEZvcmNlcyBBbWVyaWNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBFdXJvcGUnID5Bcm1lZCBGb3JjZXMgRXVyb3BlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZWQgRm9yY2VzIFBhY2lmaWMnID5Bcm1lZCBGb3JjZXMgUGFjaWZpYzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM182JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNicgPlBob25lPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfNicgaWQ9J2lucHV0XzIzXzYnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nIHRhYmluZGV4PSc2JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzcnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNycgPkNvbXBhbnk8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzcnIGlkPSdpbnB1dF8yM183JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzcnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfOCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzgnID5Kb2IgVGl0bGU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF84JyBpZD0naW5wdXRfMjNfOCcgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc4JyAgIC8+PC9kaXY+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fZm9vdGVyIHRvcF9sYWJlbCc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIGlkPSdnZm9ybV9zdWJtaXRfYnV0dG9uXzIzJyBjbGFzcz0nZ2Zvcm1fYnV0dG9uIGJ1dHRvbicgdmFsdWU9J1JlZ2lzdGVyIE5vdyEnIHRhYmluZGV4PSc5JyBvbmNsaWNrPSdpZih3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjMiXSl7cmV0dXJuIGZhbHNlO30gIHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yMyJdPXRydWU7ICAnIC8+IDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2FqYXgnIHZhbHVlPSdmb3JtX2lkPTIzJmFtcDt0aXRsZT0mYW1wO2Rlc2NyaXB0aW9uPSZhbXA7dGFiaW5kZXg9MScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0naXNfc3VibWl0XzIzJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nMjMnIC8+CiAgICAgICAgICAgIAogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV91bmlxdWVfaWQnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J3N0YXRlXzIzJyB2YWx1ZT0nV3lKYlhTSXNJbU5oT0RVM1ltWXdNRFl3TkRjd01UbGpNbUV5TWpBMk5HWmhaREF3TnpBMUlsMD0nIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgdmFsdWU9JzAnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aWZyYW1lIHN0eWxlPSdkaXNwbGF5Om5vbmU7d2lkdGg6MHB4O2hlaWdodDowcHg7JyBzcmM9J2Fib3V0OmJsYW5rJyBuYW1lPSdnZm9ybV9hamF4X2ZyYW1lXzIzJyBpZD0nZ2Zvcm1fYWpheF9mcmFtZV8yMyc+PC9pZnJhbWU+CiAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKXtnZm9ybUluaXRTcGlubmVyKCAyMywgJ2h0dHA6Ly93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV8yMycpLmxvYWQoIGZ1bmN0aW9uKCl7dmFyIGNvbnRlbnRzID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnKicpLmh0bWwoKTt2YXIgaXNfcG9zdGJhY2sgPSBjb250ZW50cy5pbmRleE9mKCdHRl9BSkFYX1BPU1RCQUNLJykgPj0gMDtpZighaXNfcG9zdGJhY2spe3JldHVybjt9dmFyIGZvcm1fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV93cmFwcGVyXzIzJyk7dmFyIGlzX2NvbmZpcm1hdGlvbiA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV9jb25maXJtYXRpb25fd3JhcHBlcl8yMycpLmxlbmd0aCA+IDA7dmFyIGlzX3JlZGlyZWN0ID0gY29udGVudHMuaW5kZXhPZignZ2Zvcm1SZWRpcmVjdCgpeycpID49IDA7dmFyIGlzX2Zvcm0gPSBmb3JtX2NvbnRlbnQubGVuZ3RoID4gMCAmJiAhIGlzX3JlZGlyZWN0ICYmICEgaXNfY29uZmlybWF0aW9uO2lmKGlzX2Zvcm0pe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5odG1sKGZvcm1fY29udGVudC5odG1sKCkpO3NldFRpbWVvdXQoIGZ1bmN0aW9uKCkgeyAvKiBkZWxheSB0aGUgc2Nyb2xsIGJ5IDUwIG1pbGxpc2Vjb25kcyB0byBmaXggYSBidWcgaW4gY2hyb21lICovIGpRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5vZmZzZXQoKS50b3ApOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzIzJykudmFsKCk7Z2Zvcm1Jbml0U3Bpbm5lciggMjMsICdodHRwOi8vd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcGFnZV9sb2FkZWQnLCBbMjMsIGN1cnJlbnRfcGFnZV0pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18yMyddID0gZmFsc2U7fWVsc2UgaWYoIWlzX3JlZGlyZWN0KXt2YXIgY29uZmlybWF0aW9uX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykuaHRtbCgpO2lmKCFjb25maXJtYXRpb25fY29udGVudCl7Y29uZmlybWF0aW9uX2NvbnRlbnQgPSBjb250ZW50czt9c2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5yZXBsYWNlV2l0aCgnPCcgKyAnZGl2IGlkPVwnZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzXCcgY2xhc3M9XCdnZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZV8yMyBnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VcJycgKyAnPicgKyBjb25maXJtYXRpb25fY29udGVudCArICc8JyArICcvZGl2JyArICc+Jyk7alF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykub2Zmc2V0KCkudG9wKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX2NvbmZpcm1hdGlvbl9sb2FkZWQnLCBbMjNdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMjMnXSA9IGZhbHNlO30sIDUwKTt9ZWxzZXtqUXVlcnkoJyNnZm9ybV8yMycpLmFwcGVuZChjb250ZW50cyk7aWYod2luZG93WydnZm9ybVJlZGlyZWN0J10pIHtnZm9ybVJlZGlyZWN0KCk7fX1qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCBjdXJyZW50X3BhZ2VdKTt9ICk7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4gaWYodHlwZW9mIGdmX2dsb2JhbCA9PSAndW5kZWZpbmVkJykgdmFyIGdmX2dsb2JhbCA9IHsiZ2ZfY3VycmVuY3lfY29uZmlnIjp7Im5hbWUiOiJVLlMuIERvbGxhciIsInN5bWJvbF9sZWZ0IjoiJCIsInN5bWJvbF9yaWdodCI6IiIsInN5bWJvbF9wYWRkaW5nIjoiIiwidGhvdXNhbmRfc2VwYXJhdG9yIjoiLCIsImRlY2ltYWxfc2VwYXJhdG9yIjoiLiIsImRlY2ltYWxzIjoyfSwiYmFzZV91cmwiOiJodHRwOlwvXC93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3JtcyIsIm51bWJlcl9mb3JtYXRzIjpbXSwic3Bpbm5lclVybCI6Imh0dHA6XC9cL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3Jhdml0eWZvcm1zXC9pbWFnZXNcL3NwaW5uZXIuZ2lmIn07alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X3JlbmRlcicsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGN1cnJlbnRQYWdlKXtpZihmb3JtSWQgPT0gMjMpIHtpZih3aW5kb3dbJ2pRdWVyeSddKXtpZighd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10pd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10gPSBuZXcgQXJyYXkoKTt3aW5kb3dbJ2dmX2Zvcm1fY29uZGl0aW9uYWxfbG9naWMnXVsyM10gPSB7J2xvZ2ljJyA6IHs0OiB7ImZpZWxkIjp7ImFjdGlvblR5cGUiOiJoaWRlIiwibG9naWNUeXBlIjoiYWxsIiwicnVsZXMiOlt7ImZpZWxkSWQiOiI1Iiwib3BlcmF0b3IiOiJpc25vdCIsInZhbHVlIjoiVW5pdGVkIFN0YXRlcyJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9IH0sICdkZXBlbmRlbnRzJyA6IHs0OiBbNF0gfSwgJ2FuaW1hdGlvbicgOiAwICwgJ2RlZmF1bHRzJyA6IHsiNSI6IlVuaXRlZCBTdGF0ZXMifSB9OyBpZighd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10pd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10gPSAnZGVjaW1hbF9kb3QnO2pRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtnZl9hcHBseV9ydWxlcygyMywgWzRdLCB0cnVlKTtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykuc2hvdygpO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIFsyMywgbnVsbCwgdHJ1ZV0pO30gKTt9IGdmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzIzXzUsI2lucHV0XzIzXzQnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9IH0gKTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBmaWVsZHMsIGlzSW5pdCl7Z2Zvcm1Jbml0Q2hvc2VuRmllbGRzKCcjaW5wdXRfMjNfNSwjaW5wdXRfMjNfNCcsJ05vIHJlc3VsdHMgbWF0Y2hlZCcpO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCAxXSkgfSApOyA8L3NjcmlwdD4=
Can't Make the time?
Can't Make the Webinar Time?

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