Tizen.Location/a> namespace provides the current location using the location sources specified in the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Location.LocationType.md/">Tizen.Location.LocationType/a> enumeration. You can <a href=https://samsungtizenos.com/"#start\">use the location service<\/a> to manage location information in the following ways:<\/p>\n<ul>\n<li>\n<p>Get the user's current location<\/p>\n<p>You can set up event handlers to <a href=https://samsungtizenos.com/"#current_location\">track the current location<\/a> of the device and <a href=https://samsungtizenos.com/"#update\">be notified of location change events<\/a>.<\/p>\n<\/li>\n<li>\n<p>Get satellite information<\/p>\n<p>You can <a href=https://samsungtizenos.com/"#satellite\">access information on available GPS satellites<\/a>.<\/p>\n<\/li>\n<li>\n<p>Use location bounds<\/p>\n<p>You can create <a href=https://samsungtizenos.com/"#bound\">virtual perimeters<\/a> and monitor when a device enters or leaves them.<\/p>\n<\/li>\n<\/ul>\n<div class=\"md-alert md-alert-note\">\n<span><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\/><\/svg>Note<\/span>\n<p>To test the Tizen location-based services on the emulator, provide location data (longitude and latitude) using Emulator Control Panel.<\/p>\n<p>Since satellite data is not supported on the emulator, GPS status data is available on a target device only.<\/p>\n<\/div>\n<p>Asynchronous location-related updates and region monitoring notifications are implemented with events. Location-related events are called only if the location service has been started<\/p>\n<p>You can use the location state and updates as follows:<\/p>\n<ul>\n<li>If the location service is working correctly, <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Location.ServiceState.md/">Tizen.Location.ServiceState/a> is set to <code>Enabled<\/code>. The device can receive notifications about location change events only in this service state.<\/li>\n<li>If the location service is unable to run on the requested device due to weak radio reception, the location service state is set to <code>Disabled<\/code>. If this situation persists for a longer period, stop the service and try again later, to conserve the device battery.<\/li>\n<\/ul>\n<p><a name=\"method\"><\/a><\/p>\n<h2 id=\"content-location-types\"><a href=https://samsungtizenos.com/"#content-location-types\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Location types<\/h2>\n<p>The <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Location.LocationType.md/">Tizen.Location.LocationType/a> enumeration is used to specify the desired quality of service of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Location.Location.md/">Tizen.Location.Location/a> instance. For example, a location-based weather forecast application can require only very basic information to distinguish a city or a neighborhood, while a GPS navigation application can require the highest quality level to pinpoint a map location. Selecting the appropriate quality level not only helps to run the system efficiently but also leads to a good user experience.<\/p>\n<p>Using the <code>Tizen.Location.LocationType<\/code> enumeration allows your application to specify the following location positioning system types:<\/p>\n<ul>\n<li><code>Hybrid<\/code>, which selects the best method available at the moment<\/li>\n<li><code>GPS<\/code>, which uses the global positioning system<\/li>\n<li><code>WPS<\/code>, which uses the Wi-Fi positioning system<\/li>\n<li><code>Passive<\/code>, which uses the passive mode<\/li>\n<\/ul>\n<h2 id=\"content-prerequisites\"><a href=https://samsungtizenos.com/"#content-prerequisites\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Prerequisites<\/h2>\n<p>To use the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Location.md/">Tizen.Location/a> namespace, the application has to request permission by adding the following privilege to the <code>tizen-manifest.xml<\/code> file:<\/p>\n<code class=\"language-XML\"><privileges>\n <privilege>http:\/\/tizen.org\/privilege\/location<\/privilege>\n<\/privileges>\n<\/code>\n<p><a name=\"start\"><\/a><\/p>\n<h2 id=\"content-start-the-location-service\"><a href=https://samsungtizenos.com/"#content-start-the-location-service\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Start the location service<\/h2>\n<p>To start the location service, proceed as follows:<\/p>\n<ol>\n<li>\n<p>Create a <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Location.Locator.md/">Tizen.Location.Locator/a> instance with a specific value for its <code>LocationType<\/code> property before you use the location service.<\/p>\n<p>In this example, GPS is used as the source of the position data. You can use other values of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Location.LocationType.md/">Tizen.Location.LocationType/a> enumeration for hybrid and WPS sources:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Location<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Locator<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">locator<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Locator<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(LocationType.Gps);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>Each <code>Tizen.Location.Locator<\/code> is an independent service. Multiple instances can be created in the same application to provide different services, such as GPS and WPS. Events are set for a given instance and are called only if the service is started for their <code>Tizen.Location.Locator<\/code> instance.<\/p>\n<\/li>\n<li>\n<p>Start the location service using the <code>Start()<\/code> method. This call is asynchronous and only initiates the process of starting the location service. Once the service is started, registered event handlers are invoked when their corresponding events take place. To know when the service becomes enabled, use the <code>ServiceStateChanged<\/code> event of the <code>Tizen.Location.Locator<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Start<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Using the location service consumes power, so if the service is not used, stop updating the location using the <code>Stop()<\/code> method. Call the <code>Start()<\/code> method again if updated position information is needed:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Stop<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>At the end of the application lifecycle, destroy all used resources, such as the <code>Tizen.Location.Locator<\/code> instance:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> NULL;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>If you destroy the <code>Tizen.Location.Locator<\/code> instance, there is no need to call the <code>Stop()<\/code> method to stop the service, as the service is automatically stopped. In addition, you do not have to remove any previously added event handlers.<\/p>\n<\/li>\n<\/ol>\n<p><a name=\"current_location\"><\/a><\/p>\n<h2 id=\"content-get-the-current-location\"><a href=https://samsungtizenos.com/"#content-get-the-current-location\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Get the current location<\/h2>\n<p>To synchronously retrieve the current location of the device, proceed as follows:<\/p>\n<ol>\n<li>\n<p>Register an event handler for location service state changes and start the location service:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.ServiceStateChanged <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> ServiceStateHandler;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Start<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>The <code>ServiceStateHandler()<\/code> method is an event handler, which is called when the location service state changes:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">bool<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">serviceEnabled<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">false<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">ServiceStateHandler<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Object<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">ServiceStateChangedEventArgs<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">e<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (e.ServiceState <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> ServiceState.Enabled)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> serviceEnabled <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">true<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>After starting the location service, call the <code>GetLocation()<\/code> method to get the current location information:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Location<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Location<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">location<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> locator.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetLocation<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>When the service state is set to <code>Disabled<\/code>, the <code>GetLocation()<\/code> method may not return the current location, but a previous one.<\/p>\n<\/li>\n<li>\n<p>When you no longer need the state updates, remove the event handler:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.ServiceStateChanged <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">-=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> ServiceStateHandler;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"update\"><\/a><\/p>\n<h2 id=\"content-get-location-events\"><a href=https://samsungtizenos.com/"#content-get-location-events\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Get location events<\/h2>\n<p>You can get a notification of the device position being updated by using an event handler for the <code>LocationChanged<\/code> event of the <code>Tizen.Location.Locator<\/code> class. The event handler is invoked periodically, receiving the device's current position with every call. You can use the event handler to retrieve the device position (given as coordinates) and convert it to the corresponding address.<\/p>\n<p>To use the location change event handler, proceed as follows:<\/p>\n<ol>\n<li>\n<p>Register the event handler:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.Interval <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">2<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.LocationChanged <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> LocationChangedHandler<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>The <code>Interval<\/code> property determines the event call frequency. In this example, the event is called every 2 seconds.<\/p>\n<\/li>\n<li>\n<p>When the update is received, you can, for example, update the location that stores the device's current position:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">LocationChangedHandler<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Object<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">LocationChangedEventArgs<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">e<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Location<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Location<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">location<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> e.Location;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<div class=\"md-alert md-alert-note\">\n<span><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\/><\/svg>Note<\/span>\n<p>The event is called only if the location service has already been started.<\/p>\n<\/div>\n<\/li>\n<\/ol>\n<p><a name=\"satellite\"><\/a><\/p>\n<h2 id=\"content-get-satellite-information\"><a href=https://samsungtizenos.com/"#content-get-satellite-information\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Get satellite information<\/h2>\n<p>You can retrieve and update information about a satellite visible to the device. The information includes azimuth, elevation, PRN, SNR, and NMEA data. An event handler is invoked periodically, receiving information about the visible satellites with every call.<\/p>\n<p>To retrieve satellite information, proceed as follows:<\/p>\n<ol>\n<li>\n<p>Register an event handler for the <code>SatelliteStatusUpdated<\/code> event of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Location.GpsSatellite.md/">Tizen.Location.GpsSatellite/a> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">satellite.Interval <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">3<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">satellite.SatelliteStatusUpdated <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> SatelliteStatusChangedHandler;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>The <code>Interval<\/code> property of the <code>Tizen.Location.GpsSatellite<\/code> class determines the event call frequency. In this example, the event is called every 3 seconds.<\/p>\n<\/li>\n<li>\n<p>When the event handler is invoked, update the count of active and total satellites in view of the device:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SatelliteStatusChangedHandler<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Object<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SatelliteStatusChangedEventArgs<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">e<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">active<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> e.ActiveCount;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">inview<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> e.InViewCount;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<div class=\"md-alert md-alert-note\">\n<span><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\/><\/svg>Note<\/span>\n<p>The event is called only if the location service has already been started.<\/p>\n<\/div>\n<\/li>\n<\/ol>\n<p><a name=\"bound\"><\/a><\/p>\n<h2 id=\"content-use-location-bounds\"><a href=https://samsungtizenos.com/"#content-use-location-bounds\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Use location bounds<\/h2>\n<p>You can define a virtual perimeter, which is monitored to see whether the device enters or exits the area.<\/p>\n<p>To use a location boundary, proceed as follows:<\/p>\n<ol>\n<li>\n<p>Create location bounds with the required area type (rectangle, circle, or polygon) needed for your application:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Coordinate<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">one<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">two<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">three<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">List<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"><:<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Coordinate<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">List<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"><<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Coordinate<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">>();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">one.Latitude <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">10.10<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">one.Longitude <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">10.10<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">two.Latitude <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">20.20<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">two.Longitude <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">20.20<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">three.Latitude <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">30.30<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">three.Longitude <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">10.10<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Add<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(one);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Add<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(two);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Add<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(three);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">PolygonBoundary<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">polygon<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">PolygonBoundary<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(list);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>When a circular bound is needed, use the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Location.CircleBoundary.md/">Tizen.Location.CircleBoundary/a> class.<\/p>\n<\/li>\n<li>\n<p>To get notifications when the user enters or exits the defined perimeter, register an event handler:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.ZoneChanged <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> ZoneChangedHandler;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>Implement the event handler for the <code>ZoneChanged<\/code> event of the <code>Tizen.Location.Locator<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">ZoneChangedHandler<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Object<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">ZoneChangedEventArgs<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">e<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (BoundaryState.In <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> e.BoundState) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Boundary changed<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Call the <code>AddBoundary()<\/code> method to add the boundary to a location service:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddBoundary<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(polygon);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When the boundary is no longer needed, destroy it:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">locator.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">RemoveBoundary<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(polygon);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">polygon.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<h2 id=\"content-related-information\"><a href=https://samsungtizenos.com/"#content-related-information\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Related information<\/h2>\n<ul>\n<li>Dependencies\n<ul>\n<li>Tizen 4.0 and Higher<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-location-service\">Location service<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-location-types\">Location types<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-prerequisites\">Prerequisites<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-start-the-location-service\">Start the location service<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-get-the-current-location\">Get the current location<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-get-location-events\">Get location events<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-get-satellite-information\">Get satellite information<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-use-location-bounds\">Use location bounds<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-related-information\">Related information<\/a><\/li>\n<\/ul>\n","title":"Location Information","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"H7VCccGklLS3ZPSgz8At","name":"documentation::article","path":"docs\/application\/dotnet\/guides\/location\/location","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"8242825e71931b9b1bfd48718c14a05b96d0ada7f3a50bb48914a92fc1b4b64a"}" wire:effects="[]" wire:id="H7VCccGklLS3ZPSgz8At" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtbG9jYXRpb24taW5mb3JtYXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtbG9jYXRpb24taW5mb3JtYXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkxvY2F0aW9uIEluZm9ybWF0aW9uPFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxwPkxvY2F0aW9uIGluZm9ybWF0aW9uIGFsbG93cyB5b3UgdG8gZ2V0IGEgZGV2aWNlJ3MgZ2VvZ3JhcGhpYyBwb3NpdGlvbi4gQWRkaXRpb25hbGx5LCBsb2NhdGlvbi1yZWxhdGVkIGluZm9ybWF0aW9uIGNhbiBhbHNvIGNvbnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgYWx0aXR1ZGUsIHRoZSBhY2N1cmFjeSBvZiB0aGUgbG9jYXRpb24gYW5kIGFsdGl0dWRlIHJlYWRpbmdzLCBhbmQgdGhlIHVzZXIncyBtb3ZlbWVudCBzcGVlZCBhbmQgZGlyZWN0aW9uLjxcL3A+XG48cD5UaGUgbWFpbiBmZWF0dXJlcyBvZiB0aGUgVGl6ZW4uTG9jYXRpb24gbmFtZXNwYWNlIGluY2x1ZGUgdGhlIGZvbGxvd2luZzo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+RW5hYmxpbmcgdGhlIGxvY2F0aW9uIHNlcnZpY2U8XC9wPlxuPHA+WW91IGNhbiA8YSBocmVmPVwiI3NlcnZpY2VcIj51c2UgdGhlIGxvY2F0aW9uIHNlcnZpY2U8XC9hPiB0byBnZXQgdGhlIGN1cnJlbnQgbG9jYXRpb24sIHJlY2VpdmUgbG9jYXRpb24gY2hhbmdlIGV2ZW50cyBhbmQgc2F0ZWxsaXRlIGluZm9ybWF0aW9uLCB1c2UgbG9jYXRpb24gYm91bmRzLCBvciB0cmFjayByb3V0ZXMuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+RGVmaW5pbmcgdGhlIGxvY2F0aW9uIHR5cGU8XC9wPlxuPHA+WW91IGNhbiA8YSBocmVmPVwiI21ldGhvZFwiPnNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgbG9jYXRpb24gcG9zaXRpb25pbmcgc3lzdGVtIHR5cGU8XC9hPiB0byBhY2hpZXZlIHRoZSBvcHRpbWFsIHF1YWxpdHkgbGV2ZWwgZm9yIHRoZSBsb2NhdGlvbiBzZXJ2aWNlLjxcL3A+XG48XC9saT5cbjxcL3VsPlxuPHA+PGEgbmFtZT1cInNlcnZpY2VcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWxvY2F0aW9uLXNlcnZpY2VcIj48YSBocmVmPVwiI2NvbnRlbnQtbG9jYXRpb24tc2VydmljZVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+TG9jYXRpb24gc2VydmljZTxcL2gyPlxuPHA+VGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkxvY2F0aW9uLm1kXCI+VGl6ZW4uTG9jYXRpb248XC9hPiBuYW1lc3BhY2UgcHJvdmlkZXMgdGhlIGN1cnJlbnQgbG9jYXRpb24gdXNpbmcgdGhlIGxvY2F0aW9uIHNvdXJjZXMgc3BlY2lmaWVkIGluIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5Mb2NhdGlvbi5Mb2NhdGlvblR5cGUubWRcIj5UaXplbi5Mb2NhdGlvbi5Mb2NhdGlvblR5cGU8XC9hPiBlbnVtZXJhdGlvbi4gWW91IGNhbiA8YSBocmVmPVwiI3N0YXJ0XCI+dXNlIHRoZSBsb2NhdGlvbiBzZXJ2aWNlPFwvYT4gdG8gbWFuYWdlIGxvY2F0aW9uIGluZm9ybWF0aW9uIGluIHRoZSBmb2xsb3dpbmcgd2F5czo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+R2V0IHRoZSB1c2VyJ3MgY3VycmVudCBsb2NhdGlvbjxcL3A+XG48cD5Zb3UgY2FuIHNldCB1cCBldmVudCBoYW5kbGVycyB0byA8YSBocmVmPVwiI2N1cnJlbnRfbG9jYXRpb25cIj50cmFjayB0aGUgY3VycmVudCBsb2NhdGlvbjxcL2E+IG9mIHRoZSBkZXZpY2UgYW5kIDxhIGhyZWY9XCIjdXBkYXRlXCI+YmUgbm90aWZpZWQgb2YgbG9jYXRpb24gY2hhbmdlIGV2ZW50czxcL2E+LjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPkdldCBzYXRlbGxpdGUgaW5mb3JtYXRpb248XC9wPlxuPHA+WW91IGNhbiA8YSBocmVmPVwiI3NhdGVsbGl0ZVwiPmFjY2VzcyBpbmZvcm1hdGlvbiBvbiBhdmFpbGFibGUgR1BTIHNhdGVsbGl0ZXM8XC9hPi48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5Vc2UgbG9jYXRpb24gYm91bmRzPFwvcD5cbjxwPllvdSBjYW4gY3JlYXRlIDxhIGhyZWY9XCIjYm91bmRcIj52aXJ0dWFsIHBlcmltZXRlcnM8XC9hPiBhbmQgbW9uaXRvciB3aGVuIGEgZGV2aWNlIGVudGVycyBvciBsZWF2ZXMgdGhlbS48XC9wPlxuPFwvbGk+XG48XC91bD5cbjxkaXYgY2xhc3M9XCJtZC1hbGVydCBtZC1hbGVydC1ub3RlXCI+XG48c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDpcL1wvd3d3LnczLm9yZ1wvMjAwMFwvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCA4YTggOCAwIDEgMSAxNiAwQTggOCAwIDAgMSAwIDhabTgtNi41YTYuNSA2LjUgMCAxIDAgMCAxMyA2LjUgNi41IDAgMCAwIDAtMTNaTTYuNSA3Ljc1QS43NS43NSAwIDAgMSA3LjI1IDdoMWEuNzUuNzUgMCAwIDEgLjc1Ljc1djIuNzVoLjI1YS43NS43NSAwIDAgMSAwIDEuNWgtMmEuNzUuNzUgMCAwIDEgMC0xLjVoLjI1di0yaC0uMjVhLjc1Ljc1IDAgMCAxLS43NS0uNzVaTTggNmExIDEgMCAxIDEgMC0yIDEgMSAwIDAgMSAwIDJaXCJcLz48XC9zdmc+Tm90ZTxcL3NwYW4+XG48cD5UbyB0ZXN0IHRoZSBUaXplbiBsb2NhdGlvbi1iYXNlZCBzZXJ2aWNlcyBvbiB0aGUgZW11bGF0b3IsIHByb3ZpZGUgbG9jYXRpb24gZGF0YSAobG9uZ2l0dWRlIGFuZCBsYXRpdHVkZSkgdXNpbmcgRW11bGF0b3IgQ29udHJvbCBQYW5lbC48XC9wPlxuPHA+U2luY2Ugc2F0ZWxsaXRlIGRhdGEgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGUgZW11bGF0b3IsIEdQUyBzdGF0dXMgZGF0YSBpcyBhdmFpbGFibGUgb24gYSB0YXJnZXQgZGV2aWNlIG9ubHkuPFwvcD5cbjxcL2Rpdj5cbjxwPkFzeW5jaHJvbm91cyBsb2NhdGlvbi1yZWxhdGVkIHVwZGF0ZXMgYW5kIHJlZ2lvbiBtb25pdG9yaW5nIG5vdGlmaWNhdGlvbnMgYXJlIGltcGxlbWVudGVkIHdpdGggZXZlbnRzLiBMb2NhdGlvbi1yZWxhdGVkIGV2ZW50cyBhcmUgY2FsbGVkIG9ubHkgaWYgdGhlIGxvY2F0aW9uIHNlcnZpY2UgaGFzIGJlZW4gc3RhcnRlZDxcL3A+XG48cD5Zb3UgY2FuIHVzZSB0aGUgbG9jYXRpb24gc3RhdGUgYW5kIHVwZGF0ZXMgYXMgZm9sbG93czo8XC9wPlxuPHVsPlxuPGxpPklmIHRoZSBsb2NhdGlvbiBzZXJ2aWNlIGlzIHdvcmtpbmcgY29ycmVjdGx5LCA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5Mb2NhdGlvbi5TZXJ2aWNlU3RhdGUubWRcIj5UaXplbi5Mb2NhdGlvbi5TZXJ2aWNlU3RhdGU8XC9hPiBpcyBzZXQgdG8gPGNvZGU+RW5hYmxlZDxcL2NvZGU+LiBUaGUgZGV2aWNlIGNhbiByZWNlaXZlIG5vdGlmaWNhdGlvbnMgYWJvdXQgbG9jYXRpb24gY2hhbmdlIGV2ZW50cyBvbmx5IGluIHRoaXMgc2VydmljZSBzdGF0ZS48XC9saT5cbjxsaT5JZiB0aGUgbG9jYXRpb24gc2VydmljZSBpcyB1bmFibGUgdG8gcnVuIG9uIHRoZSByZXF1ZXN0ZWQgZGV2aWNlIGR1ZSB0byB3ZWFrIHJhZGlvIHJlY2VwdGlvbiwgdGhlIGxvY2F0aW9uIHNlcnZpY2Ugc3RhdGUgaXMgc2V0IHRvIDxjb2RlPkRpc2FibGVkPFwvY29kZT4uIElmIHRoaXMgc2l0dWF0aW9uIHBlcnNpc3RzIGZvciBhIGxvbmdlciBwZXJpb2QsIHN0b3AgdGhlIHNlcnZpY2UgYW5kIHRyeSBhZ2FpbiBsYXRlciwgdG8gY29uc2VydmUgdGhlIGRldmljZSBiYXR0ZXJ5LjxcL2xpPlxuPFwvdWw+XG48cD48YSBuYW1lPVwibWV0aG9kXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1sb2NhdGlvbi10eXBlc1wiPjxhIGhyZWY9XCIjY29udGVudC1sb2NhdGlvbi10eXBlc1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+TG9jYXRpb24gdHlwZXM8XC9oMj5cbjxwPlRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5Mb2NhdGlvbi5Mb2NhdGlvblR5cGUubWRcIj5UaXplbi5Mb2NhdGlvbi5Mb2NhdGlvblR5cGU8XC9hPiBlbnVtZXJhdGlvbiBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGRlc2lyZWQgcXVhbGl0eSBvZiBzZXJ2aWNlIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5Mb2NhdGlvbi5Mb2NhdGlvbi5tZFwiPlRpemVuLkxvY2F0aW9uLkxvY2F0aW9uPFwvYT4gaW5zdGFuY2UuIEZvciBleGFtcGxlLCBhIGxvY2F0aW9uLWJhc2VkIHdlYXRoZXIgZm9yZWNhc3QgYXBwbGljYXRpb24gY2FuIHJlcXVpcmUgb25seSB2ZXJ5IGJhc2ljIGluZm9ybWF0aW9uIHRvIGRpc3Rpbmd1aXNoIGEgY2l0eSBvciBhIG5laWdoYm9yaG9vZCwgd2hpbGUgYSBHUFMgbmF2aWdhdGlvbiBhcHBsaWNhdGlvbiBjYW4gcmVxdWlyZSB0aGUgaGlnaGVzdCBxdWFsaXR5IGxldmVsIHRvIHBpbnBvaW50IGEgbWFwIGxvY2F0aW9uLiBTZWxlY3RpbmcgdGhlIGFwcHJvcHJpYXRlIHF1YWxpdHkgbGV2ZWwgbm90IG9ubHkgaGVscHMgdG8gcnVuIHRoZSBzeXN0ZW0gZWZmaWNpZW50bHkgYnV0IGFsc28gbGVhZHMgdG8gYSBnb29kIHVzZXIgZXhwZXJpZW5jZS48XC9wPlxuPHA+VXNpbmcgdGhlIDxjb2RlPlRpemVuLkxvY2F0aW9uLkxvY2F0aW9uVHlwZTxcL2NvZGU+IGVudW1lcmF0aW9uIGFsbG93cyB5b3VyIGFwcGxpY2F0aW9uIHRvIHNwZWNpZnkgdGhlIGZvbGxvd2luZyBsb2NhdGlvbiBwb3NpdGlvbmluZyBzeXN0ZW0gdHlwZXM6PFwvcD5cbjx1bD5cbjxsaT48Y29kZT5IeWJyaWQ8XC9jb2RlPiwgd2hpY2ggc2VsZWN0cyB0aGUgYmVzdCBtZXRob2QgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQ8XC9saT5cbjxsaT48Y29kZT5HUFM8XC9jb2RlPiwgd2hpY2ggdXNlcyB0aGUgZ2xvYmFsIHBvc2l0aW9uaW5nIHN5c3RlbTxcL2xpPlxuPGxpPjxjb2RlPldQUzxcL2NvZGU+LCB3aGljaCB1c2VzIHRoZSBXaS1GaSBwb3NpdGlvbmluZyBzeXN0ZW08XC9saT5cbjxsaT48Y29kZT5QYXNzaXZlPFwvY29kZT4sIHdoaWNoIHVzZXMgdGhlIHBhc3NpdmUgbW9kZTxcL2xpPlxuPFwvdWw+XG48aDIgaWQ9XCJjb250ZW50LXByZXJlcXVpc2l0ZXNcIj48YSBocmVmPVwiI2NvbnRlbnQtcHJlcmVxdWlzaXRlc1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UHJlcmVxdWlzaXRlczxcL2gyPlxuPHA+VG8gdXNlIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5Mb2NhdGlvbi5tZFwiPlRpemVuLkxvY2F0aW9uPFwvYT4gbmFtZXNwYWNlLCB0aGUgYXBwbGljYXRpb24gaGFzIHRvIHJlcXVlc3QgcGVybWlzc2lvbiBieSBhZGRpbmcgdGhlIGZvbGxvd2luZyBwcml2aWxlZ2UgdG8gdGhlIDxjb2RlPnRpemVuLW1hbmlmZXN0LnhtbDxcL2NvZGU+IGZpbGU6PFwvcD5cbjxjb2RlIGNsYXNzPVwibGFuZ3VhZ2UtWE1MXCI+Jmx0O3ByaXZpbGVnZXMmZ3Q7XG4gICAmbHQ7cHJpdmlsZWdlJmd0O2h0dHA6XC9cL3RpemVuLm9yZ1wvcHJpdmlsZWdlXC9sb2NhdGlvbiZsdDtcL3ByaXZpbGVnZSZndDtcbiZsdDtcL3ByaXZpbGVnZXMmZ3Q7XG48XC9jb2RlPlxuPHA+PGEgbmFtZT1cInN0YXJ0XCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1zdGFydC10aGUtbG9jYXRpb24tc2VydmljZVwiPjxhIGhyZWY9XCIjY29udGVudC1zdGFydC10aGUtbG9jYXRpb24tc2VydmljZVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+U3RhcnQgdGhlIGxvY2F0aW9uIHNlcnZpY2U8XC9oMj5cbjxwPlRvIHN0YXJ0IHRoZSBsb2NhdGlvbiBzZXJ2aWNlLCBwcm9jZWVkIGFzIGZvbGxvd3M6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPkNyZWF0ZSBhIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkxvY2F0aW9uLkxvY2F0b3IubWRcIj5UaXplbi5Mb2NhdGlvbi5Mb2NhdG9yPFwvYT4gaW5zdGFuY2Ugd2l0aCBhIHNwZWNpZmljIHZhbHVlIGZvciBpdHMgPGNvZGU+TG9jYXRpb25UeXBlPFwvY29kZT4gcHJvcGVydHkgYmVmb3JlIHlvdSB1c2UgdGhlIGxvY2F0aW9uIHNlcnZpY2UuPFwvcD5cbjxwPkluIHRoaXMgZXhhbXBsZSwgR1BTIGlzIHVzZWQgYXMgdGhlIHNvdXJjZSBvZiB0aGUgcG9zaXRpb24gZGF0YS4gWW91IGNhbiB1c2Ugb3RoZXIgdmFsdWVzIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5Mb2NhdGlvbi5Mb2NhdGlvblR5cGUubWRcIj5UaXplbi5Mb2NhdGlvbi5Mb2NhdGlvblR5cGU8XC9hPiBlbnVtZXJhdGlvbiBmb3IgaHlicmlkIGFuZCBXUFMgc291cmNlczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlRpemVuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5Mb2NhdGlvbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+TG9jYXRvcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bG9jYXRvcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxvY2F0b3IgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkxvY2F0b3I8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihMb2NhdGlvblR5cGUuR3BzKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+RWFjaCA8Y29kZT5UaXplbi5Mb2NhdGlvbi5Mb2NhdG9yPFwvY29kZT4gaXMgYW4gaW5kZXBlbmRlbnQgc2VydmljZS4gTXVsdGlwbGUgaW5zdGFuY2VzIGNhbiBiZSBjcmVhdGVkIGluIHRoZSBzYW1lIGFwcGxpY2F0aW9uIHRvIHByb3ZpZGUgZGlmZmVyZW50IHNlcnZpY2VzLCBzdWNoIGFzIEdQUyBhbmQgV1BTLiBFdmVudHMgYXJlIHNldCBmb3IgYSBnaXZlbiBpbnN0YW5jZSBhbmQgYXJlIGNhbGxlZCBvbmx5IGlmIHRoZSBzZXJ2aWNlIGlzIHN0YXJ0ZWQgZm9yIHRoZWlyIDxjb2RlPlRpemVuLkxvY2F0aW9uLkxvY2F0b3I8XC9jb2RlPiBpbnN0YW5jZS48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5TdGFydCB0aGUgbG9jYXRpb24gc2VydmljZSB1c2luZyB0aGUgPGNvZGU+U3RhcnQoKTxcL2NvZGU+IG1ldGhvZC4gVGhpcyBjYWxsIGlzIGFzeW5jaHJvbm91cyBhbmQgb25seSBpbml0aWF0ZXMgdGhlIHByb2Nlc3Mgb2Ygc3RhcnRpbmcgdGhlIGxvY2F0aW9uIHNlcnZpY2UuIE9uY2UgdGhlIHNlcnZpY2UgaXMgc3RhcnRlZCwgcmVnaXN0ZXJlZCBldmVudCBoYW5kbGVycyBhcmUgaW52b2tlZCB3aGVuIHRoZWlyIGNvcnJlc3BvbmRpbmcgZXZlbnRzIHRha2UgcGxhY2UuIFRvIGtub3cgd2hlbiB0aGUgc2VydmljZSBiZWNvbWVzIGVuYWJsZWQsIHVzZSB0aGUgPGNvZGU+U2VydmljZVN0YXRlQ2hhbmdlZDxcL2NvZGU+IGV2ZW50IG9mIHRoZSA8Y29kZT5UaXplbi5Mb2NhdGlvbi5Mb2NhdG9yPFwvY29kZT4gY2xhc3M6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5sb2NhdG9yLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U3RhcnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlVzaW5nIHRoZSBsb2NhdGlvbiBzZXJ2aWNlIGNvbnN1bWVzIHBvd2VyLCBzbyBpZiB0aGUgc2VydmljZSBpcyBub3QgdXNlZCwgc3RvcCB1cGRhdGluZyB0aGUgbG9jYXRpb24gdXNpbmcgdGhlIDxjb2RlPlN0b3AoKTxcL2NvZGU+IG1ldGhvZC4gQ2FsbCB0aGUgPGNvZGU+U3RhcnQoKTxcL2NvZGU+IG1ldGhvZCBhZ2FpbiBpZiB1cGRhdGVkIHBvc2l0aW9uIGluZm9ybWF0aW9uIGlzIG5lZWRlZDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxvY2F0b3IuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TdG9wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5BdCB0aGUgZW5kIG9mIHRoZSBhcHBsaWNhdGlvbiBsaWZlY3ljbGUsIGRlc3Ryb3kgYWxsIHVzZWQgcmVzb3VyY2VzLCBzdWNoIGFzIHRoZSA8Y29kZT5UaXplbi5Mb2NhdGlvbi5Mb2NhdG9yPFwvY29kZT4gaW5zdGFuY2U6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5sb2NhdG9yLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+RGlzcG9zZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bG9jYXRvciA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBOVUxMOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD5JZiB5b3UgZGVzdHJveSB0aGUgPGNvZGU+VGl6ZW4uTG9jYXRpb24uTG9jYXRvcjxcL2NvZGU+IGluc3RhbmNlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNhbGwgdGhlIDxjb2RlPlN0b3AoKTxcL2NvZGU+IG1ldGhvZCB0byBzdG9wIHRoZSBzZXJ2aWNlLCBhcyB0aGUgc2VydmljZSBpcyBhdXRvbWF0aWNhbGx5IHN0b3BwZWQuIEluIGFkZGl0aW9uLCB5b3UgZG8gbm90IGhhdmUgdG8gcmVtb3ZlIGFueSBwcmV2aW91c2x5IGFkZGVkIGV2ZW50IGhhbmRsZXJzLjxcL3A+XG48XC9saT5cbjxcL29sPlxuPHA+PGEgbmFtZT1cImN1cnJlbnRfbG9jYXRpb25cIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWdldC10aGUtY3VycmVudC1sb2NhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1nZXQtdGhlLWN1cnJlbnQtbG9jYXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkdldCB0aGUgY3VycmVudCBsb2NhdGlvbjxcL2gyPlxuPHA+VG8gc3luY2hyb25vdXNseSByZXRyaWV2ZSB0aGUgY3VycmVudCBsb2NhdGlvbiBvZiB0aGUgZGV2aWNlLCBwcm9jZWVkIGFzIGZvbGxvd3M6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPlJlZ2lzdGVyIGFuIGV2ZW50IGhhbmRsZXIgZm9yIGxvY2F0aW9uIHNlcnZpY2Ugc3RhdGUgY2hhbmdlcyBhbmQgc3RhcnQgdGhlIGxvY2F0aW9uIHNlcnZpY2U6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5sb2NhdG9yLlNlcnZpY2VTdGF0ZUNoYW5nZWQgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IFNlcnZpY2VTdGF0ZUhhbmRsZXI7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bG9jYXRvci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlN0YXJ0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+VGhlIDxjb2RlPlNlcnZpY2VTdGF0ZUhhbmRsZXIoKTxcL2NvZGU+IG1ldGhvZCBpcyBhbiBldmVudCBoYW5kbGVyLCB3aGljaCBpcyBjYWxsZWQgd2hlbiB0aGUgbG9jYXRpb24gc2VydmljZSBzdGF0ZSBjaGFuZ2VzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+Ym9vbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c2VydmljZUVuYWJsZWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPmZhbHNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dm9pZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U2VydmljZVN0YXRlSGFuZGxlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+T2JqZWN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5zZW5kZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZXJ2aWNlU3RhdGVDaGFuZ2VkRXZlbnRBcmdzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmlmPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gKGUuU2VydmljZVN0YXRlIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PT08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBTZXJ2aWNlU3RhdGUuRW5hYmxlZCk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIHNlcnZpY2VFbmFibGVkIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+dHJ1ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPn08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5BZnRlciBzdGFydGluZyB0aGUgbG9jYXRpb24gc2VydmljZSwgY2FsbCB0aGUgPGNvZGU+R2V0TG9jYXRpb24oKTxcL2NvZGU+IG1ldGhvZCB0byBnZXQgdGhlIGN1cnJlbnQgbG9jYXRpb24gaW5mb3JtYXRpb246PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5UaXplbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+TG9jYXRpb248XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkxvY2F0aW9uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5sb2NhdGlvbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IGxvY2F0b3IuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRMb2NhdGlvbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxwPldoZW4gdGhlIHNlcnZpY2Ugc3RhdGUgaXMgc2V0IHRvIDxjb2RlPkRpc2FibGVkPFwvY29kZT4sIHRoZSA8Y29kZT5HZXRMb2NhdGlvbigpPFwvY29kZT4gbWV0aG9kIG1heSBub3QgcmV0dXJuIHRoZSBjdXJyZW50IGxvY2F0aW9uLCBidXQgYSBwcmV2aW91cyBvbmUuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiB5b3Ugbm8gbG9uZ2VyIG5lZWQgdGhlIHN0YXRlIHVwZGF0ZXMsIHJlbW92ZSB0aGUgZXZlbnQgaGFuZGxlcjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxvY2F0b3IuU2VydmljZVN0YXRlQ2hhbmdlZCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPi09PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gU2VydmljZVN0YXRlSGFuZGxlcjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC9vbD5cbjxwPjxhIG5hbWU9XCJ1cGRhdGVcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWdldC1sb2NhdGlvbi1ldmVudHNcIj48YSBocmVmPVwiI2NvbnRlbnQtZ2V0LWxvY2F0aW9uLWV2ZW50c1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+R2V0IGxvY2F0aW9uIGV2ZW50czxcL2gyPlxuPHA+WW91IGNhbiBnZXQgYSBub3RpZmljYXRpb24gb2YgdGhlIGRldmljZSBwb3NpdGlvbiBiZWluZyB1cGRhdGVkIGJ5IHVzaW5nIGFuIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSA8Y29kZT5Mb2NhdGlvbkNoYW5nZWQ8XC9jb2RlPiBldmVudCBvZiB0aGUgPGNvZGU+VGl6ZW4uTG9jYXRpb24uTG9jYXRvcjxcL2NvZGU+IGNsYXNzLiBUaGUgZXZlbnQgaGFuZGxlciBpcyBpbnZva2VkIHBlcmlvZGljYWxseSwgcmVjZWl2aW5nIHRoZSBkZXZpY2UncyBjdXJyZW50IHBvc2l0aW9uIHdpdGggZXZlcnkgY2FsbC4gWW91IGNhbiB1c2UgdGhlIGV2ZW50IGhhbmRsZXIgdG8gcmV0cmlldmUgdGhlIGRldmljZSBwb3NpdGlvbiAoZ2l2ZW4gYXMgY29vcmRpbmF0ZXMpIGFuZCBjb252ZXJ0IGl0IHRvIHRoZSBjb3JyZXNwb25kaW5nIGFkZHJlc3MuPFwvcD5cbjxwPlRvIHVzZSB0aGUgbG9jYXRpb24gY2hhbmdlIGV2ZW50IGhhbmRsZXIsIHByb2NlZWQgYXMgZm9sbG93czo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+UmVnaXN0ZXIgdGhlIGV2ZW50IGhhbmRsZXI6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5sb2NhdG9yLkludGVydmFsIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxvY2F0b3IuTG9jYXRpb25DaGFuZ2VkIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+Kz08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBMb2NhdGlvbkNoYW5nZWRIYW5kbGVyPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxwPlRoZSA8Y29kZT5JbnRlcnZhbDxcL2NvZGU+IHByb3BlcnR5IGRldGVybWluZXMgdGhlIGV2ZW50IGNhbGwgZnJlcXVlbmN5LiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBldmVudCBpcyBjYWxsZWQgZXZlcnkgMiBzZWNvbmRzLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPldoZW4gdGhlIHVwZGF0ZSBpcyByZWNlaXZlZCwgeW91IGNhbiwgZm9yIGV4YW1wbGUsIHVwZGF0ZSB0aGUgbG9jYXRpb24gdGhhdCBzdG9yZXMgdGhlIGRldmljZSdzIGN1cnJlbnQgcG9zaXRpb246PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5Mb2NhdGlvbkNoYW5nZWRIYW5kbGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5PYmplY3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlbmRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkxvY2F0aW9uQ2hhbmdlZEV2ZW50QXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPns8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5UaXplbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+TG9jYXRpb248XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkxvY2F0aW9uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5sb2NhdGlvbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IGUuTG9jYXRpb247PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+fTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48ZGl2IGNsYXNzPVwibWQtYWxlcnQgbWQtYWxlcnQtbm90ZVwiPlxuPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTAgOGE4IDggMCAxIDEgMTYgMEE4IDggMCAwIDEgMCA4Wm04LTYuNWE2LjUgNi41IDAgMSAwIDAgMTMgNi41IDYuNSAwIDAgMCAwLTEzWk02LjUgNy43NUEuNzUuNzUgMCAwIDEgNy4yNSA3aDFhLjc1Ljc1IDAgMCAxIC43NS43NXYyLjc1aC4yNWEuNzUuNzUgMCAwIDEgMCAxLjVoLTJhLjc1Ljc1IDAgMCAxIDAtMS41aC4yNXYtMmgtLjI1YS43NS43NSAwIDAgMS0uNzUtLjc1Wk04IDZhMSAxIDAgMSAxIDAtMiAxIDEgMCAwIDEgMCAyWlwiXC8+PFwvc3ZnPk5vdGU8XC9zcGFuPlxuPHA+VGhlIGV2ZW50IGlzIGNhbGxlZCBvbmx5IGlmIHRoZSBsb2NhdGlvbiBzZXJ2aWNlIGhhcyBhbHJlYWR5IGJlZW4gc3RhcnRlZC48XC9wPlxuPFwvZGl2PlxuPFwvbGk+XG48XC9vbD5cbjxwPjxhIG5hbWU9XCJzYXRlbGxpdGVcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWdldC1zYXRlbGxpdGUtaW5mb3JtYXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtZ2V0LXNhdGVsbGl0ZS1pbmZvcm1hdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+R2V0IHNhdGVsbGl0ZSBpbmZvcm1hdGlvbjxcL2gyPlxuPHA+WW91IGNhbiByZXRyaWV2ZSBhbmQgdXBkYXRlIGluZm9ybWF0aW9uIGFib3V0IGEgc2F0ZWxsaXRlIHZpc2libGUgdG8gdGhlIGRldmljZS4gVGhlIGluZm9ybWF0aW9uIGluY2x1ZGVzIGF6aW11dGgsIGVsZXZhdGlvbiwgUFJOLCBTTlIsIGFuZCBOTUVBIGRhdGEuIEFuIGV2ZW50IGhhbmRsZXIgaXMgaW52b2tlZCBwZXJpb2RpY2FsbHksIHJlY2VpdmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdmlzaWJsZSBzYXRlbGxpdGVzIHdpdGggZXZlcnkgY2FsbC48XC9wPlxuPHA+VG8gcmV0cmlldmUgc2F0ZWxsaXRlIGluZm9ybWF0aW9uLCBwcm9jZWVkIGFzIGZvbGxvd3M6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPlJlZ2lzdGVyIGFuIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSA8Y29kZT5TYXRlbGxpdGVTdGF0dXNVcGRhdGVkPFwvY29kZT4gZXZlbnQgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkxvY2F0aW9uLkdwc1NhdGVsbGl0ZS5tZFwiPlRpemVuLkxvY2F0aW9uLkdwc1NhdGVsbGl0ZTxcL2E+IGNsYXNzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+c2F0ZWxsaXRlLkludGVydmFsIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnNhdGVsbGl0ZS5TYXRlbGxpdGVTdGF0dXNVcGRhdGVkIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+Kz08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBTYXRlbGxpdGVTdGF0dXNDaGFuZ2VkSGFuZGxlcjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+VGhlIDxjb2RlPkludGVydmFsPFwvY29kZT4gcHJvcGVydHkgb2YgdGhlIDxjb2RlPlRpemVuLkxvY2F0aW9uLkdwc1NhdGVsbGl0ZTxcL2NvZGU+IGNsYXNzIGRldGVybWluZXMgdGhlIGV2ZW50IGNhbGwgZnJlcXVlbmN5LiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBldmVudCBpcyBjYWxsZWQgZXZlcnkgMyBzZWNvbmRzLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPldoZW4gdGhlIGV2ZW50IGhhbmRsZXIgaXMgaW52b2tlZCwgdXBkYXRlIHRoZSBjb3VudCBvZiBhY3RpdmUgYW5kIHRvdGFsIHNhdGVsbGl0ZXMgaW4gdmlldyBvZiB0aGUgZGV2aWNlOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dm9pZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U2F0ZWxsaXRlU3RhdHVzQ2hhbmdlZEhhbmRsZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk9iamVjdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c2VuZGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U2F0ZWxsaXRlU3RhdHVzQ2hhbmdlZEV2ZW50QXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPns8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFjdGl2ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IGUuQWN0aXZlQ291bnQ7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aW50PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5pbnZpZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBlLkluVmlld0NvdW50OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPn08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPGRpdiBjbGFzcz1cIm1kLWFsZXJ0IG1kLWFsZXJ0LW5vdGVcIj5cbjxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOlwvXC93d3cudzMub3JnXC8yMDAwXC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0wIDhhOCA4IDAgMSAxIDE2IDBBOCA4IDAgMCAxIDAgOFptOC02LjVhNi41IDYuNSAwIDEgMCAwIDEzIDYuNSA2LjUgMCAwIDAgMC0xM1pNNi41IDcuNzVBLjc1Ljc1IDAgMCAxIDcuMjUgN2gxYS43NS43NSAwIDAgMSAuNzUuNzV2Mi43NWguMjVhLjc1Ljc1IDAgMCAxIDAgMS41aC0yYS43NS43NSAwIDAgMSAwLTEuNWguMjV2LTJoLS4yNWEuNzUuNzUgMCAwIDEtLjc1LS43NVpNOCA2YTEgMSAwIDEgMSAwLTIgMSAxIDAgMCAxIDAgMlpcIlwvPjxcL3N2Zz5Ob3RlPFwvc3Bhbj5cbjxwPlRoZSBldmVudCBpcyBjYWxsZWQgb25seSBpZiB0aGUgbG9jYXRpb24gc2VydmljZSBoYXMgYWxyZWFkeSBiZWVuIHN0YXJ0ZWQuPFwvcD5cbjxcL2Rpdj5cbjxcL2xpPlxuPFwvb2w+XG48cD48YSBuYW1lPVwiYm91bmRcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXVzZS1sb2NhdGlvbi1ib3VuZHNcIj48YSBocmVmPVwiI2NvbnRlbnQtdXNlLWxvY2F0aW9uLWJvdW5kc1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VXNlIGxvY2F0aW9uIGJvdW5kczxcL2gyPlxuPHA+WW91IGNhbiBkZWZpbmUgYSB2aXJ0dWFsIHBlcmltZXRlciwgd2hpY2ggaXMgbW9uaXRvcmVkIHRvIHNlZSB3aGV0aGVyIHRoZSBkZXZpY2UgZW50ZXJzIG9yIGV4aXRzIHRoZSBhcmVhLjxcL3A+XG48cD5UbyB1c2UgYSBsb2NhdGlvbiBib3VuZGFyeSwgcHJvY2VlZCBhcyBmb2xsb3dzOjxcL3A+XG48b2w+XG48bGk+XG48cD5DcmVhdGUgbG9jYXRpb24gYm91bmRzIHdpdGggdGhlIHJlcXVpcmVkIGFyZWEgdHlwZSAocmVjdGFuZ2xlLCBjaXJjbGUsIG9yIHBvbHlnb24pIG5lZWRlZCBmb3IgeW91ciBhcHBsaWNhdGlvbjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNvb3JkaW5hdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm9uZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnR3bzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnRocmVlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+TGlzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmx0Ozo8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNvb3JkaW5hdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZndDsgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5saXN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkxpc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNvb3JkaW5hdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZndDsoKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5vbmUuTGF0aXR1ZGUgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xMC4xMDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPm9uZS5Mb25naXR1ZGUgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xMC4xMDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnR3by5MYXRpdHVkZSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjIwLjIwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+dHdvLkxvbmdpdHVkZSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjIwLjIwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+dGhyZWUuTGF0aXR1ZGUgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4zMC4zMDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnRocmVlLkxvbmdpdHVkZSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjEwLjEwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bGlzdC48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFkZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KG9uZSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bGlzdC48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFkZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KHR3byk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bGlzdC48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFkZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KHRocmVlKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5Qb2x5Z29uQm91bmRhcnk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnBvbHlnb248XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+UG9seWdvbkJvdW5kYXJ5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4obGlzdCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxwPldoZW4gYSBjaXJjdWxhciBib3VuZCBpcyBuZWVkZWQsIHVzZSB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTG9jYXRpb24uQ2lyY2xlQm91bmRhcnkubWRcIj5UaXplbi5Mb2NhdGlvbi5DaXJjbGVCb3VuZGFyeTxcL2E+IGNsYXNzLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPlRvIGdldCBub3RpZmljYXRpb25zIHdoZW4gdGhlIHVzZXIgZW50ZXJzIG9yIGV4aXRzIHRoZSBkZWZpbmVkIHBlcmltZXRlciwgcmVnaXN0ZXIgYW4gZXZlbnQgaGFuZGxlcjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxvY2F0b3IuWm9uZUNoYW5nZWQgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IFpvbmVDaGFuZ2VkSGFuZGxlcjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+SW1wbGVtZW50IHRoZSBldmVudCBoYW5kbGVyIGZvciB0aGUgPGNvZGU+Wm9uZUNoYW5nZWQ8XC9jb2RlPiBldmVudCBvZiB0aGUgPGNvZGU+VGl6ZW4uTG9jYXRpb24uTG9jYXRvcjxcL2NvZGU+IGNsYXNzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dm9pZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Wm9uZUNoYW5nZWRIYW5kbGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5PYmplY3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlbmRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlpvbmVDaGFuZ2VkRXZlbnRBcmdzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmlmPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gKEJvdW5kYXJ5U3RhdGUuSW4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IGUuQm91bmRTdGF0ZSkgezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgXC9cL1wvIEJvdW5kYXJ5IGNoYW5nZWQ8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgfTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPn08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5DYWxsIHRoZSA8Y29kZT5BZGRCb3VuZGFyeSgpPFwvY29kZT4gbWV0aG9kIHRvIGFkZCB0aGUgYm91bmRhcnkgdG8gYSBsb2NhdGlvbiBzZXJ2aWNlOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bG9jYXRvci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFkZEJvdW5kYXJ5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4ocG9seWdvbik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiB0aGUgYm91bmRhcnkgaXMgbm8gbG9uZ2VyIG5lZWRlZCwgZGVzdHJveSBpdDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxvY2F0b3IuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5SZW1vdmVCb3VuZGFyeTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KHBvbHlnb24pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnBvbHlnb24uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EaXNwb3NlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC9vbD5cbjxoMiBpZD1cImNvbnRlbnQtcmVsYXRlZC1pbmZvcm1hdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1yZWxhdGVkLWluZm9ybWF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5SZWxhdGVkIGluZm9ybWF0aW9uPFwvaDI+XG48dWw+XG48bGk+RGVwZW5kZW5jaWVzXG48dWw+XG48bGk+VGl6ZW4gNC4wIGFuZCBIaWdoZXI8XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48XC91bD5cbiIsInRhYmxlX29mX2NvbnRlbnQiOiI8dWwgY2xhc3M9XCJ0YWJsZS1vZi1jb250ZW50c1wiPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1sb2NhdGlvbi1zZXJ2aWNlXCI+TG9jYXRpb24gc2VydmljZTxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWxvY2F0aW9uLXR5cGVzXCI+TG9jYXRpb24gdHlwZXM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1wcmVyZXF1aXNpdGVzXCI+UHJlcmVxdWlzaXRlczxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXN0YXJ0LXRoZS1sb2NhdGlvbi1zZXJ2aWNlXCI+U3RhcnQgdGhlIGxvY2F0aW9uIHNlcnZpY2U8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1nZXQtdGhlLWN1cnJlbnQtbG9jYXRpb25cIj5HZXQgdGhlIGN1cnJlbnQgbG9jYXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1nZXQtbG9jYXRpb24tZXZlbnRzXCI+R2V0IGxvY2F0aW9uIGV2ZW50czxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWdldC1zYXRlbGxpdGUtaW5mb3JtYXRpb25cIj5HZXQgc2F0ZWxsaXRlIGluZm9ybWF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtdXNlLWxvY2F0aW9uLWJvdW5kc1wiPlVzZSBsb2NhdGlvbiBib3VuZHM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1yZWxhdGVkLWluZm9ybWF0aW9uXCI+UmVsYXRlZCBpbmZvcm1hdGlvbjxcL2E+PFwvbGk+XG48XC91bD5cbiIsInRpdGxlIjoiTG9jYXRpb24gSW5mb3JtYXRpb24iLCJyYXciOm51bGx9LHsiY2xhc3MiOiJBcHBcXFNlcnZpY2VzXFxEb2N1bWVudGF0aW9uXFxEYXRhXFxSZW5kZXJlZE1hcmtkb3duIiwicyI6IndyYmwifV19LHsicyI6ImFyciJ9XX0sIm1lbW8iOnsiaWQiOiJLZThXMVhIeFdHQVhTaDlJOVZuZSIsIm5hbWUiOiJfX21vdW50UGFyYW1zQ29udGFpbmVyIiwicGF0aCI6ImRvY3NcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2d1aWRlc1wvbG9jYXRpb25cL2xvY2F0aW9uIiwibWV0aG9kIjoiR0VUIiwicmVsZWFzZSI6ImEtYS1hIn0sImNoZWNrc3VtIjoiNzRlOGRhZjZiNzBiODQ5YmMyNDhhN2E5YWE0ZmY1MjU4YjI5YTIyM2ZlNmIwMzRhZDZjMDU1OGZmNDZkMjdkMSJ9')" >