Friday, February 23, 2024

Suleymaniye Mosque Istanbul

Cities often have a list of must-see places, and in Istanbul, the Suleymaniye Mosque is at the top of this list. This architectural masterpiece of the Ottoman period should definitely be on your itinerary.

The Suleymaniye Mosque was built by the world-famous Ottoman architect Mimar Sinan between 1551 and 1558, by order of the Ottoman Sultan Suleiman the Magnificent. It is widely regarded as an architectural masterpiece and is a must-see for anyone visiting Istanbul. Although some believe that this mosque was constructed during Sinan’s apprentice period and that his real masterpiece is the Selimiye Mosque in Edirne, Turkey’s border city on European territory.

suleymaniye mosque nightview Suleymaniye Mosque Suleymaniye Mosque Istanbul

Tips for Suleymaniye Mosque Visitors:

SUMMARY

  • Attraction Type :Historical Site, Mosque
  • Entrance Fee (Appr.USD) :FREE
  • Visiting Time (hours): 1-2
  • Dress Code: Clean socks / Proper dress for Ladies provided at the entrance (Body and Head must be covered) / Men: at least t-shirt and Pants under knee level
  • Special Tips:Crowded at prayer times
  • Open: Everyday 08.00 – 21.30
  • Address: Süleymaniye, Prof. Sıddık Sami Onar Cd. No:1, 34116 Fatih/İstanbul, Türkiye

You can easily walk from Eminönü to the Suleymaniye Mosque or take the tram to the Grand Bazaar. You can reach the Süleymaniye Mosque after a few minutes walk from the Beyazıt-Kapalı Çarşı tram stop.

Best hours to visit: 9-10 am

Suleymaniye Mosque Map, Directions, Neighbourhoods

eyJtYXBfb3B0aW9ucyI6eyJjZW50ZXJfbGF0IjoiNDEuMDE2MDQ3IiwiY2VudGVyX2xuZyI6IjI4Ljk2Mzk3MTEiLCJ6b29tIjo1LCJtYXBfdHlwZV9pZCI6IlRFUlJBSU4iLCJjZW50ZXJfYnlfbmVhcmVzdCI6ZmFsc2UsImZpdF9ib3VuZHMiOmZhbHNlLCJjZW50ZXJfY2lyY2xlX2ZpbGxjb2xvciI6IiM4Q0FFRjIiLCJjZW50ZXJfY2lyY2xlX2ZpbGxvcGFjaXR5IjoiLjUiLCJjZW50ZXJfY2lyY2xlX3N0cm9rZWNvbG9yIjoiIzhDQUVGMiIsImNlbnRlcl9jaXJjbGVfc3Ryb2tlb3BhY2l0eSI6Ii41Iiwic2hvd19jZW50ZXJfY2lyY2xlIjpmYWxzZSwic2hvd19jZW50ZXJfbWFya2VyIjp0cnVlLCJjZW50ZXJfbWFya2VyX2ljb24iOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzLy9kZWZhdWx0X21hcmtlci5wbmciLCJkcmFnZ2FibGUiOnRydWUsInNjcm9sbF93aGVlbCI6ImZhbHNlIiwiZ2VzdHVyZSI6ImF1dG8iLCJtYXJrZXJfZGVmYXVsdF9pY29uIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1nb29nbGUtbWFwLWdvbGQvYXNzZXRzL2ltYWdlcy8vZGVmYXVsdF9tYXJrZXIucG5nIiwiaW5mb3dpbmRvd19zZXR0aW5nIjoiPGRpdiBjbGFzcz1cImZjLW1haW5cIj5cbjxkaXYgY2xhc3M9XCJmYy1pdGVtLXRpdGxlXCI+e21hcmtlcl90aXRsZX0gPHNwYW4gY2xhc3M9XCJmYy1iYWRnZSBpbmZvXCI+e21hcmtlcl9jYXRlZ29yeX08L3NwYW4+PC9kaXY+XG48ZGl2IGNsYXNzPVwiZmMtaXRlbS1mZWF0dXJlZF9pbWFnZVwiPnttYXJrZXJfaW1hZ2V9IDwvZGl2PlxuPHA+e21hcmtlcl9tZXNzYWdlfTwvcD5cbjxhZGRyZXNzPjxiPkFkZHJlc3MgOiA8L2I+e21hcmtlcl9hZGRyZXNzfTwvYWRkcmVzcz5cbjwvZGl2PlxuIiwiaW5mb3dpbmRvd19nZW90YWdzX3NldHRpbmciOiI8ZGl2IGNsYXNzPVwiZmMtbWFpblwiPjxkaXYgY2xhc3M9XCJmYy1pdGVtLXRpdGxlXCI+e3Bvc3RfdGl0bGV9IDxzcGFuIGNsYXNzPVwiZmMtYmFkZ2UgaW5mb1wiPntwb3N0X2NhdGVnb3JpZXN9PC9zcGFuPjwvZGl2PiA8ZGl2IGNsYXNzPVwiZmMtaXRlbS1mZWF0dXJlZF9pbWFnZVwiPntwb3N0X2ZlYXR1cmVkX2ltYWdlfSA8L2Rpdj57cG9zdF9leGNlcnB0fTxhZGRyZXNzPjxiPkFkZHJlc3MgOiA8L2I+e21hcmtlcl9hZGRyZXNzfTwvYWRkcmVzcz48YSB0YXJnZXQ9XCJfYmxhbmtcIiAgY2xhc3M9XCJmYy1idG4gZmMtYnRuLXNtYWxsIGZjLWJ0bi1yZWRcIiBocmVmPVwie3Bvc3RfbGlua31cIj5SZWFkIE1vcmUuLi48L2E+PC9kaXY+IiwiaW5mb3dpbmRvd19za2luIjp7Im5hbWUiOiJkZWZhdWx0IiwidHlwZSI6ImluZm93aW5kb3ciLCJzb3VyY2Vjb2RlIjoiJmx0O2RpdiBjbGFzcz0mcXVvdDtmYy1tYWluJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZmMtaXRlbS10aXRsZSZxdW90OyZndDt7bWFya2VyX3RpdGxlfSAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtmYy1iYWRnZSBpbmZvJnF1b3Q7Jmd0O3ttYXJrZXJfY2F0ZWdvcnl9Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyAmbHQ7ZGl2IGNsYXNzPSZxdW90O2ZjLWl0ZW0tZmVhdHVyZWRfaW1hZ2UmcXVvdDsmZ3Q7e21hcmtlcl9pbWFnZX0gJmx0Oy9kaXYmZ3Q7e21hcmtlcl9tZXNzYWdlfSZsdDthZGRyZXNzJmd0OyZsdDtiJmd0O0FkZHJlc3MgOiAmbHQ7L2ImZ3Q7e21hcmtlcl9hZGRyZXNzfSZsdDsvYWRkcmVzcyZndDsmbHQ7L2RpdiZndDsifSwiaW5mb3dpbmRvd19wb3N0X3NraW4iOnsibmFtZSI6ImRlZmF1bHQiLCJ0eXBlIjoicG9zdCIsInNvdXJjZWNvZGUiOiImbHQ7ZGl2IGNsYXNzPSZxdW90O2ZjLW1haW4mcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtmYy1pdGVtLXRpdGxlJnF1b3Q7Jmd0O3twb3N0X3RpdGxlfSAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtmYy1iYWRnZSBpbmZvJnF1b3Q7Jmd0O3twb3N0X2NhdGVnb3JpZXN9Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyAmbHQ7ZGl2IGNsYXNzPSZxdW90O2ZjLWl0ZW0tZmVhdHVyZWRfaW1hZ2UmcXVvdDsmZ3Q7e3Bvc3RfZmVhdHVyZWRfaW1hZ2V9ICZsdDsvZGl2Jmd0O3twb3N0X2V4Y2VycHR9Jmx0O2FkZHJlc3MmZ3Q7Jmx0O2ImZ3Q7QWRkcmVzcyA6ICZsdDsvYiZndDt7bWFya2VyX2FkZHJlc3N9Jmx0Oy9hZGRyZXNzJmd0OyZsdDthIHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgIGNsYXNzPSZxdW90O2ZjLWJ0biBmYy1idG4tc21hbGwgZmMtYnRuLXJlZCZxdW90OyBocmVmPSZxdW90O3twb3N0X2xpbmt9JnF1b3Q7Jmd0O1JlYWQgTW9yZS4uLiZsdDsvYSZndDsmbHQ7L2RpdiZndDsifSwiaW5mb3dpbmRvd19kcm9wX2FuaW1hdGlvbiI6ZmFsc2UsImNsb3NlX2luZm93aW5kb3dfb25fbWFwX2NsaWNrIjpmYWxzZSwiZGVmYXVsdF9pbmZvd2luZG93X29wZW4iOmZhbHNlLCJpbmZvd2luZG93X29wZW5fZXZlbnQiOiJjbGljayIsImlzX21vYmlsZSI6ZmFsc2UsImluZm93aW5kb3dfZmlsdGVyX29ubHkiOmZhbHNlLCJpbmZvd2luZG93X2NsaWNrX2NoYW5nZV96b29tIjowLCJpbmZvd2luZG93X2NsaWNrX2NoYW5nZV9jZW50ZXIiOmZhbHNlLCJmdWxsX3NjcmVlbl9jb250cm9sIjp0cnVlLCJzZWFyY2hfY29udHJvbCI6dHJ1ZSwiem9vbV9jb250cm9sIjp0cnVlLCJtYXBfdHlwZV9jb250cm9sIjp0cnVlLCJzdHJlZXRfdmlld19jb250cm9sIjp0cnVlLCJsb2NhdGVtZV9jb250cm9sIjpmYWxzZSwibW9iaWxlX3NwZWNpZmljIjpmYWxzZSwiem9vbV9tb2JpbGUiOjUsImRyYWdnYWJsZV9tb2JpbGUiOnRydWUsInNjcm9sbF93aGVlbF9tb2JpbGUiOnRydWUsImZ1bGxfc2NyZWVuX2NvbnRyb2xfcG9zaXRpb24iOiJUT1BfUklHSFQiLCJzZWFyY2hfY29udHJvbF9wb3NpdGlvbiI6IlRPUF9MRUZUIiwibG9jYXRlbWVfY29udHJvbF9wb3NpdGlvbiI6IlRPUF9MRUZUIiwiem9vbV9jb250cm9sX3Bvc2l0aW9uIjoiVE9QX0xFRlQiLCJtYXBfdHlwZV9jb250cm9sX3Bvc2l0aW9uIjoiVE9QX1JJR0hUIiwibWFwX3R5cGVfY29udHJvbF9zdHlsZSI6IkhPUklaT05UQUxfQkFSIiwic3RyZWV0X3ZpZXdfY29udHJvbF9wb3NpdGlvbiI6IlRPUF9MRUZUIiwibWFwX2NvbnRyb2wiOmZhbHNlLCJzY3JlZW5zIjp7InNtYXJ0cGhvbmVzIjp7Im1hcF96b29tX2xldmVsX21vYmlsZSI6IjUifSwiaXBhZHMiOnsibWFwX3pvb21fbGV2ZWxfbW9iaWxlIjoiNSJ9LCJsYXJnZS1zY3JlZW5zIjp7Im1hcF96b29tX2xldmVsX21vYmlsZSI6IjUifX0sIm1hcF9pbmZvd2luZG93X2N1c3RvbWlzYXRpb25zIjpmYWxzZSwiaW5mb3dpbmRvd193aWR0aCI6IjEwMCUiLCJpbmZvd2luZG93X2JvcmRlcl9jb2xvciI6InJnYmEoMCwgMCwgMCwgMC4wOTgwMzkyKSIsImluZm93aW5kb3dfYmdfY29sb3IiOiIjZmZmIiwic2hvd19pbmZvd2luZG93X2hlYWRlciI6ZmFsc2UsIm1pbl96b29tIjoiMCIsIm1heF96b29tIjoiMTkiLCJ6b29tX2xldmVsX2FmdGVyX3NlYXJjaCI6IjEwIiwidXJsX2ZpbHRlcnMiOmZhbHNlLCJkb3VibGVjbGlja3pvb20iOmZhbHNlLCJjdXJyZW50X3Bvc3Rfb25seSI6ZmFsc2UsImJvdW5kX21hcF9hZnRlcl9maWx0ZXIiOmZhbHNlLCJkaXNwbGF5X3Jlc2V0X2J1dHRvbiI6ZmFsc2UsIm1hcF9yZXNldF9idXR0b25fdGV4dCI6IlJlc2V0IiwiaGVpZ2h0IjoiNDUwIn0sInBsYWNlcyI6W3sic291cmNlIjoicG9zdCIsInRpdGxlIjoiQmFzaWxpY2EgQ2lzdGVybi1TdW5rZW4gUGFsYWNlIElzdGFuYnVsLCBUdXJrZXkiLCJpbmZvd2luZG93X2NvbnRlbnQiOiI8ZGl2IGNsYXNzPVwiZmMtbWFpblwiPjxkaXYgY2xhc3M9XCJmYy1pdGVtLXRpdGxlXCI+QmFzaWxpY2EgQ2lzdGVybi1TdW5rZW4gUGFsYWNlIElzdGFuYnVsLCBUdXJrZXkgPHNwYW4gY2xhc3M9XCJmYy1iYWRnZSBpbmZvXCI+VGhpbmdzIHRvIGRvIGluIElTVEFOQlVMLCBUaGluZ3MgdG8gZG8gaW4gVFVSS0VZPC9zcGFuPjwvZGl2PiA8ZGl2IGNsYXNzPVwiZmMtaXRlbS1mZWF0dXJlZF9pbWFnZVwiPjxkaXYgY2xhc3M9XCJmYy1mZWF0dXJlLWltZ1wiPjxpbWcgbG9hZGluZz1cImxhenlcIiBkZWNvZGluZz1cImFzeW5jXCIgYWx0PVwiQmFzaWxpY2EgQ2lzdGVybi1TdW5rZW4gUGFsYWNlIElzdGFuYnVsLCBUdXJrZXlcIiB3aWR0aD1cIjMwMFwiIGhlaWdodD1cIjE3MlwiIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9iYXNpbGljYS1jaXN0ZXJuLW1lZHVzYS1oZWFkcy0xLTMwMHgxNzIuanBnXCIgY2xhc3M9XCJ3cC1wb3N0LWltYWdlICAgd3BnbXBfZmVhdHVyZWRfaW1hZ2VcIiA+PC9kaXY+IDwvZGl2PldoeSBTaG91bGQgWW91IFZpc2l0IHRoZSBCYXNpbGljYSBDaXN0ZXJuIChMSVNUKSBUaXBzIGZvciBCYXNpbGljYSBDaXN0ZXJuIE91ciBqb3VybmV5IGJlZ2lucyB3aXRoIHRoZSBidWlsZGluZyBhZGphY2VudCB0byBIYWdpYSBTb3BoaWEsIHdoaWNoIHdhcyBwcmV2aW91c2x5IHVzZWQgYXMgdGhlIGV4aXQgb2YgdGhlIGNpc3Rlcm4uIFRoZSBmaXJzdCBleHBlcmllbmNlIG9mIHRoZSBzcGFjZSBpcyByZWFsaXplZCBieSBkZXNjZW5kaW5nIGRvd24gdGhlIHN0ZWVsIHN0YWlycyB0byB0aGUgd2F0ZXIsIHdoaWNoIGlzIHRoZSByZWFzb24gZm9yIHRoZSBbJmhlbGxpcDtdPGFkZHJlc3M+PGI+QWRkcmVzcyA6IDwvYj57bWFya2VyX2FkZHJlc3N9PC9hZGRyZXNzPjxhIHRhcmdldD1cIl9ibGFua1wiICBjbGFzcz1cImZjLWJ0biBmYy1idG4tc21hbGwgZmMtYnRuLXJlZFwiIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvYmFzaWxpY2EtY2lzdGVybi1zdW5rZW4tcGFsYWNlLWlzdGFuYnVsLXR1cmtleS8xNDM4L1wiPlJlYWQgTW9yZS4uLjwvYT48L2Rpdj4iLCJjb250ZW50IjoiV2h5IFNob3VsZCBZb3UgVmlzaXQgdGhlIEJhc2lsaWNhIENpc3Rlcm4gKExJU1QpIFRpcHMgZm9yIEJhc2lsaWNhIENpc3Rlcm4gT3VyIGpvdXJuZXkgYmVnaW5zIHdpdGggdGhlIGJ1aWxkaW5nIGFkamFjZW50IHRvIEhhZ2lhIFNvcGhpYSwgd2hpY2ggd2FzIHByZXZpb3VzbHkgdXNlZCBhcyB0aGUgZXhpdCBvZiB0aGUgY2lzdGVybi4gVGhlIGZpcnN0IGV4cGVyaWVuY2Ugb2YgdGhlIHNwYWNlIGlzIHJlYWxpemVkIGJ5IGRlc2NlbmRpbmcgZG93biB0aGUgc3RlZWwgc3RhaXJzIHRvIHRoZSB3YXRlciwgd2hpY2ggaXMgdGhlIHJlYXNvbiBmb3IgdGhlIFsmaGVsbGlwO10iLCJhZGRyZXNzIjoiQWxlbWRhciwgWWVyZWJhdGFuIENkLiAxLzMsIDM0MTEwIEZhdGloL1x1MDEzMHN0YW5idWwsIFRcdTAwZmNya2l5ZSIsImxvY2F0aW9uIjp7ImxhdCI6IjQxLjAwODM4NDAwMDAwMDAxIiwic3RhdGUiOiJcdTAxMzBzdGFuYnVsIiwiY291bnRyeSI6IlRcdTAwZmNya2l5ZSIsImxuZyI6IjI4Ljk3Nzg3OCIsInJlZGlyZWN0X2N1c3RvbV9saW5rIjoiIiwib25jbGlja19hY3Rpb24iOiJtYXJrZXIiLCJyZWRpcmVjdF9wZXJtYWxpbmsiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvYmFzaWxpY2EtY2lzdGVybi1zdW5rZW4tcGFsYWNlLWlzdGFuYnVsLXR1cmtleS8xNDM4LyIsInpvb20iOjUsImV4dHJhX2ZpZWxkcyI6eyJwb3N0X2V4Y2VycHQiOiJXaHkgU2hvdWxkIFlvdSBWaXNpdCB0aGUgQmFzaWxpY2EgQ2lzdGVybiAoTElTVCkgVGlwcyBmb3IgQmFzaWxpY2EgQ2lzdGVybiBPdXIgam91cm5leSBiZWdpbnMgd2l0aCB0aGUgYnVpbGRpbmcgYWRqYWNlbnQgdG8gSGFnaWEgU29waGlhLCB3aGljaCB3YXMgcHJldmlvdXNseSB1c2VkIGFzIHRoZSBleGl0IG9mIHRoZSBjaXN0ZXJuLiBUaGUgZmlyc3QgZXhwZXJpZW5jZSBvZiB0aGUgc3BhY2UgaXMgcmVhbGl6ZWQgYnkgZGVzY2VuZGluZyBkb3duIHRoZSBzdGVlbCBzdGFpcnMgdG8gdGhlIHdhdGVyLCB3aGljaCBpcyB0aGUgcmVhc29uIGZvciB0aGUgWyZoZWxsaXA7XSIsInBvc3RfY29udGVudCI6IjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxNDQ3LFwic2l6ZVNsdWdcIjpcImZ1bGxcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWZ1bGxcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9iYXNpbGljYS1jaXN0ZXJuLW1lZHVzYS1oZWFkcy0xLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTQ0N1wiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnJhbmstbWF0aC90b2MtYmxvY2sge1wiaGVhZGluZ3NcIjpbe1wia2V5XCI6XCI3MjIxMjk5MC0zMzZkLTQ0NDEtOGI1YS1iM2VkMDZiMmMzYjVcIixcImNvbnRlbnRcIjpcIldoeSBTaG91bGQgWW91IFZpc2l0IHRoZSBCYXNpbGljYSBDaXN0ZXJuIChMSVNUKVwiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI3doeS1zaG91bGQteW91LXZpc2l0LXRoZS1iYXNpbGljYS1jaXN0ZXJuLWxpc3RcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCIxNzYwYmQ3Ny0wMWUxLTQzZDYtODc2Zi1lM2U2ZWRiZTMwYjFcIixcImNvbnRlbnRcIjpcIlRpcHMgZm9yIEJhc2lsaWNhIENpc3Rlcm5cIixcImxldmVsXCI6MixcImxpbmtcIjpcIiN0aXBzLWZvci1iYXNpbGljYS1jaXN0ZXJuXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiMDcwMmIyM2UtYzhlYS00NGU4LWFkZGItMDkzMDY3Y2ZhYzhlXCIsXCJjb250ZW50XCI6XCJXaG8gYnVpbHQgdGhlIEJhc2lsaWNhIENpc3Rlcm4sIGFuZCB3aG8gcmVkaXNjb3ZlcmVkIGl0IGFmdGVyIHRoZSBjb25xdWVzdCBvZiBJc3RhbmJ1bD9cIixcImxldmVsXCI6MixcImxpbmtcIjpcIiN3aG8tYnVpbHQtdGhlLWJhc2lsaWNhLWNpc3Rlcm4tYW5kLXdoby1yZWRpc2NvdmVyZWQtaXQtYWZ0ZXItdGhlLWNvbnF1ZXN0LW9mLWlzdGFuYnVsXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiZDdiYzMxZjktOTJiZC00MmZjLWI5YTktMjIzYTYxZjQzNzZlXCIsXCJjb250ZW50XCI6XCJTdHJ1Y3R1cmUgb2YgdGhlIEJhc2lsaWNhIENpc3Rlcm5cIixcImxldmVsXCI6MixcImxpbmtcIjpcIiNzdHJ1Y3R1cmUtb2YtdGhlLWJhc2lsaWNhLWNpc3Rlcm5cIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCI4MDkyMTVkMi04ZGQ3LTRjOTgtOGE2OC0wNDZiYTJjZTFjYTlcIixcImNvbnRlbnRcIjpcIkxpZ2h0aW5nIERlc2lnbiBvZiB0aGUgQmFzaWxpY2EgQ2lzdGVyblwiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI2xpZ2h0aW5nLWRlc2lnbi1vZi10aGUtYmFzaWxpY2EtY2lzdGVyblwiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcIjk0ZTE1NWI1LWM0MjEtNDM3OC1hMGI4LTk4OGIxYjQ3MzY2MVwiLFwiY29udGVudFwiOlwiUmVzdG9yYXRpb25zIFwiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI3Jlc3RvcmF0aW9uc1wiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfV0sXCJsaXN0U3R5bGVcIjpcInVsXCJ9IC0tPlxuPGRpdiBjbGFzcz1cIndwLWJsb2NrLXJhbmstbWF0aC10b2MtYmxvY2tcIiBpZD1cInJhbmstbWF0aC10b2NcIj48bmF2Pjx1bD48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3doeS1zaG91bGQteW91LXZpc2l0LXRoZS1iYXNpbGljYS1jaXN0ZXJuLWxpc3RcIj5XaHkgU2hvdWxkIFlvdSBWaXNpdCB0aGUgQmFzaWxpY2EgQ2lzdGVybiAoTElTVCk8L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3RpcHMtZm9yLWJhc2lsaWNhLWNpc3Rlcm5cIj5UaXBzIGZvciBCYXNpbGljYSBDaXN0ZXJuPC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiN3aG8tYnVpbHQtdGhlLWJhc2lsaWNhLWNpc3Rlcm4tYW5kLXdoby1yZWRpc2NvdmVyZWQtaXQtYWZ0ZXItdGhlLWNvbnF1ZXN0LW9mLWlzdGFuYnVsXCI+V2hvIGJ1aWx0IHRoZSBCYXNpbGljYSBDaXN0ZXJuLCBhbmQgd2hvIHJlZGlzY292ZXJlZCBpdCBhZnRlciB0aGUgY29ucXVlc3Qgb2YgSXN0YW5idWw/PC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiNzdHJ1Y3R1cmUtb2YtdGhlLWJhc2lsaWNhLWNpc3Rlcm5cIj5TdHJ1Y3R1cmUgb2YgdGhlIEJhc2lsaWNhIENpc3Rlcm48L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI2xpZ2h0aW5nLWRlc2lnbi1vZi10aGUtYmFzaWxpY2EtY2lzdGVyblwiPkxpZ2h0aW5nIERlc2lnbiBvZiB0aGUgQmFzaWxpY2EgQ2lzdGVybjwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjcmVzdG9yYXRpb25zXCI+UmVzdG9yYXRpb25zIDwvYT48L2xpPjwvdWw+PC9uYXY+PC9kaXY+XG48IS0tIC93cDpyYW5rLW1hdGgvdG9jLWJsb2NrIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ3aHktc2hvdWxkLXlvdS12aXNpdC10aGUtYmFzaWxpY2EtY2lzdGVybi1saXN0XCI+PHN0cm9uZz5XaHkgU2hvdWxkIFlvdSBWaXNpdCB0aGUgQmFzaWxpY2EgQ2lzdGVybiAoTElTVCk8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpsaXN0IC0tPlxuPHVsPjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPkJhc2lsaWNhIENpc3Rlcm4gaXMgb25lIG9mIHRoZSBtb3N0IHJlbWFya2FibGUgaGlzdG9yaWNhbCBzaXRlcyBpbiBJc3RhbmJ1bCBhbmQgYSB2ZXJ5IHBvcHVsYXIgdG91cmlzdCBhdHRyYWN0aW9uIGFzIHdlbGwuIEl0IHRha2VzIDJuZCBwbGFjZSBpbiBvdXIgdG9wIGxpc3Q7IFx1MjAxYzxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvdGhpbmdzLXRvLWRvLWluLXR1cmtleS9pc3RhbmJ1bC1hdHRyYWN0aW9ucy9cIiBkYXRhLXR5cGU9XCJjYXRlZ29yeVwiIGRhdGEtaWQ9XCI1NlwiPnRoaW5ncyB0byBkbyBpbiBJc3RhbmJ1bDwvYT5cdTIwMWQ8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT5UaGUgQmFzaWxpY2EgVW5kZXJncm91bmQgQ2lzdGVybiBBS0EgJm5ic3A7U3Vua2VuIFBhbGFjZSBDaXN0ZXJuIG9mZmVycyBhIHVuaXF1ZSBhbmQgJm5ic3A7Y2FwdGl2YXRpbmcgZXhwZXJpZW5jZSBhcyBhbiBhbmNpZW50IGhpc3RvcmljYWwgdmFsdWUsPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+SXRzIG1hcnZlbGxvdXMgYXJjaGl0ZWN0dXJlIGNvbnNpc3RzIG9mIGJpZyBjb2x1bW5zLCBhcmNoZXMgYW5kIHZhdWx0ZWQgY2VpbGluZ3MuPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+VGhlIHN0dW5uaW5nIGF0bW9zcGhlcmUgcHJvdmlkZXMgY2FwdGl2YXRpbmcgb3Bwb3J0dW5pdGllcyBmb3IgcGhvdG9ncmFwaHkuPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+VGhlIG15c3RpY2FsIGxlZ2VuZCBvZiBNZWR1c2Egc3RheXMgdGhlcmUgd2l0aCB0d28gTWVkdXNhIGhlYWRzIHVwc2lkZS1kb3duIChUaGUgdHdvIE1lZHVzYSBoZWFkcyB1c2VkIGFzIHBlZGVzdGFscyB1bmRlciB0aGUgdHdvIGNvbHVtbnMgbG9jYXRlZCBpbiB0aGUgbm9ydGh3ZXN0IGNvcm5lciBvZiB0aGUgY2lzdGVybiBhcmUgY29uc2lkZXJlZCBtYXN0ZXJwaWVjZXMgb2YgUm9tYW4gc2N1bHB0dXJlLCBkYXRpbmcgYmFjayB0byB0aGUgSVZ0aCBjZW50dXJ5LiBBbHRob3VnaCB0aGVyZSBpcyBubyBjZXJ0YWludHkgcmVnYXJkaW5nIHRoZSBib2RpZXMgb2YgdGhlc2UgaGVhZHMsIGl0IGlzIGJlbGlldmVkIHRoYXQgdGhleSB3ZXJlIGRpc21hbnRsZWQgZnJvbSBhbiBhbmNpZW50IHN0cnVjdHVyZSBmcm9tIHRoZSBZb3VuZyBSb21hbiBBZ2UgYW5kIGJyb3VnaHQgaGVyZSk8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT5UaGVyZSBpcyBhIHNlcmVuZSBzaWxlbmNlIHRoYXQgb2ZmZXJzIHJlc3BpdGUgZnJvbSB0aGUgbm9pc2UgYW5kIGNoYW9zIG9mIHRoZSBvdXRzaWRlIHdvcmxkLjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPlRoZSB0ZXh0IHlvdSBwcm92aWRlZCBhcHBlYXJzIHRvIGJlIGNsZWFyIGFuZCB3ZWxsLXdyaXR0ZW4uIEhvd2V2ZXIsIEkgbm90aWNlZCB0aGF0IHRoZXJlIGFyZSBhIGZldyBtaW5vciBjaGFuZ2VzIHRoYXQgY291bGQgYmUgbWFkZSB0byBpbXByb3ZlIGl0cyByZWFkYWJpbGl0eS4gSGVyZSdzIG15IHN1Z2dlc3RlZCByZXdyaXRlOjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPlwiVGhlIHN1bmtlbiBwYWxhY2UgaXMgbG9jYXRlZCBpbiBhIHZlcnkgY29udmVuaWVudCBhcmVhIC0gPGEgaHJlZj1cImh0dHBzOi8vd3d3LnRyaXBhZHZpc29yLmNvbS9BdHRyYWN0aW9uX1Jldmlldy1nMjkzOTc0LWQ4MDkwOTkxLVJldmlld3MtU3VsdGFuYWhtZXRfU3F1YXJlLUlzdGFuYnVsLmh0bWxcIj5TdWx0YW4gQWhtZXQgU3F1YXJlPC9hPiAtIHdoaWNoIGlzIGluIHRoZSBjZW50ZXIgb2YgSXN0YW5idWwncyBvbGQgY2l0eS4gSXQgaXMgd2l0aGluIHdhbGtpbmcgZGlzdGFuY2Ugb2Ygb3RoZXIgZmFtb3VzIGhpc3RvcmljYWwgYXR0cmFjdGlvbnMgc3VjaCBhcyA8YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvXCIgZGF0YS10eXBlPVwicG9zdFwiIGRhdGEtaWQ9XCIzNjlcIj5IYWdpYSBTb3BoaWE8L2E+IGFuZCA8YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3RoZS1ibHVlLW1vc3F1ZS1pc3RhbmJ1bC10dXJrZXkvMjgwL1wiIGRhdGEtdHlwZT1cInBvc3RcIiBkYXRhLWlkPVwiMjgwXCI+dGhlIEJsdWUgTW9zcXVlPC9hPi4gVGhlcmVmb3JlLCBpdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdG8gaW5jbHVkZSB0aGlzIHBhbGFjZSBpbiB5b3VyIGl0aW5lcmFyeSB3aGVuIHZpc2l0aW5nIHRoaXMgcGFydCBvZiBJc3RhbmJ1bC5cIjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPlRhc3R5IGN1bHR1cmFsIGV4cGVyaWVuY2Ugd2l0aCBzb3BoaXN0aWNhdGVkIEJ5emFudGluZSBhcmNoaXRlY3R1cmUgdGhhdCBzaG93Y2FzZXMgdGhlIGltcG9ydGFuY2Ugb2Ygd2F0ZXIgbWFuYWdlbWVudCBldmVuIGluIGFuY2llbnQgdGltZXMuPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+V2l0aCB0aGlzIGFtYXppbmcgYXRtb3NwaGVyZSwgaXQgaXMgaGFyZGx5IHN1cnByaXNpbmcgdGhhdCB0aGUgQmFzaWxpY2EgQ2lzdGVybiBoYXMgYmVlbiB0aGUgc2V0dGluZyBmb3IgbWFueSBpbnRlcm5hdGlvbmFsIGZpbG1zLiBIZXJlIHlvdSBjYW4gZmVlbCBzY2VuZXMgZnJvbSBEYW4gQnJvd24ncyBcIkluZmVybm9cIiB3aXRoIFRvbSBIYW5rcywgSmFtZXMgQm9uZCdzIFwiRnJvbSBSdXNzaWEgd2l0aCBMb3ZlXCIsIFwiVGhlIEludGVybmF0aW9uYWxcIiB3aXRoIENsaXZlIE93ZW4gYW5kIFwiVGhlIEFjY2lkZW50YWwgU3B5XCIgd2l0aCBKYWNraWUgQ2hhbi48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+XG48IS0tIC93cDpsaXN0IC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTQ0NCxcInNpemVTbHVnXCI6XCJmdWxsXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1mdWxsXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvbWVkdXNhLWluLWJhc2lsaWNhLWNpc3Rlcm4uanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xNDQ0XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInRpcHMtZm9yLWJhc2lsaWNhLWNpc3Rlcm5cIj48c3Ryb25nPlRpcHMgZm9yIEJhc2lsaWNhIENpc3Rlcm48L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpsaXN0IC0tPlxuPHVsPjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxzdHJvbmc+QXR0cmFjdGlvbiBUeXBlIDo8L3N0cm9uZz5IaXN0b3JpY2FsIFNpdGUsIE11c2V1bTwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxzdHJvbmc+RW50cmFuY2UgRmVlPC9zdHJvbmc+Jm5ic3A7OiBBcHByb3hpbWF0ZWx5IDIxICQ8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPlZpc2l0aW5nIFRpbWU8L3N0cm9uZz4mbmJzcDsoaG91cnMpOiAxPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5EcmVzcyBDb2RlPC9zdHJvbmc+OiBDQVNVQUw8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPlNwZWNpYWwgVGlwczwvc3Ryb25nPjpUaGUgQmFzaWxpY2EgQ2lzdGVybiBpcyBhbHNvIHVzZWQgYXMgYSB2ZW51ZSBmb3IgYWxsIGtpbmRzIG9mIGV2ZW50cyBkdWUgdG8gaXRzIGZhbnRhc3RpYyBhY291c3RpY3MgYW5kIG1hZ25pZmljZW50IHN1cnJvdW5kaW5ncy4gSWYgeW91IGhhdmUgdGhlIHJhcmUgb3Bwb3J0dW5pdHkgdG8gYXR0ZW5kIGEgY29uY2VydCBoZXJlLCBkb24ndCBtaXNzIGl0ITwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxzdHJvbmc+T3Blbjwvc3Ryb25nPjogRXZlcnlkYXkgOTowMCBhbS03OjAwIHBtPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPlxuPCEtLSAvd3A6bGlzdCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5PdXIgam91cm5leSBiZWdpbnMgd2l0aCB0aGUgYnVpbGRpbmcgYWRqYWNlbnQgdG8gSGFnaWEgU29waGlhLCB3aGljaCB3YXMgcHJldmlvdXNseSB1c2VkIGFzIHRoZSBleGl0IG9mIHRoZSBjaXN0ZXJuLiBUaGUgZmlyc3QgZXhwZXJpZW5jZSBvZiB0aGUgc3BhY2UgaXMgcmVhbGl6ZWQgYnkgZGVzY2VuZGluZyBkb3duIHRoZSBzdGVlbCBzdGFpcnMgdG8gdGhlIHdhdGVyLCB3aGljaCBpcyB0aGUgcmVhc29uIGZvciB0aGUgZXhpc3RlbmNlIG9mIHRoZSBjaXN0ZXJuLiBPbmNlIHRoZSB0cmF2ZWxlciByZWFjaGVzIHRoZSBmb3llciwgd2hpY2ggbWVldHMgdGhlIHdhdGVyIGF0IHRoZSBzYW1lIGxldmVsLCB0aGV5IHdpbGwgZXhwZXJpZW5jZSB0aGUgQmFzaWxpY2EgY2lzdGVybiBmcm9tIHRoZSB3YXRlciBsZXZlbC4gVGhlIGZveWVyIGFsc28gaG91c2VzIGFuIGV4aGliaXRpb24gdGhhdCB0ZWxscyB0aGUgaGlzdG9yeSBvZiB0aGUgc3RydWN0dXJlIGFuZCBJc3RhbmJ1bCdzIHdhdGVyd2F5cy4gQXMgd2UgY29udGludWUgb3VyIGpvdXJuZXksIHdlIHdpbGwgYmUgYWJsZSB0byBleHBlcmllbmNlIHRoZSBjaXN0ZXJuIGZyb20gZGlmZmVyZW50IGFuZ2xlcyB3aGlsZSB3YWxraW5nIG9uIGEgbWV0YWwsIHNlbWktdHJhbnNwYXJlbnQgcGxhdGZvcm0uIFRoZSBwbGF0Zm9ybSBhbHNvIGRvdWJsZXMgYXMgYSBzdGFnZSBmb3IgdmFyaW91cyBldmVudHMgYXMgd2UgbW92ZSBkZWVwZXIgaW50byB0aGUgY2lzdGVybi4gSW4gdGhpcyBteXN0aWNhbCBzcGFjZSwgd2hpY2ggY2FuIGFsc28gYmVjb21lIGEgc3RhZ2UgZm9yIGRpZmZlcmVudCBhcnRpc3RzIGV2ZXJ5IHllYXIsIHdlIHdpbGwgYmUgYWNjb21wYW5pZWQgYnkgZmlzaCB0aGF0IGVucmljaCBiaW9kaXZlcnNpdHkgYW5kIGNvbnRyaWJ1dGUgdG8gdGhlIGNsZWFubGluZXNzIG9mIHRoZSB3YXRlci4gVGhlIG1ldGFsIGdyaWQgcGxhdGZvcm0gdGVuZHMgdG8gZGlzYXBwZWFyIGluIHRoZSBzcGFjZSB3aGVyZSBpdCBleGlzdHMsIHdoaWxlIHRoZSBkZXNpZ25lZCBsaWdodCBzY2VuYXJpbyBtYWtlcyB0aGUgZXh0cmFvcmRpbmFyeSBoaXN0b3JpY2FsIHN0cnVjdHVyZSBzdGFuZCBvdXQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ3aG8tYnVpbHQtdGhlLWJhc2lsaWNhLWNpc3Rlcm4tYW5kLXdoby1yZWRpc2NvdmVyZWQtaXQtYWZ0ZXItdGhlLWNvbnF1ZXN0LW9mLWlzdGFuYnVsXCI+PHN0cm9uZz5XaG8gYnVpbHQgdGhlIEJhc2lsaWNhIENpc3Rlcm4sIGFuZCB3aG8gcmVkaXNjb3ZlcmVkIGl0IGFmdGVyIHRoZSBjb25xdWVzdCBvZiBJc3RhbmJ1bD88L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgU3Vua2VuIFBhbGFjZSBpcyBhbHNvIGtub3duIGFzIHRoZSBCYXNpbGljYSBDaXN0ZXJuIGFzIGl0IGlzIGxvY2F0ZWQgdW5kZXIgdGhlIFN0b2EgQmFzaWxpY2EuIEJhc2lsaWNhIENpc3Rlcm4gd2FzIGJ1aWx0IGluIDUzMiBieSBFbXBlcm9yIEp1c3RpbmlhbiBpbiBJc3RhbmJ1bC4gSXRzIHB1cnBvc2Ugd2FzIHRvIHByb3ZpZGUgd2F0ZXIgdG8gdGhlIG5lYXJieSBwYWxhY2UuIEFmdGVyIHRoZSBPdHRvbWFucyBjb25xdWVyZWQgSXN0YW5idWwgaW4gMTQ1MywgdGhlIGNpc3Rlcm4gd2FzIHVzZWQgdG8gc3VwcGx5IHdhdGVyIHRvIHRoZSBnYXJkZW5zIG9mIFRvcGthcGkgUGFsYWNlIHdoZXJlIHRoZSBzdWx0YW5zIHJlc2lkZWQuIEhvd2V2ZXIsIGl0IHdhcyBsYXRlciBhYmFuZG9uZWQgYW5kIHJlZGlzY292ZXJlZCBieSBhIER1dGNoIHRyYXZlbGVyIG5hbWVkIFAuIEd5bGxpdXMgaW4gMTU0NC0xNTUwIHdoaWxlIGludmVzdGlnYXRpbmcgQnl6YW50aW5lIHJ1aW5zLiBVcG9uIGRpc2NvdmVyaW5nIHRoZSBjaXN0ZXJuLCBHeWxsaXVzIGV4Y2xhaW1lZCwgXCJJIHdlbnQgZG93biB0aGUgc3RhaXJzIHdpdGggdGhlIGxhbmRsYWR5IGFuZCBmb3VuZCBteXNlbGYgaW4gYSBmb3Jlc3Qgb2YgcGlsbGFycyBmaWxsZWQgd2l0aCB3YXRlci5cIjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwic3RydWN0dXJlLW9mLXRoZS1iYXNpbGljYS1jaXN0ZXJuXCI+PHN0cm9uZz5TdHJ1Y3R1cmUgb2YgdGhlIEJhc2lsaWNhIENpc3Rlcm48L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjE0NDMsXCJzaXplU2x1Z1wiOlwiZnVsbFwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtZnVsbFwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2Jhc2lsaWNhLWNpc3Rlcm4taW50ZXJpb3IuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xNDQzXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIGNpc3Rlcm4gaXMgYSBsYXJnZSBzdHJ1Y3R1cmUgdGhhdCBzcGFucyBhIHJlY3Rhbmd1bGFyIGFyZWEgb2YgMTQwIG1ldGVycyBpbiBsZW5ndGggYW5kIDcwIG1ldGVycyBpbiB3aWR0aC4gVGhlcmUgYXJlIGEgdG90YWwgb2YgMzM2IGNvbHVtbnMgaW5zaWRlIHRoZSBjaXN0ZXJuLCBlYWNoIHN0YW5kaW5nIGF0IGEgaGVpZ2h0IG9mIDkgbWV0ZXJzLiBBY2Nlc3MgdG8gdGhlIGNpc3Rlcm4gaXMgcHJvdmlkZWQgYnkgYSA1Mi1zdGVwIHN0b25lIHN0YWlyY2FzZS4gVGhlIGNvbHVtbnMgYXJlIHBsYWNlZCBhdCBhIGRpc3RhbmNlIG9mIDQuODAgbWV0ZXJzIGZyb20gZWFjaCBvdGhlciwgY3JlYXRpbmcgMjggcm93cyB3aXRoIDEyIGNvbHVtbnMgaW4gZWFjaCByb3cuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlZpc2l0b3JzIGFyZSBncmVldGVkIGF0IHRoZSBlbnRyYW5jZSBvZiB0aGUgc3Vua2VuIHBhbGFjZSB0dXJrZXkgYnkgdGhlIGNvbHVtbnMgcmlzaW5nIGZyb20gdGhlIHdhdGVyIHRoYXQgcmVzZW1ibGVzIGEgdmFzdCBmb3Jlc3QuIFRoZXNlIGNvbHVtbnMgc3VwcG9ydCB0aGUgd2VpZ2h0IG9mIHRoZSBjZWlsaW5nIHRocm91Z2ggcm91bmQsIGNyb3NzLXNoYXBlZCB2YXVsdHMgYW5kIGFyY2hlcy4gTW9zdCBvZiB0aGUgY29sdW1ucyBhcmUgbWFkZSBmcm9tIGEgc2luZ2xlIHBpZWNlIG9mIG1hcmJsZSBvciBncmFuaXRlLCBhbmQgbWFueSBhcHBlYXIgdG8gaGF2ZSBiZWVuIGNvbGxlY3RlZCBmcm9tIG9sZGVyIGJ1aWxkaW5ncy4gU29tZSBhcmUgbWFkZSBvZiB0d28gcGllY2VzIHN0YWNrZWQgb24gdG9wIG9mIGVhY2ggb3RoZXIuIFRoZSBjYXBpdGFscyBvZiB0aGUgY29sdW1ucyBmZWF0dXJlIGRpZmZlcmVudCBzdHlsZXMsIHdpdGggOTggcmVmbGVjdGluZyB0aGUgQ29yaW50aGlhbiBzdHlsZSBhbmQgc29tZSByZWZsZWN0aW5nIHRoZSBEb3JpYyBzdHlsZS4gVGhlIGNpc3Rlcm4ncyBicmljayB3YWxscywgd2hpY2ggYXJlIDQuODAgbWV0ZXJzIHRoaWNrLCBhbmQgdGhlIGJyaWNrLXBhdmVkIGZsb29yIHdlcmUgbWFkZSB3YXRlcnByb29mIGJ5IGFwcGx5aW5nIGEgdGhpY2sgbGF5ZXIgb2YgSG9yYXNhbiBtb3J0YXIuIFRoZSBjaXN0ZXJuIGJvYXN0cyBhIHRvdGFsIGFyZWEgb2YgOSw4MDAgc3F1YXJlIG1ldGVycyBhbmQgY2FuIGhvbGQgYXBwcm94aW1hdGVseSAxMDAsMDAwIHRvbnMgb2Ygd2F0ZXIuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTQ0MixcInNpemVTbHVnXCI6XCJmdWxsXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1mdWxsXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvYmFzaWxpY2EtY2lzdGVybi1tYXJibGVzLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTQ0MlwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSB3YXRlciBvZiB0aGUgY2lzdGVybiwgdGhlIGNvbnN0cnVjdGlvbiBvZiB3aGljaCB3YXMgY2FycmllZCBvdXQgYnkgNyB0aG91c2FuZCBzbGF2ZXMsIHdhcyBicm91Z2h0IGZyb20gdGhlIEVcdTAxMWZyaWthcFx1MDEzMSB3YXRlciBkaXN0cmlidXRpb24gY2VudGVyIGluIHRoZSBCZWxncmFkZSBmb3Jlc3RzLCAxOSBraWxvbWV0ZXJzIGZyb20gdGhlIGNpdHksIHdpdGggdGhlIGhlbHAgb2YgdGhlIDk3MS1tZXRlci1sb25nIFZhbGVucyAoQm96ZG9cdTAxMWZhbikgYXJjaCBidWlsdCBieSBFbXBlcm9yIFZhbGVucyBpbiAoMzY4KSBhbmQgdGhlIDExNS40NS1tZXRlci1sb25nIE1hZ2xvdmEgQXJjaCBidWlsdCBieSBFbXBlcm9yIEp1c3RpbmlhbnVzLiBUaGUgbWFqb3JpdHkgb2YgdGhlIGNvbHVtbnMgaW4gdGhlIGNpc3Rlcm4gYXJlIGN5bGluZHJpY2FsLCBleGNlcHQgZm9yIGEgZmV3IHRoYXQgYXJlIGFuZ3VsYXIgb3IgZmx1dGVkLiBBbW9uZyB0aGVzZSBjb2x1bW5zLCB0aGUgb25lIGRlY29yYXRlZCB3aXRoIGNhcnZlZCBhbmQgZW1ib3NzZWQgUGVhY29jaydzIEV5ZSwgRHJvb3BpbmcgQnJhbmNoLCBhbmQgVGVhciBzaGFwZXMgaXMgcGFydGljdWxhcmx5IG5vdGV3b3J0aHkuIFRoaXMgY29sdW1uIGlzIHNpbWlsYXIgdG8gdGhlIGNvbHVtbnMgaW4gdGhlIHRyaXVtcGhhbCBhcmNoIG9mIHRoZSBncmVhdCBUaGVvZG9zaXVzIElWICgzNzktMzk1KSwgd2hvc2UgcmVtYWlucyBjYW4gYmUgZm91bmQgaW4gQmV5YXpcdTAxMzFkIFNxdWFyZSB0b2RheSwgY2FsbGVkIFwiRmFydW0gVGF1cmlcIiBpbiB0aGUgQnl6YW50aW5lIHBlcmlvZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImxpZ2h0aW5nLWRlc2lnbi1vZi10aGUtYmFzaWxpY2EtY2lzdGVyblwiPjxzdHJvbmc+TGlnaHRpbmcgRGVzaWduIG9mIHRoZSBCYXNpbGljYSBDaXN0ZXJuPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxNDQ1LFwic2l6ZVNsdWdcIjpcImZ1bGxcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWZ1bGxcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9iYXNpbGlrYS1jaXN0ZXJuLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTQ0NVwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkNvbmNlcHR1YWxseSwgdGhlIHNwYXRpYWwgc3Rvcnkgb2YgbGlnaHQgYW50aWNpcGF0ZXMgZGlmZmVyZW50IHBlcmNlcHR1YWwgc2NlbmFyaW9zLiBUaGUgam91cm5leSB0aGF0IGJlZ2lucyB0b3dhcmRzIHRoZSBkZXB0aHMgb2YgdGhlIGNpc3Rlcm4gZ2l2ZXMgdGhlIGZlZWxpbmcgb2YgYmVpbmcgaW4gYSB0d28tZGltZW5zaW9uYWwgZm9yZXN0IHdpdGggdGhlIGVmZmVjdCBvZiBsaWdodCBjb21pbmcgZnJvbSBiZWhpbmQgdGhlIGNvbHVtbnMuIFRoaXMgdHdvLWRpbWVuc2lvbmFsIGlsbHVzaW9uIGlzIGluc3BpcmVkIGJ5IHRyYWRpdGlvbmFsIG1pbmlhdHVyZSBhcnQuIFBlcnNwZWN0aXZlIGlzIHRoZXJlZm9yZSBub3Qgb2YgY2VudHJhbCBpbXBvcnRhbmNlIGFuZCB0ZW5kcyB0byBkaXNhcHBlYXIuIFdlIGNhbiBjaGFyYWN0ZXJpemUgaXQgYXMgYW4gZW11bGF0aW9uIG9mIHRoZSB0d28tZGltZW5zaW9uYWwgYXJ0IG9mIHRoZSBlYXN0ZXJuIHdvcmxkLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5Gcm9tIHRoaXMgcGVyc3BlY3RpdmUsIGF0IHRoZSBiZWdpbm5pbmcgb2YgeW91ciBqb3VybmV5LCB5b3UgYXJlIGVudmVsb3BlZCBieSB0aGUgdHdvLWRpbWVuc2lvbmFsIHNpbGhvdWV0dGUgb2YgYSBmb3Jlc3Qgb2YgY29sdW1ucyBhbmQgZmluZCB5b3Vyc2VsZiBpbiBhIHRpbWVsZXNzIHBsYWNlLCBhcyBpbiB0aGUgZXhwZXJpZW5jZSBvZiB0aGUgZmlyc3QgZXhwbG9yZXJzLiBGb3IgdGhpcyByZWFzb24sIGVhY2ggY29sdW1uIGlzIGlsbHVtaW5hdGVkIGZyb20gZ3JvdW5kIGxldmVsIHdpdGggZWxsaXB0aWNhbCBiZWFtIGxpZ2h0aW5nIGVsZW1lbnRzIHBvc2l0aW9uZWQgb3Bwb3NpdGUgdG8gdGhlIGRpcmVjdGlvbiBvZiBtb3ZlbWVudC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIGdyYWR1YWwgZGltaW5pc2hpbmcgb2YgbGlnaHQgYXMgd2UgdHJhdmVsIGRlZXBlciBpbnRvIHRoZSBjaXN0ZXJuIG9mZmVycyB0aGUgdmlzaXRvciBhIHNlbnNlIG9mIGFyY2hhZW9sb2dpY2FsIGFuZCBwZXJzb25hbCBkaXNjb3ZlcnkuIFRoZSBNZWR1c2EtaGVhZGVkIGNvbHVtbnMgcmVhY2hlZCBvbiB0aGlzIGpvdXJuZXkgcmVwcmVzZW50IHRoZSBlbmQgb2YgdGhlIG91dHdhcmQgam91cm5leSBhbmQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmV0dXJuIGpvdXJuZXkuIFRoZSB1cHNpZGUgZG93biBNZWR1c2FzIGFyZSB0d28gbXl0aG9sb2dpY2FsIGZpZ3VyZXMgcmVwcmVzZW50aW5nIHRoZSBmbG93IG9mIGxpZmUuIFNvIG11Y2ggc28gdGhhdCBhdCB0aGlzIHBvaW50IHRoZSByZXR1cm4gam91cm5leSBpcyBzdWRkZW5seSBpbnRlcnJ1cHRlZCBhbmQgdGhlcmUgaXMgYSBtb21lbnQgb2YgcmVmbGVjdGlvbi4gV2hlbiB5b3Ugc2V0IG9mZiBhZ2FpbiwgdGhlIHR3by1kaW1lbnNpb25hbCB3b3JsZCBpcyBpbnRlcnJ1cHRlZCB0byBtYWtlIHJvb20gZm9yIHRoZSB0aHJlZS1kaW1lbnNpb25hbCB3b3JsZCB0aGF0IHJldmVhbHMgdGhlIHN0cnVjdHVyYWwgYW5kIGFyY2hpdGVjdHVyYWwgYXNwZWN0cyBvZiB0aGUgY2lzdGVybi4gSGVyZSwgdGhlIHRyYW5zaXRpb24gdGFrZXMgcGxhY2UgZnJvbSB0aGUgdHdvLWRpbWVuc2lvbmFsIHBlcmNlcHRpb24gb2YgdGhlIGVhc3Rlcm4gd29ybGQsIHdoaWNoIGV4aGliaXRzIGEgc3VidGxlIG1hc3RlcnksIHRvIHRoZSB0aHJlZS1kaW1lbnNpb25hbCBwZXJjZXB0aW9uIG9mIHRoZSB3ZXN0ZXJuIHdvcmxkLCB3aGljaCBpcyBmb3JtZWQgYnkgdGhlIGFydCBvZiBsaWdodCBhbmQgc2hhZG93LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgY29sb3JzIHVzZWQgaW4gdGhlIGxpZ2h0aW5nIGRlc2lnbiBhcmUgaW5zcGlyZWQgYnkgdGhlIHRyYW5zZm9ybWF0aW9uIG9mIFN1bHRhbml0ZSBzdG9uZSwgYSBkaWFzcG9yYSBuYXRpdmUgdG8gQW5hdG9saWEsIGludG8gdHVycXVvaXNlIHdoZW4gZXhwb3NlZCB0byBuYXR1cmFsIGxpZ2h0IGFuZCBhbWJlciB2aWJyYXRpb25zIHdoZW4gZXhwb3NlZCB0byB0aGUgbGlnaHQgb2YgYSB0b3JjaC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SW4gdGhlIG1pZGRsZSBvZiB0aGUgam91cm5leSwgdGhlIHZpc2l0b3IgcGVyY2VpdmVzIHRoZSBzcGFjZSBlbnRpcmVseSBkaWZmZXJlbnRseSwgd2l0aCBzdWRkZW4gdHJhbnNpdGlvbnMgYmV0d2VlbiB0dXJxdW9pc2UgYW5kIGFtYmVyIGNvbG9ycyB0aGF0IHN5bWJvbGl6ZSB0aGUgY2hhcmFjdGVyIG9mIHRoaXMgbGFuZC4gVGhlIGV4cGVyaWVuY2UgZ2FpbmVkIHRocm91Z2ggdGhlIHRyYW5zZm9ybWF0aW9uIGF0IHRoaXMgcG9pbnQgYnJpbmdzIHdpdGggaXQgdGhlIGVzc2VuY2Ugb2YgY2hyb21hdGljIHBlcmNlcHRpb24uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJyZXN0b3JhdGlvbnNcIj48c3Ryb25nPlJlc3RvcmF0aW9ucyA8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5CYXNpbGljYSBDaXN0ZXJuIGhhcyB1bmRlcmdvbmUgdmFyaW91cyByZXBhaXJzIHNpbmNlIGl0cyBmb3VuZGF0aW9uIHVudGlsIHRvZGF5LiBUaGUgZmlyc3QgcmVwYWlyIG9mIHRoZSBjaXN0ZXJuLCByZXN0b3JlZCB0d2ljZSBkdXJpbmcgdGhlIE90dG9tYW4gRW1waXJlLCB3YXMgY2FycmllZCBvdXQgYnkgdGhlIGFyY2hpdGVjdCBLYXlzZXJpbGkgTWVobWV0IEFnYSBkdXJpbmcgdGhlIHJlaWduIG9mIEFobWV0IElJSSBpbiB0aGUgMTh0aCBjZW50dXJ5LiBJbiB0aGUgMTl0aCBjZW50dXJ5LCB0aGUgc2Vjb25kIG1ham9yIHJlcGFpciB3YXMgZHVyaW5nIHRoZSByZWlnbiBvZiBTdWx0YW4gQWJkXHUwMGZjbGhhbWl0IElJICgxODc2LTE5MDkpLiBUaGUgbW9zdCBzaWduaWZpY2FudCByZXBhaXIgaW4gdGhlIFJlcHVibGljYW4gcGVyaW9kIHdhcyBtYWRlIGluIDE5ODUuIFdpdGggdGhlIHJlbW92YWwgb2YgNTAgdGhvdXNhbmQgdG9ucyBvZiBtdWQgYW5kIHRoZSBjb25zdHJ1Y3Rpb24gb2YgdGhlIHNpZ2h0c2VlaW5nIHBsYXRmb3JtLCBpdCB3YXMgY29tcGxldGVkIGFuZCByZW9wZW5lZCB0byB2aXNpdG9ycyBvbiBTZXB0ZW1iZXIgOSwgMTk4Ny4gVGhlIGludGVyaW9yIGFuZCBsaWdodGluZyBkZXNpZ24gb2YgdGhlIEJhc2lsaWNhIENpc3Rlcm4gdW5kZXJ3ZW50IHJlc3RvcmF0aW9uIGluIDIwMTYgYW5kIHJlb3BlbmVkIG9uIEp1bHkgMjEsIDIwMjIuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPiIsInBvc3RfdGl0bGUiOiJCYXNpbGljYSBDaXN0ZXJuLVN1bmtlbiBQYWxhY2UgSXN0YW5idWwsIFR1cmtleSIsInBvc3RfbGluayI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9iYXNpbGljYS1jaXN0ZXJuLXN1bmtlbi1wYWxhY2UtaXN0YW5idWwtdHVya2V5LzE0MzgvIiwicG9zdF9mZWF0dXJlZF9pbWFnZSI6IjxkaXYgY2xhc3M9XCJmYy1mZWF0dXJlLWltZ1wiPjxpbWcgbG9hZGluZz1cImxhenlcIiBkZWNvZGluZz1cImFzeW5jXCIgYWx0PVwiQmFzaWxpY2EgQ2lzdGVybi1TdW5rZW4gUGFsYWNlIElzdGFuYnVsLCBUdXJrZXlcIiB3aWR0aD1cIjMwMFwiIGhlaWdodD1cIjE3MlwiIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9iYXNpbGljYS1jaXN0ZXJuLW1lZHVzYS1oZWFkcy0xLTMwMHgxNzIuanBnXCIgY2xhc3M9XCJ3cC1wb3N0LWltYWdlICAgd3BnbXBfZmVhdHVyZWRfaW1hZ2VcIiA+PC9kaXY+IiwicG9zdF9jYXRlZ29yaWVzIjoiVGhpbmdzIHRvIGRvIGluIElTVEFOQlVMLCBUaGluZ3MgdG8gZG8gaW4gVFVSS0VZIiwicG9zdF90YWdzIjoiaGlzdG9yaWNhbCBzaXRlLCBpc3RhbmJ1bCwgbXVzZXVtIiwiJV9lZGl0X2xvY2slIjoiMTcwNzQ5Njg5NDoxIiwiJXJhbmtfbWF0aF9pbnRlcm5hbF9saW5rc19wcm9jZXNzZWQlIjoiMSIsIiVyYW5rX21hdGhfc2VvX3Njb3JlJSI6IjgyIiwiJXJhbmtfbWF0aF9mb2N1c19rZXl3b3JkJSI6ImJhc2lsaWNhIGNpc3Rlcm4sc3Vua2VuIHBhbGFjZSBjaXN0ZXJuLHN1bmtlbiBwYWxhY2UgdHVya2V5LHVuZGVyZ3JvdW5kIGNpc3Rlcm4sdGhlIGJhc2lsaWNhIGNpc3Rlcm4sY2lzdGVybiBpc3RhbmJ1bCxpc3RhbmJ1bCBjaXN0ZXJuLG1lZHVzYSBoZWFkIiwiJV9lZGl0X2xhc3QlIjoiMSIsIiVBdHRyYWN0aW9uIFR5cGUlIjoiSGlzdG9yaWNhbCBTaXRlLCBNdXNldW0iLCIlX0F0dHJhY3Rpb24gVHlwZSUiOiJmaWVsZF82NWI5MDQ4ZDcwMmMzIiwiJWVudHJhbmNlX2ZlZSUiOiIyMSIsIiVfZW50cmFuY2VfZmVlJSI6ImZpZWxkXzY1YjkwOGIyNjM5ZWYiLCIlYmVzdF90aW1lX3RvX3Zpc2l0JSI6IkFsbCBTZWFzb25zIiwiJV9iZXN0X3RpbWVfdG9fdmlzaXQlIjoiZmllbGRfNjViOTA2NzdhMTBkYSIsIiVBdmFyZWdlIFZpc2l0aW5nIFRpbWUlIjoiMSIsIiVfQXZhcmVnZSBWaXNpdGluZyBUaW1lJSI6ImZpZWxkXzY1YjkwNmZiYzA4MWIiLCIlT3BlbiBkYXlzJSI6IkV2ZXJ5ZGF5IiwiJV9PcGVuIGRheXMlIjoiZmllbGRfNjViOTA4MTNjMDgxYyIsIiVPcGVucyBhdCUiOiIwOTowMDowMCIsIiVfT3BlbnMgYXQlIjoiZmllbGRfNjViOTA4Nzg0OWI1ZCIsIiVDbG9zZWQgYXQlIjoiMTk6MDA6MDAiLCIlX0Nsb3NlZCBhdCUiOiJmaWVsZF82NWJlYTU2OTc1YmFjIiwiJWRyZXNzX2NvZGUlIjoiQ2FzdWFsIiwiJV9kcmVzc19jb2RlJSI6ImZpZWxkXzY1YjkwYTdjNDQ0MjciLCIlb3RoZXJfdGlwcyUiOiJUaGUgQmFzaWxpY2EgQ2lzdGVybiBpcyBhbHNvIHVzZWQgYXMgYSB2ZW51ZSBmb3IgYWxsIGtpbmRzIG9mIGV2ZW50cyBkdWUgdG8gaXRzIGZhbnRhc3RpYyBhY291c3RpY3MgYW5kIG1hZ25pZmljZW50IHN1cnJvdW5kaW5ncy4gSWYgeW91IGhhdmUgdGhlIHJhcmUgb3Bwb3J0dW5pdHkgdG8gYXR0ZW5kIGEgY29uY2VydCBoZXJlLCBkb24ndCBtaXNzIGl0ISIsIiVfb3RoZXJfdGlwcyUiOiJmaWVsZF82NWI5MTAzM2JjOWNkIiwiJUxvY2F0aW9uJSI6IiIsIiVfTG9jYXRpb24lIjoiZmllbGRfNjViOTExMDdhMDRkZSIsIiVjaXR5JSI6IklTVEFOQlVMIiwiJV9jaXR5JSI6ImZpZWxkXzY1YzExZjU5MzJhYzciLCIlcmFuayUiOiIwMDAyIiwiJV9yYW5rJSI6ImZpZWxkXzY1YjdkNTE5ZWRlMTMiLCIlX3dwZ21wX2xvY2F0aW9uX2FkZHJlc3MlIjoiQWxlbWRhciwgWWVyZWJhdGFuIENkLiAxLzMsIDM0MTEwIEZhdGloL1x1MDEzMHN0YW5idWwsIFRcdTAwZmNya2l5ZSIsIiVfd3BnbXBfbG9jYXRpb25fY2l0eSUiOiIiLCIlX3dwZ21wX2xvY2F0aW9uX3N0YXRlJSI6Ilx1MDEzMHN0YW5idWwiLCIlX3dwZ21wX2xvY2F0aW9uX2NvdW50cnklIjoiVFx1MDBmY3JraXllIiwiJV93cGdtcF9tZXRhYm94X2xhdGl0dWRlJSI6IjQxLjAwODM4NDAwMDAwMDAxIiwiJV93cGdtcF9tZXRhYm94X2xvbmdpdHVkZSUiOiIyOC45Nzc4NzgiLCIlX3dwZ21wX21ldGFib3hfbG9jYXRpb25fcmVkaXJlY3QlIjoibWFya2VyIiwiJV93cGdtcF9tZXRhYm94X2N1c3RvbV9saW5rJSI6IiIsIiVfd3BnbXBfbWFwX2lkJSI6ImE6MTp7aTowO3M6MTpcIjFcIjt9IiwiJV93cGdtcF9tZXRhYm94X21hcmtlcl9pZCUiOiJhOjE6e2k6MDtzOjE6XCIyXCI7fSIsIiVfd3BnbXBfbWV0YWJveF90YXhvbW9taWVzX3Rlcm1zJSI6IiIsIiVfd3BnbXBfZXh0ZW5zaW9uc19maWVsZHMlIjoiIiwiJWNtcGx6X2hpZGVfY29va2llYmFubmVyJSI6IiIsIiVyYW5rX21hdGhfZGVzY3JpcHRpb24lIjoiQmFzaWxpY2EgQ2lzdGVybiBBS0EgU3Vua2FuIFBhbGFjZSBDaXN0ZXJuIGlzIGEgbXVzdC1zZWUgcGxhY2UgaW4gSXN0YW5idWwgYmVjYXVzZTsgSGlzdG9yeSwgQ3VsdHVyZSwgTGVnZW5kcyBhbmQgdGhlIGJyZWF0aHRha2luZyBhdG1vc3BoZXJlIGluc2lkZSBCYXNpbGljYSBDaXN0ZXJuLiIsIiVyYW5rX21hdGhfcHJpbWFyeV9jYXRlZ29yeSUiOiI1NiIsIiVfdGh1bWJuYWlsX2lkJSI6IjE0NDciLCIlcmFua19tYXRoX2FuYWx5dGljX29iamVjdF9pZCUiOiI4MyIsIiVwb3N0X3ZpZXdzX2NvdW50JSI6IjQyIiwiJXRkbV9zdGF0dXMlIjoiIiwiJXRkbV9ncmlkX3N0YXR1cyUiOiIiLCIlZm9vdG5vdGVzJSI6IiIsIiVfYnJlYWtkYW5jZV9oaWRlX2luX2Rlc2lnbl9zZXQlIjoiIiwiJV9icmVha2RhbmNlX3RhZ3MlIjoiIiwidGF4b25vbXk9Y2F0ZWdvcnkiOiJUaGluZ3MgdG8gZG8gaW4gSVNUQU5CVUwsIFRoaW5ncyB0byBkbyBpbiBUVVJLRVkiLCJ0YXhvbm9teT1wb3N0X3RhZyI6Imhpc3RvcmljYWwgc2l0ZSwgaXN0YW5idWwsIG11c2V1bSIsInRheG9ub215PXBvc3RfZm9ybWF0IjoiIn0sImljb24iOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL2FuY2llbnRtb251bWVudC5wbmcifSwiaWQiOjE0MzgsImN1c3RvbV9maWx0ZXJzIjpbXSwiaW5mb3dpbmRvd19kaXNhYmxlIjpmYWxzZSwiY2F0ZWdvcmllcyI6W3siaWNvbiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvYW5jaWVudG1vbnVtZW50LnBuZyIsIm5hbWUiOiJIaXN0b3JpY2FsIFBsYWNlcyIsImlkIjoiMiIsInR5cGUiOiJjYXRlZ29yeSIsImV4dGVuc2lvbl9maWVsZHMiOnsiY2F0X29yZGVyIjoiIn19XX0seyJzb3VyY2UiOiJwb3N0IiwidGl0bGUiOiJIYWdpYSBTb3BoaWEgaW4gSXN0YW5idWwiLCJpbmZvd2luZG93X2NvbnRlbnQiOiI8ZGl2IGNsYXNzPVwiZmMtbWFpblwiPjxkaXYgY2xhc3M9XCJmYy1pdGVtLXRpdGxlXCI+SGFnaWEgU29waGlhIGluIElzdGFuYnVsIDxzcGFuIGNsYXNzPVwiZmMtYmFkZ2UgaW5mb1wiPlRoaW5ncyB0byBkbyBpbiBJU1RBTkJVTCwgVGhpbmdzIHRvIGRvIGluIFRVUktFWTwvc3Bhbj48L2Rpdj4gPGRpdiBjbGFzcz1cImZjLWl0ZW0tZmVhdHVyZWRfaW1hZ2VcIj48ZGl2IGNsYXNzPVwiZmMtZmVhdHVyZS1pbWdcIj48aW1nIGxvYWRpbmc9XCJsYXp5XCIgZGVjb2Rpbmc9XCJhc3luY1wiIGFsdD1cIkhhZ2lhIFNvcGhpYSBpbiBJc3RhbmJ1bFwiIHdpZHRoPVwiMzAwXCIgaGVpZ2h0PVwiMTc2XCIgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS0yLTEtMzAweDE3Ni5wbmdcIiBjbGFzcz1cIndwLXBvc3QtaW1hZ2UgICB3cGdtcF9mZWF0dXJlZF9pbWFnZVwiID48L2Rpdj4gPC9kaXY+SGFnaWEgU29waGlhIGlzIG9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgbW9udW1lbnRzIG9mIHdvcmxkIGFyY2hpdGVjdHVyYWwgaGlzdG9yeSB0byBoYXZlIHN1cnZpdmVkIHRvIHRoZSBwcmVzZW50IGRheS4gSGFnaWEgU29waGlhIE1hcCwgRGlyZWN0aW9ucywgTmVpZ2hib3VyaG9vZHMgSGFnaWEgU29waGlhIHdhcyBhIGdyYW5kZXN0IHBsYWNlIG9mIHdvcnNoaXAgZm9yIG92ZXIgOTAwIHllYXJzLCBhbmQgYXJndWFibHkgdGhlIG1vc3QgcGVyZmVjdCBhbmQgYmVhdXRpZnVsIGNodXJjaCB0aGF0IGhhcyBiZWVuIGVyZWN0ZWQgYnkgYW55IENocmlzdGlhbiBwZW9wbGUuIEhhZ2lhIFNvcGhpYSBbJmhlbGxpcDtdPGFkZHJlc3M+PGI+QWRkcmVzcyA6IDwvYj57bWFya2VyX2FkZHJlc3N9PC9hZGRyZXNzPjxhIHRhcmdldD1cIl9ibGFua1wiICBjbGFzcz1cImZjLWJ0biBmYy1idG4tc21hbGwgZmMtYnRuLXJlZFwiIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS9cIj5SZWFkIE1vcmUuLi48L2E+PC9kaXY+IiwiY29udGVudCI6IkhhZ2lhIFNvcGhpYSBpcyBvbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IG1vbnVtZW50cyBvZiB3b3JsZCBhcmNoaXRlY3R1cmFsIGhpc3RvcnkgdG8gaGF2ZSBzdXJ2aXZlZCB0byB0aGUgcHJlc2VudCBkYXkuIEhhZ2lhIFNvcGhpYSBNYXAsIERpcmVjdGlvbnMsIE5laWdoYm91cmhvb2RzIEhhZ2lhIFNvcGhpYSB3YXMgYSBncmFuZGVzdCBwbGFjZSBvZiB3b3JzaGlwIGZvciBvdmVyIDkwMCB5ZWFycywgYW5kIGFyZ3VhYmx5IHRoZSBtb3N0IHBlcmZlY3QgYW5kIGJlYXV0aWZ1bCBjaHVyY2ggdGhhdCBoYXMgYmVlbiBlcmVjdGVkIGJ5IGFueSBDaHJpc3RpYW4gcGVvcGxlLiBIYWdpYSBTb3BoaWEgWyZoZWxsaXA7XSIsImFkZHJlc3MiOiJTdWx0YW4gQWhtZXQsIEF5YXNvZnlhIE1leWRhblx1MDEzMSBObzoxLCAzNDEyMiBGYXRpaC9cdTAxMzBzdGFuYnVsLCBUXHUwMGZjcmtpeWUiLCJsb2NhdGlvbiI6eyJsYXQiOiI0MS4wMDg1ODMiLCJzdGF0ZSI6Ilx1MDEzMHN0YW5idWwiLCJjb3VudHJ5IjoiVFx1MDBmY3JraXllIiwibG5nIjoiMjguOTgwMTc1Iiwib25jbGlja19hY3Rpb24iOiJwb3N0IiwicmVkaXJlY3RfcGVybWFsaW5rIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvIiwiem9vbSI6NSwiZXh0cmFfZmllbGRzIjp7InBvc3RfZXhjZXJwdCI6IkhhZ2lhIFNvcGhpYSBpcyBvbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IG1vbnVtZW50cyBvZiB3b3JsZCBhcmNoaXRlY3R1cmFsIGhpc3RvcnkgdG8gaGF2ZSBzdXJ2aXZlZCB0byB0aGUgcHJlc2VudCBkYXkuIEhhZ2lhIFNvcGhpYSBNYXAsIERpcmVjdGlvbnMsIE5laWdoYm91cmhvb2RzIEhhZ2lhIFNvcGhpYSB3YXMgYSBncmFuZGVzdCBwbGFjZSBvZiB3b3JzaGlwIGZvciBvdmVyIDkwMCB5ZWFycywgYW5kIGFyZ3VhYmx5IHRoZSBtb3N0IHBlcmZlY3QgYW5kIGJlYXV0aWZ1bCBjaHVyY2ggdGhhdCBoYXMgYmVlbiBlcmVjdGVkIGJ5IGFueSBDaHJpc3RpYW4gcGVvcGxlLiBIYWdpYSBTb3BoaWEgWyZoZWxsaXA7XSIsInBvc3RfY29udGVudCI6IjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SGFnaWEgU29waGlhIGlzIG9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgbW9udW1lbnRzIG9mIHdvcmxkIGFyY2hpdGVjdHVyYWwgaGlzdG9yeSB0byBoYXZlIHN1cnZpdmVkIHRvIHRoZSBwcmVzZW50IGRheS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIj5IYWdpYSBTb3BoaWEgTWFwLCBEaXJlY3Rpb25zLCBOZWlnaGJvdXJob29kczwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTE4OSxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtMi0xLTEwMjR4NjAwLnBuZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTE4OVwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkhhZ2lhIFNvcGhpYSB3YXMgYSBncmFuZGVzdCBwbGFjZSBvZiB3b3JzaGlwIGZvciBvdmVyIDkwMCB5ZWFycywgYW5kIGFyZ3VhYmx5IHRoZSBtb3N0IHBlcmZlY3QgYW5kIGJlYXV0aWZ1bCBjaHVyY2ggdGhhdCBoYXMgYmVlbiBlcmVjdGVkIGJ5IGFueSBDaHJpc3RpYW4gcGVvcGxlLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5IYWdpYSBTb3BoaWEgaXMgYSBoaXN0b3JpY2FsIHBoZW5vbWVub24gaW4gdGhlIGxpc3Qgb2Ygd29ybGQgaGVyaXRhZ2Ugc2l0ZXMgYnkgVU5FU0NPLiBUaGUgaGlzdG9yeSBvZiBIYWdpYSBTb3BoaWEgZGF0ZXMgYmFjayB0byBhbmNpZW50IHRpbWVzLiBIYWdpYSBTb3BoaWEsIG9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgcGxhY2VzIG9mIHdvcnNoaXAgb2YgdGhlIEVhc3Rlcm4gUm9tYW4gRW1waXJlIGluIGl0cyB0aW1lLCBzZXJ2ZXMgYXMgYSBtb3NxdWUgdG9kYXkuIEhhZ2lhIFNvcGhpYSBpcyBhIGhpc3RvcmljYWwgbW9zcXVlIHJlY29nbml6ZWQgYXMgYSBXb3JsZCBIZXJpdGFnZSBzaXRlIGJ5IFVORVNDTy4gSXRzIGhpc3RvcnkgZGF0ZXMgYmFjayB0byBhbmNpZW50IHRpbWVzIGFuZCB3YXMgb25jZSBhbiBpbXBvcnRhbnQgcGxhY2Ugb2Ygd29yc2hpcCBmb3IgdGhlIEVhc3Rlcm4gUm9tYW4gRW1waXJlLiBUb2RheSwgaXQgc2VydmVzIGFzIGEgbW9zcXVlIGFuZCBjb250aW51ZXMgdG8gaG9sZCBncmVhdCBzaWduaWZpY2FuY2UuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIj48c3Ryb25nPlNVTU1BUlk8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpsaXN0IC0tPlxuPHVsPjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxzdHJvbmc+QXR0cmFjdGlvbiBUeXBlIDo8L3N0cm9uZz5IaXN0b3JpY2FsIFNpdGUsIE11c2V1bSwgTW9zcXVlLCBDaHVyY2ggLyBNb25hc3Rlcnk8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPkVudHJhbmNlIEZlZTwvc3Ryb25nPiAoQXBwci5VU0QpIDoyNzwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxzdHJvbmc+VmlzaXRpbmcgVGltZTwvc3Ryb25nPiAoaG91cnMpOiAyPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5EcmVzcyBDb2RlPC9zdHJvbmc+OiBDbGVhbiBzb2NrcyAvIFByb3BlciBkcmVzcyBmb3IgTGFkaWVzIHByb3ZpZGVkIGF0IHRoZSBlbnRyYW5jZSAoQm9keSBhbmQgSGVhZCBtdXN0IGJlIGNvdmVyZWQpIC8gTWVuOiBhdCBsZWFzdCB0LXNoaXJ0IGFuZCBQYW50cyB1bmRlciBrbmVlIGxldmVsPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5TcGVjaWFsIFRpcHM8L3N0cm9uZz46Q3Jvd2RlZCBhdCBwcmF5ZXIgdGltZXM8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPk9wZW48L3N0cm9uZz46IEV2ZXJ5ZGF5ICAgOTowMCBhbS02OjAwIHBtPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPlxuPCEtLSAvd3A6bGlzdCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiPlRhYmxlIG9mIENvbnRlbnRzPC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6bGlzdCAtLT5cbjx1bD48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2lzLWhhZ2lhLXNvcGhpYS1jaHVyY2gtb3ItbW9zcXVlXCI+SXMgSGFnaWEgU29waGlhIENodXJjaCBvciBNb3NxdWU/PC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLW1lYW5pbmctYW5kLWRlZmluaXRpb25cIj5IYWdpYSBTb3BoaWEgbWVhbmluZyBhbmQgZGVmaW5pdGlvbjwvYT48IS0tIHdwOmxpc3QgLS0+XG48dWw+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNzYWludC1zb3BoaWFcIj5TYWludCBTb3BoaWE8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPlxuPCEtLSAvd3A6bGlzdCAtLT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2hhZ2lhLXNvcGhpYS1waG90b3NcIj5IYWdpYSBTb3BoaWEgUGhvdG9zOjwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2hhZ2lhLXNvcGhpYS1kcm9uZS1zaG90LXZpZGVvXCI+SGFnaWEgU29waGlhIERyb25lIFNob3QgVmlkZW88L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyN3aGVyZS1pcy1oYWdpYS1zb3BoaWEtbG9jYXRlZFwiPldoZXJlIGlzIEhhZ2lhIFNvcGhpYSBsb2NhdGVkPzwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI3doeS1pcy1oYWdpYS1zb3BoaWEtc28taW1wb3J0YW50XCI+V2h5IGlzIEhhZ2lhIFNvcGhpYSBzbyBpbXBvcnRhbnQ/PC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGlzdG9yeS1vZi1oYWdpYS1zb3BoaWFcIj5IaXN0b3J5IG9mIEhhZ2lhIFNvcGhpYTwvYT48IS0tIHdwOmxpc3QgLS0+XG48dWw+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNmaXJzdC1oYWdpYS1zb3BoaWFcIj5GaXJzdCBIYWdpYSBTb3BoaWE8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNzZWNvbmQtaGFnaWEtc29waGlhXCI+U2Vjb25kIEhhZ2lhIFNvcGhpYTwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI3RvZGF5cy1oYWdpYS1zb3BoaWEtdGhpcmQtaGFnaWEtc29waGlhXCI+VG9kYXlcdTIwMTlzIEhhZ2lhIFNvcGhpYTogVGhpcmQgSGFnaWEgU29waGlhPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLWFmdGVyLXRoZS1jb25xdWVzdC1vZi1pc3RhbmJ1bFwiPkhhZ2lhIFNvcGhpYSBhZnRlciB0aGUgY29ucXVlc3Qgb2YgSXN0YW5idWw8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWFzLWJlY29taW5nLWEtbXVzZXVtLWFuZC10aGVuLWEtbW9zcXVlLWFnYWluXCI+SGFnaWEgU29waGlhXHUyMDE5cyBiZWNvbWluZyBhIG11c2V1bSBhbmQgdGhlbiBhIG1vc3F1ZSBhZ2FpbjwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+XG48IS0tIC93cDpsaXN0IC0tPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jZmFjdHMtYWJvdXQtaGFnaWEtc29waGlhLWFyY2hpdGVjdHVyZS1hbmQtc3RydWN0dXJlXCI+RmFjdHMgQWJvdXQgSGFnaWEgU29waGlhIEFyY2hpdGVjdHVyZSBhbmQgU3RydWN0dXJlPC9hPjwhLS0gd3A6bGlzdCAtLT5cbjx1bD48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2NvbHVtbnMtYW5kLW1hcmJsZXMtb2YtaGFnaWEtc29waGlhLWJyb3VnaHQtZnJvbS1hbmNpZW50LWNpdGllc1wiPkNvbHVtbnMgYW5kIG1hcmJsZXMgb2YgSGFnaWEgU29waGlhIGJyb3VnaHQgZnJvbSBhbmNpZW50IGNpdGllczwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2hhZ2lhLXNvcGhpYS1kb21lXCI+SGFnaWEgU29waGlhIERvbWU8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNnYXRlLW9mLXRoZS1lbXBlcm9yc1wiPkdhdGUgb2YgdGhlIEVtcGVyb3JzPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD5cbjwhLS0gL3dwOmxpc3QgLS0+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWEtaW50ZXJpb3ItcGFydHNcIj5IYWdpYSBTb3BoaWEgSW50ZXJpb3IgUGFydHM8L2E+PCEtLSB3cDpsaXN0IC0tPlxuPHVsPjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jYXBzZS1tb3NhaWMtaW4taGFnaWEtc29waGlhXCI+QXBzZSBNb3NhaWMgaW4gSGFnaWEgU29waGlhPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jdHdvLWFuZ2Vscy1pbi10aGUtYXBzZVwiPlR3byBBbmdlbHMgaW4gdGhlIEFwc2U8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyN2aWtpbmctd3JpdGluZy1pbi1oYWdpYS1zb3BoaWFcIj5WaWtpbmcgV3JpdGluZyBpbiBIYWdpYSBTb3BoaWE8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNsZW9uLXZpLW1vc2FpY1wiPkxlb24gVkkgTW9zYWljPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jb2ZmZXJpbmctbW9zYWljXCI+T2ZmZXJpbmcgTW9zYWljPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jYW5nZWwtZGVwaWN0aW9ucy1vbi10aGUtZG9tZS1vZi1oYWdpYS1zb3BoaWFcIj5BbmdlbCBEZXBpY3Rpb25zIG9uIHRoZSBEb21lIG9mIEhhZ2lhIFNvcGhpYTwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI3BhdHJpYXJjaC1tb3NhaWNzLWluLXR5bXBhbm9uXCI+UGF0cmlhcmNoIE1vc2FpY3MgaW4gVHltcGFub248L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNlbXBlcm9yLWFsZXhhbmRlci1tb3NhaWNcIj5FbXBlcm9yIEFsZXhhbmRlciBNb3NhaWM8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyN6b2UtYW5kLWtvbW5lbm9zLW1vc2FpY3NcIj5ab2UgYW5kIEtvbW5lbm9zIE1vc2FpY3M8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNkZWlzaXMtY29tcG9zaXRpb24taW4taGFnaWEtc29waGlhXCI+RGVpc2lzIENvbXBvc2l0aW9uIGluIEhhZ2lhIFNvcGhpYTwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI29tcGhhbGlvbi1pbi1oYWdpYS1zb3BoaWFcIj5PbXBoYWxpb24gaW4gSGFnaWEgU29waGlhPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLXdpc2gtY29sdW1uXCI+SGFnaWEgU29waGlhIFdpc2ggQ29sdW1uPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLW1pbmFyZXRzXCI+SGFnaWEgU29waGlhIE1pbmFyZXRzPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLWJ1dHRyZXNzZXNcIj5IYWdpYSBTb3BoaWEgQnV0dHJlc3NlczwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2hhZ2lhLXNvcGhpYS1tYXJibGUtY3ViZXNcIj5IYWdpYSBTb3BoaWEgTWFyYmxlIEN1YmVzPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLW1pbmJhclwiPkhhZ2lhIFNvcGhpYSBNaW5iYXI8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNodW5rYXItbWFoZmlsaS1zdWx0YW5zLWdhdGhlcmluZy1wbGFjZVwiPkhcdTAwZmNua1x1MDBlMnIgTWFoZmlsaSAoU3VsdGFucyBHYXRoZXJpbmcgUGxhY2UpPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLW1paHJhYlwiPkhhZ2lhIFNvcGhpYSBNaWhyYWI8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyN0aWxlcy1hcm91bmQtdGhlLW1paHJhYlwiPlRpbGVzIEFyb3VuZCB0aGUgTWlocmFiPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jY2FsbGlncmFwaHktcGxhdGVzLWluLXRoZS1taWhyYWItc2VjdGlvblwiPkNhbGxpZ3JhcGh5IFBsYXRlcyBpbiB0aGUgTWlocmFiIFNlY3Rpb248L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWEtZm91bnRhaW5cIj5IYWdpYSBTb3BoaWEgRm91bnRhaW48L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNtb3NhaWMtdHVnaHJhLW9mLXN1bHRhbi1hYmR1bG1lY2lkLWluLWhhZ2lhLXNvcGhpYVwiPk1vc2FpYyBUdWdocmEgb2YgU3VsdGFuIEFiZFx1MDBmY2xtZWNpZCBpbiBIYWdpYSBTb3BoaWE8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPlxuPCEtLSAvd3A6bGlzdCAtLT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+XG48IS0tIC93cDpsaXN0IC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJpcy1oYWdpYS1zb3BoaWEtY2h1cmNoLW9yLW1vc3F1ZVwiPjxzdHJvbmc+SXMgSGFnaWEgU29waGlhIENodXJjaCBvciBNb3NxdWU/PC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SGFnaWEgU29waGkgaGFkIGJlZW4gc2VydmluZyBhcyBhIGNodXJjaCBmb3IgOTE2IHllYXJzIGFuZCB3YXMgY29udmVydGVkIGludG8gYSBtb3NxdWUgYWZ0ZXIgTWVobWVkIHRoZSBDb25xdWVyb3IgY29ucXVlcmVkIElzdGFuYnVsIGluIDE0NTMuIEl0IHdhcyB1c2VkIGFzIGEgbW9zcXVlIGZvciA0ODIgeWVhcnMgdW50aWwgaXQgd2FzIGNvbnZlcnRlZCBpbnRvIGEgbXVzZXVtIGluIDE5MzUgYnkgdGhlIG9yZGVyIG9mIEF0YXRcdTAwZmNyayBhbmQgdGhlIGRlY2lzaW9uIG9mIHRoZSBDb3VuY2lsIG9mIE1pbmlzdGVycy4gSG93ZXZlciwgaW4gMjAyMCwmbmJzcDs8bWFyaz5QcmVzaWRlbnQgUmVjZXAgVGF5eWlwIEVyZG9cdTAxMWZhbjwvbWFyaz4mbmJzcDtvcmRlcmVkIGl0IHRvIGJlJm5ic3A7PGEgaHJlZj1cImh0dHBzOi8vd3d3LmZveG5ld3MuY29tL3dvcmxkL2hhZ2lhLXNvcGhpYS1sYW5kbWFyay1jb252ZXJ0ZWQtY2h1cmNoLW1vc3F1ZS1tdXNldW0tbW9zcXVlLWFnYWluXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9yZWZlcnJlciBub29wZW5lclwiPmNvbnZlcnRlZCBiYWNrIGludG8gYSBtb3NxdWU8L2E+Jm5ic3A7YW5kIG9wZW5lZCBmb3Igd29yc2hpcCBieSBNdXNsaW1zLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaGFnaWEtc29waGlhLW1lYW5pbmctYW5kLWRlZmluaXRpb25cIj48c3Ryb25nPkhhZ2lhIFNvcGhpYSBtZWFuaW5nPC9zdHJvbmc+Jm5ic3A7PHN0cm9uZz5hbmQgZGVmaW5pdGlvbjwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPldoZW4gdGhlIEhhZ2lhIFNvcGhpYSB3YXMgb3JpZ2luYWxseSBjb25zdHJ1Y3RlZCwgaXQgd2FzIHJlZmVycmVkIHRvIGFzIHRoZSZuYnNwOzxzdHJvbmc+R3JlYXQgQ2h1cmNoIG9yIE1lZ2FsZSBFa2tsZXNpYTwvc3Ryb25nPi4gSG93ZXZlciwgaXQgYmVjYW1lIG1vcmUgY29tbW9ubHkga25vd24gYXMgU29waGlhIGR1cmluZyB0aGUgZmlmdGggY2VudHVyeS4gRGVzcGl0ZSB0aGlzLCB0aGUgZ2VuZXJhbCBwdWJsaWMgY29udGludWVkIHRvIHJlZmVyIHRvIGl0IGFzIHRoZSBHcmVhdCBDaHVyY2guIEZvbGxvd2luZyB0aGUgT3R0b21hbiBjb25xdWVzdCBvZiBDb25zdGFudGlub3BsZSBpbiAxNDUzLCB0aGUgbmFtZSB3YXMgY2hhbmdlZCB0byBcdTIwMWNIYWdpYSBTb3BoaWEsXHUyMDFkIHdoaWNoIGlzIHRoZSBuYW1lIGl0IGlzIHN0aWxsIGtub3duIHRvZGF5LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJzYWludC1zb3BoaWFcIj48c3Ryb25nPlNhaW50IFNvcGhpYTwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBpZGVhIHRoYXQgdGhlIGJ1aWxkaW5nIHdhcyBkZWRpY2F0ZWQgdG8gYSBzYWludCBuYW1lZCBTb3BoaWEgaXMgd3JvbmcuIFRoZSBjaHVyY2ggd2FzIGRlZGljYXRlZCB0byBUaGVpYSBTb3BoaWEsIEhvbHkgV2lzZG9tLCB0aGUgc2Vjb25kIGVsZW1lbnQgb2YgdGhlIENocmlzdGlhbiB0cmluaXR5LiBUaGUgY3VycmVudCBuYW1lOyBIYWdpYSBTb3BoaWEsIGlzIGNvbXBvc2VkIG9mIHRoZSB3b3JkcyBBeWEgKGhvbHksIHNhaW50KSBhbmQgU29waG9zICh3aXNkb20pLCB3aGljaDxzdHJvbmc+Jm5ic3A7bWVhbnMgaG9seS9kaXZpbmUgd2lzZG9tPC9zdHJvbmc+LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaGFnaWEtc29waGlhLXBob3Rvc1wiPjxzdHJvbmc+SGFnaWEgU29waGlhPC9zdHJvbmc+Jm5ic3A7PHN0cm9uZz5QaG90b3M8L3N0cm9uZz46PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6Z2FsbGVyeSB7XCJsaW5rVG9cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2stZ2FsbGVyeSBoYXMtbmVzdGVkLWltYWdlcyBjb2x1bW5zLWRlZmF1bHQgaXMtY3JvcHBlZFwiPjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjAwLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS0yMjIzMjM1LUtvcHlhLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTIwMFwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTIwMixcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtMjIyMzIzNTA5NTY4NzYwOTM0NzY4OTc1LTIuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjAyXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjAzLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1hZnRlci1jb25xdWVzdC1vZi1pc3RhbmJ1bC0xLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTIwM1wiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTIxMyxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtYXBzZS1tb3NhaWMtS29weWEuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjEzXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjA2LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1pbnRlcmlvci0uanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjA2XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjA0LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1pbnRlcmlvci1taW5iYXIuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjA0XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjA1LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1pbnRlcmlvci1tb3NhaWNzMTczNjQ2NzM4MjM3NjQzNzgyOS5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMDVcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMTAsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLWxpYnJhcnkuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjEwXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjExLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1saWJyYXJ5NzkzNDU2ODkyMzQ3NjU5MjA4Mzc0ODkuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjExXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjA5LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1saWJyYXJ5LXRpbGVzLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTIwOVwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTIwNyxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtbW9zcXVlLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTIwN1wiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTIwOCxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtbW9zcXVlXzUzNTM1MzUzNTM0NS5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMDhcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMTYsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLW1vc3F1ZV9kb21lLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTIxNlwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTIxMixcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtbW9zcXVlX2RvbWU2NzMyNjQ5NzEyMzU0OTY4Ny5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMTJcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMTcsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLW1vc3F1ZTEyMzEzMjQuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjE3XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjE0LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1tb3NxdWUwODk3MDc5NjkuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjE0XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+PC9maWd1cmU+XG48IS0tIC93cDpnYWxsZXJ5IC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtZHJvbmUtc2hvdC12aWRlb1wiPjxzdHJvbmc+SGFnaWEgU29waGlhIERyb25lIFNob3QgVmlkZW88L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDplbWJlZCB7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9SnFyV0hNS29kdGtcIixcInR5cGVcIjpcInZpZGVvXCIsXCJwcm92aWRlck5hbWVTbHVnXCI6XCJ5b3V0dWJlXCIsXCJyZXNwb25zaXZlXCI6dHJ1ZSxcImNsYXNzTmFtZVwiOlwid3AtZW1iZWQtYXNwZWN0LTE2LTkgd3AtaGFzLWFzcGVjdC1yYXRpb1wifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1lbWJlZCBpcy10eXBlLXZpZGVvIGlzLXByb3ZpZGVyLXlvdXR1YmUgd3AtYmxvY2stZW1iZWQteW91dHViZSB3cC1lbWJlZC1hc3BlY3QtMTYtOSB3cC1oYXMtYXNwZWN0LXJhdGlvXCI+PGRpdiBjbGFzcz1cIndwLWJsb2NrLWVtYmVkX193cmFwcGVyXCI+XG5odHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUpxcldITUtvZHRrXG48L2Rpdj48L2ZpZ3VyZT5cbjwhLS0gL3dwOmVtYmVkIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ3aGVyZS1pcy1oYWdpYS1zb3BoaWEtbG9jYXRlZFwiPjxzdHJvbmc+V2hlcmUgaXMgSGFnaWEgU29waGlhIGxvY2F0ZWQ/PC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIGVhc2llc3Qgd2F5IHRvIHJlYWNoIEhhZ2lhIFNvcGhpYSBNb3NxdWUgaXMgdmlhIE1hcm1hcmF5IGFuZCB0cmFtIGxpbmVzIGZvciBib3RoIHNpZGVzIG9mIElzdGFuYnVsLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD48c3Ryb25nPlRyYW06PC9zdHJvbmc+Jm5ic3A7WW91IGNhbiB0YWtlIHRoZSBCYVx1MDExZmNcdTAxMzFsYXItS2FiYXRhXHUwMTVmIGRpcmVjdGlvbiB0cmFtIGxpbmUgYW5kIGdldCBvZmYgYXQgU3VsdGFuYWhtZXQgc3RvcC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+PHN0cm9uZz5NYXJtYXJheTombmJzcDs8L3N0cm9uZz5Zb3UgY2FuIGdldCBvZmYgYXQgdGhlIFNpcmtlY2kgc3RvcCBhbmQgZWl0aGVyIHdhbGsgb3IgdGFrZSB0aGUgdHJhbSB5b3Ugd2lsbCBzZWUgYXQgdGhlIGV4aXQgYW5kIGNvbnRpbnVlIG9uIHlvdXIgd2F5LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD48c3Ryb25nPkZlcnJ5IGFuZCBNb3RvcmJvYXQ6PC9zdHJvbmc+Jm5ic3A7WW91IGNhbiBjaG9vc2UgYW4gZWFzeSB0cmFuc3BvcnRhdGlvbiBieSBzZWEgZnJvbSB0aGUgQW5hdG9saWFuIFNpZGUgdG8gdGhlIEV1cm9wZWFuIFNpZGUuIFlvdSBjYW4gdGFrZSB0aGUgZmVycmllcyBmcm9tIEthZFx1MDEzMWtcdTAwZjZ5IG9yIFx1MDBkY3NrXHUwMGZjZGFyIHRvIEVtaW5cdTAwZjZuXHUwMGZjLiBXaGVuIHlvdSBnZXQgb2ZmLCB5b3UgY2FuIGVpdGhlciB3YWxrIG9yIHVzZSB0aGUgdHJhbS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+QXJyaXZpbmcgYnkgY2FyIGNvdWxkIGJlIGEgcHJvYmxlbSBmb3IgdGhpcyByZWdpb24uIEFsdGhvdWdoIHRoZXJlIGFyZSBwYXJraW5nIGxvdHMgaW4gSGlzdG9yaWNhbCBQZW5pbnN1bGEgc3VjaCBhcyB0aGUgU2lya2VjaSBhbmQmbmJzcDs8YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3RvcGthcGktcGFsYWNlLW11c2V1bS1pbi1pc3RhbmJ1bC10dXJrZXkvMTg5L1wiPlRvcGthcGkgUGFsYWNlPC9hPiwgd2hpY2ggYXJlIHZlcnkgYnVzeSBlc3BlY2lhbGx5IG9uIHdlZWtlbmRzLCB3ZSByZWNvbW1lbmQgdGhhdCB5b3UgbGVhdmUgYXMgZWFybHkgYXMgcG9zc2libGUuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ3aHktaXMtaGFnaWEtc29waGlhLXNvLWltcG9ydGFudFwiPjxzdHJvbmc+V2h5IGlzIEhhZ2lhIFNvcGhpYSBzbyBpbXBvcnRhbnQ/PC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjI1LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2lzdGFuYnVsLTc3NTkyNl8xMjgwLTEwMjR4NzY4LmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTIyNVwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkhhZ2lhIFNvcGhpYSBpcyBhIGhpc3RvcmljYWwgbW9udW1lbnQgb2YgZ3JlYXQgaW1wb3J0YW5jZS4gSXQgaG9sZHMgdGhlIGRpc3RpbmN0aW9uIG9mIGJlaW5nIHRoZSB3b3JsZFx1MjAxOXMgb2xkZXN0IGFuZCBmYXN0ZXN0LWJ1aWx0IGNhdGhlZHJhbC4gRm9yIDEwMDAgeWVhcnMgYWZ0ZXIgaXRzIGNvbnN0cnVjdGlvbiwgaXQgcmVtYWluZWQgdGhlIGxhcmdlc3QgY2F0aGVkcmFsIHVudGlsIHRoZSBjb21wbGV0aW9uIG9mIHRoZSBTZXZpbGxlIENhdGhlZHJhbCBpbiBTcGFpbiBpbiAxNTIwLiBJdCBpcyBvZnRlbiByZWZlcnJlZCB0byBhcyBcdTIwMWN0aGUgOHRoIHdvbmRlciBvZiB0aGUgd29ybGRcdTIwMWQsIHdoaWNoIGlzIG5vdCBhbiBleGFnZ2VyYXRpb24gY29uc2lkZXJpbmcgaXRzIGludGVybmF0aW9uYWwgaW1wb3J0YW5jZSBhbmQgYWR2YW5jZWQgYXJjaGl0ZWN0dXJlLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgbW9udW1lbnQgaXMgb25lIG9mIHRoZSBtb3N0IHZhbHVhYmxlIGFydGlzdGljIGFuZCBhcmNoaXRlY3R1cmFsIG1vbnVtZW50cyBpbiB0aGUgd29ybGQsIHdpdGggcmVsaWdpb3VzIHNpZ25pZmljYW5jZSB0aGF0IGFkZHMgdG8gaXRzIGN1bHR1cmFsIHZhbHVlLiBBcyBhIHJlc3VsdCwgaXQgaXMgb25lIG9mIHRoZSBtb3N0IHZpc2l0ZWQgdG91cmlzdCBhdHRyYWN0aW9ucyBpbiB0aGUgd29ybGQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkhvd2V2ZXIsIGRlc3BpdGUgaXRzIHBvcHVsYXJpdHksIG1hbnkgcGVvcGxlIGhhdmUgYSBzdXBlcmZpY2lhbCB1bmRlcnN0YW5kaW5nIG9mIEhhZ2lhIFNvcGhpYSwgd2hpY2ggaXMgYSBwbGFjZSBvZiBncmVhdCBkZXRhaWwgYW5kIG15c3RlcnkuIFRoZSBhdmVyYWdlIHBlcnNvblx1MjAxOXMga25vd2xlZGdlIG9mIHRoaXMgQnl6YW50aW5lIG1vbnVtZW50IGlzIGxpbWl0ZWQgdG8gdGhlIGZhY3QgdGhhdCBpdCB3YXMgdGhlIGxhcmdlc3QgYnVpbGRpbmcgaW4gdGhlIHdvcmxkIGluIGl0cyB0aW1lLCB0aGF0IGl0IHdhcyBjb252ZXJ0ZWQgaW50byBhIG1vc3F1ZSBhZnRlciB0aGUgY29ucXVlc3Qgb2YgSXN0YW5idWwsIHRoYXQgaXQgc2VydmVkIGFzIGEgbXVzZXVtLCBhbmQgdGhhdCBpdCBpcyBub3cgYSBtb3NxdWUgYWdhaW4uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoaXN0b3J5LW9mLWhhZ2lhLXNvcGhpYVwiPjxzdHJvbmc+SGlzdG9yeSBvZiBIYWdpYSBTb3BoaWE8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5IYWdpYSBTb3BoaWEgd2FzIGJ1aWx0IG5vdCBvbmNlIGJ1dCAzIHRpbWVzIGluIHRoZSBzYW1lIHBsYWNlIHVudGlsIGl0IHRvb2sgaXRzIGN1cnJlbnQgZm9ybS4gQWZ0ZXIgaXQgd2FzIGJ1aWx0IGZvciB0aGUgbGFzdCB0aW1lLCBpdCByZW1haW5lZCB0aGUgbGFyZ2VzdCBjYXRoZWRyYWwgaW4gdGhlIHdvcmxkIGZvciAxMDAwIHllYXJzLiBJdCB3YXMgdGhlIGNlbnRlciBvZiByZWxpZ2lvdXMgbGlmZSBpbiBJc3RhbmJ1bCwgdGhlIGNhcGl0YWwgb2YgYm90aCB0aGUgUm9tYW4gYW5kIE90dG9tYW4gRW1waXJlcy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+V2hpbGUgdGhlIHR3byBIYWdpYSBTb3BoaWFzIGJlZm9yZSB0aGUgbGFzdCBvbmUgd2VyZSBkZXN0cm95ZWQgYnkgZmlyZXMgaW4gcmlvdHMsIHRoZSBkb21lIG9mIHRoZSBjdXJyZW50IEhhZ2lhIFNvcGhpYSB3YXMgZGVzdHJveWVkIGJ5IGFuIGVhcnRocXVha2UgYW5kIHJlYnVpbHQuIE5vdyB3ZSB3aWxsIGJyaWVmbHkgdGFsayBhYm91dCB0aGUgaGlzdG9yeSBvZiB0aGUgMyBIYWdpYSBTb3BoaWFcdTIwMTlzOjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJmaXJzdC1oYWdpYS1zb3BoaWFcIj48c3Ryb25nPkZpcnN0IEhhZ2lhIFNvcGhpYTwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBjb25zdHJ1Y3Rpb24gb2YgdGhlIGZpcnN0IGNodXJjaCB3YXMgaW5pdGlhdGVkIGJ5IENvbnN0YW50aW5lIHRoZSBHcmVhdCAoQ29uc3RhbnRpbmUgSSwgMjcyIEFEIDMzNyBBRCksIHdobyBtYWRlIENvbnN0YW50aW5vcGxlIHRoZSBjYXBpdGFsIG9mIHRoZSBSb21hbiBFbXBpcmUsIGxpYmVyYWxpemVkIENocmlzdGlhbml0eSB3aXRoIHRoZSBFZGljdCBvZiBNaWxhbiBhbmQgbGVkIHRoZSB3YXkgdG8gdGhlIENvdW5jaWwgb2YgTmljYWVhLCB3aGVyZSB0aGUgYmluZGluZyBydWxlcyBvZiBDaHJpc3RpYW5pdHkgd2VyZSBlc3RhYmxpc2hlZC4gSXQgd2FzIGNvbXBsZXRlZCBhbmQgb3BlbmVkIGZvciB3b3JzaGlwIGluIDM2MCBBRCBieSBoaXMgc29uIENvbnN0YW50aXVzLiBUaGUgZmlyc3QgY2h1cmNoIHdhcyBjYWxsZWQgTWVnYWxvIEVrbGVzaWEsIHdoaWNoIG1lYW5zIEdyZWF0IENodXJjaCBpbiBHcmVlaywgYnV0IGl0IHdhcyBidXJuZWQgZG93biBpbiBhIHBvcHVsYXIgdXByaXNpbmcgaW4gNDA0IEFEIGFuZCBub3QgbXVjaCB3YXMgbGVmdC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwic2Vjb25kLWhhZ2lhLXNvcGhpYVwiPjxzdHJvbmc+U2Vjb25kIEhhZ2lhIFNvcGhpYTwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSAybmQgY2h1cmNoLCB3aGljaCB3YXMgYnVpbHQgYnkgRW1wZXJvciBUaGVvZG9zaXVzIElJICg0MDgtNDUwIEFEKSBpbiA0MTUsIHdhcyBkZXN0cm95ZWQgZHVyaW5nIHRoZSBFbXBlcm9yIEp1c3Rpbmlhblx1MjAxOXMgKDUyNy01NjUgQUQpIHJlaWduIGluIDUzMiBBRCBkdXJpbmcgdGhlIGdyZWF0IHBvcHVsYXIgdXByaXNpbmcga25vd24gaW4gaGlzdG9yeSBhcyB0aGUgTmlrYSBSZXZvbHQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPldoYXQgcmVtYWlucyBvZiB0aGUgMm5kIGNodXJjaCBhcmUgdGhlIGNvbHVtbnMgaW4gdGhlIGNvdXJ0eWFyZCBhbmQgZ2FyZGVuLiBJbiBhZGRpdGlvbiwgZXhjYXZhdGlvbnMgaW4gMTkzNSB1bmNvdmVyZWQgdGhlIHN0YWlycyBvZiB0aGUgbW9udW1lbnRhbCBlbnRyYW5jZSBvZiB0aGUgc2Vjb25kIGNodXJjaCwgYWJvdXQgdHdvIG1ldGVycyBiZWxvdyB0aGUgZmxvb3Igb2YgdGhlIHByZXNlbnQgY2h1cmNoLCBhbmQgZnJhZ21lbnRzIG9mIHRoZSBmcmllemUgZGVjb3JhdGVkIHdpdGggcmVsaWVmcyBvZiBzaGVlcCBzeW1ib2xpemluZyB0aGUgMTIgYXBvc3RsZXMuIFlvdSBjYW4gZXhhbWluZSBhbGwgb2YgdGhlc2UgYnkgc3BlbmRpbmcgc29tZSB0aW1lIGluIHRoZSBnYXJkZW4gb2YgdGhlIEhhZ2lhIFNvcGhpYSBiZWZvcmUgZW50ZXJpbmcgdGhlIGJ1aWxkaW5nLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ0b2RheXMtaGFnaWEtc29waGlhLXRoaXJkLWhhZ2lhLXNvcGhpYVwiPjxzdHJvbmc+VG9kYXlcdTIwMTlzIEhhZ2lhIFNvcGhpYTogVGhpcmQgSGFnaWEgU29waGlhPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIHRoaXJkIEhhZ2lhIFNvcGhpYSwgd2hpY2ggaGFzIHN1cnZpdmVkIHRvIHRoZSBwcmVzZW50IGRheSwgd2FzIGJ1aWx0IGJ5Jm5ic3A7PGEgaHJlZj1cImh0dHBzOi8vd3d3LmJyaXRhbm5pY2EuY29tL2Jpb2dyYXBoeS9KdXN0aW5pYW4tSVwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vcmVmZXJyZXIgbm9vcGVuZXJcIj5FbXBlcm9yIEp1c3RpbmlhbjwvYT4mbmJzcDsoNTI3LTU2NSBBLkQuKSBmb3IgdGhlIHBoeXNpY2lzdCBJc2lkb3JvcyBvZiBNaWxldHVzIGFuZCB0aGUgbWF0aGVtYXRpY2lhbiBBbnRlbWlvcyBvZiBUcmFsZXMsIG5vdyBBeWRcdTAxMzFuLiBUaGUgY29uc3RydWN0aW9uIGJlZ2FuIG9uIEZlYnJ1YXJ5IDIzLCA1MzIgYW5kIHdhcyBjb21wbGV0ZWQgaW4gNSB5ZWFycyBhbmQgb3BlbmVkIGZvciB3b3JzaGlwIG9uIERlY2VtYmVyIDI2LCA1MzcuIEFudGVtaW9zIGRpZWQgaW4gdGhlIHNlY29uZCB5ZWFyIG9mIGNvbnN0cnVjdGlvbiwgYnV0IElzaWRvcm9zIGNvbXBsZXRlZCB0aGUgYnVpbGRpbmcuIFRoZSBjb25zdHJ1Y3Rpb24gaW52b2x2ZWQgMTAwMCBjcmFmdHNtZW4gYW5kIGNyYWZ0c21lbiBhbmQgMTAsMDAwIHdvcmtlcnMuIEhhZ2lhIFNvcGhpYSwgdGhlIG9sZGVzdCBjYXRoZWRyYWwgaW4gdGhlIHdvcmxkLCBpcyBhbHNvIHRoZSBmYXN0ZXN0IGJ1aWx0IGNhdGhlZHJhbCBpbiB0aGUgd29ybGQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPjxzdHJvbmc+U2Fja2VkIGR1cmluZyBhIGNydXNhZGU8L3N0cm9uZz46PGJyPkR1cmluZyB0aGUgRm91cnRoIENydXNhZGUsIHRoZSBDcnVzYWRlcnMgdW5kZXIgdGhlIGNvbW1hbmQgb2YgRW5yaWNvIERhbmRvbG8sIHRoZSA0MXN0IERvamEgb2YgdGhlIFZlbmV0aWFuIFJlcHVibGljLCBjYXB0dXJlZCBDb25zdGFudGlub3BsZSBhbmQgc2Fja2VkIHRoZSBIYWdpYSBTb3BoaWEuIER1cmluZyB0aGlzIHBlcmlvZCwgSGFnaWEgU29waGlhIHN1ZmZlcmVkIGdyZWF0IGRlc3RydWN0aW9uLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtYWZ0ZXItdGhlLWNvbnF1ZXN0LW9mLWlzdGFuYnVsXCI+PHN0cm9uZz5IYWdpYSBTb3BoaWEgYWZ0ZXIgdGhlIGNvbnF1ZXN0IG9mIElzdGFuYnVsPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjUzLFwid2lkdGhcIjpcIjg2OXB4XCIsXCJoZWlnaHRcIjpcImF1dG9cIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2UgaXMtcmVzaXplZFwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1hZnRlci1jb25xdWVzdC1vZi1pc3RhbmJ1bC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyNTNcIiBzdHlsZT1cIndpZHRoOjg2OXB4O2hlaWdodDphdXRvXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SW4gMTQ1Mywgd2l0aCB0aGUgY29ucXVlc3Qgb2YgSXN0YW5idWwsJm5ic3A7PGEgaHJlZj1cImh0dHBzOi8vd3d3LmF5YXNvZnlhY2FtaWkuZ292LnRyL2VuL2F5YXNvZnlhLXRhcmloaVwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vcmVmZXJyZXIgbm9vcGVuZXJcIj5IYWdpYSBTb3BoaWEgd2FzIGNvbnZlcnRlZCBpbnRvIGEgbW9zcXVlPC9hPiZuYnNwO2FuZCBJc2xhbWljIGVsZW1lbnRzIHdlcmUgYWRkZWQgdG8gdGhlIHN0cnVjdHVyZS4gVGhlIGZpcnN0IG1pbmFyZXQgd2FzIGJ1aWx0IGluIEhhZ2lhIFNvcGhpYSBkdXJpbmcgdGhlIHJlaWduIG9mIEZhdGloIFN1bHRhbiBNZWhtZXQuIFRoaXMgd29vZGVuIG1pbmFyZXQgZG9lcyBub3Qgc3Vydml2ZSB0byB0aGlzIGRheS4gTGF0ZXIsIGR1cmluZyB0aGUgcmVpZ24gb2YgU3VsdGFuIEJheWV6aWQgSUksIGFub3RoZXIgbWluYXJldCB3YXMgYWRkZWQgdG8gdGhlIGJ1aWxkaW5nLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5EdXJpbmcgdGhlIHJlaWduIG9mIFNlbGltIElJICgxNTY2LTE1NzQpLCBTaW5hbiB0aGUgQXJjaGl0ZWN0IHJlaW5mb3JjZWQgdGhlIEhhZ2lhIFNvcGhpYSBhbmQgaXRzIGRvbWUgd2l0aCBidXR0cmVzc2VzIGFuZCBhcmNoZXMgYW5kIGFkZGVkIGEgbWluYXJldCwgdGhlIGhcdTAwZmNua2FyIG1haGZpbGkgYW5kIFNlbGltIElJXHUyMDE5cyB0b21iLiBJbiB0aGUgMTYwMHMsIHRoZSBtYXVzb2xldW1zIG9mIE11cmF0IElJIGFuZCBNZWhtZWQgSUlJIHdlcmUgYWRkZWQgdG8gdGhlIGJ1aWxkaW5nLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5EdXJpbmcgdGhlIE90dG9tYW4gcGVyaW9kLCBtYW55IG1vcmUgYWRkaXRpb25zIHdlcmUgbWFkZSB0byB0aGUgYnVpbGRpbmcsIHN1Y2ggYXMgdGhlIG1hcmJsZSBwdWxwaXQsIHRoZSBnYWxsZXJ5IGxlYWRpbmcgdG8gdGhlIGtoXHUwMGZjbmthciBtYWhmaWwsIHRoZSBtdWV6emluIG1haGZpbCwgYW5kIHRoZSBzZXJtb24gcHVscGl0LiBNdXJhZCBJSUkgcGxhY2VzIHR3byBjdWJlcyBtYWRlIG9mIFx1MjAxY2Jla3Rhc2hpIHN0b25lXHUyMDFkIGZyb20gdGhlIEhlbGxlbmlzdGljIHBlcmlvZCwgZXhjYXZhdGVkIGZyb20gdGhlIGFuY2llbnQgY2l0eSBvZiBQZXJnYW1vbiwgaW4gdGhlIG1haW4gaGFsbCBvZiBIYWdpYSBTb3BoaWEuIE1haG11ZCBJIGFkZGVkIGEgbGlicmFyeSwgYSBtYWRyYXNhaCwgYW4gYWxtc2hvdXNlIGFuZCBhIGZvdW50YWluIHRvIHRoZSBidWlsZGluZy4gVGh1cywgSGFnaWEgU29waGlhIHR1cm5zIGludG8gYSBjb21wbGV4LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5EdXJpbmcgdGhlIHJlaWduIG9mIEFiZFx1MDBmY2xtZWNpdCwgSGFnaWEgU29waGlhIHVuZGVyZ29lcyBvbmUgb2YgdGhlIG1vc3QgZmFtb3VzIHJlc3RvcmF0aW9ucyBvZiB0aGUgT3R0b21hbiBwZXJpb2QuIEJldHdlZW4gMTg0NyBhbmQgMTg0OSwgdGhlIEl0YWxpYW4tYm9ybiBGb3NzYXRpIGJyb3RoZXJzIHJlaW5mb3JjZWQgdGhlIGRvbWUsIHZhdWx0cyBhbmQgY29sdW1ucyBvZiB0aGUgYnVpbGRpbmcgYW5kIG92ZXJoYXVsZWQgaXRzIGludGVyaW9yIGFuZCBleHRlcmlvciBkZWNvcmF0aW9uLiBUaGV5IGNsZWFuZWQgdGhlIG1vc2FpY3Mgb24gdGhlIHVwcGVyIGZsb29yIGFuZCBjb3ZlcmVkIHRoZSBiYWRseSBkYW1hZ2VkIG9uZXMgd2l0aCBwbGFzdGVyLiBUaGV5IGFsc28gcGFpbnRlZCB0aGUgbW9zYWljIG1vdGlmcyB1bmRlcm5lYXRoIG9uIHRoaXMgcGxhc3Rlci4gVGhlIGdpYW50IHJvdW5kIHBhaW50aW5ncyBvZiBpbXBvcnRhbnQgbmFtZXMgd3JpdHRlbiBpbiBjYWxsaWdyYXBoeSBieSBLYXphc2tlciBNdXN0YWZhIFx1MDEzMHp6ZWQgRWZlbmRpICgxODAxLTE4NzcpIGFyZSBiZWluZyByZW5vdmF0ZWQgYW5kIGh1bmcgb24gdGhlIGNvbHVtbnMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhhZ2lhLXNvcGhpYXMtYmVjb21pbmctYS1tdXNldW0tYW5kLXRoZW4tYS1tb3NxdWUtYWdhaW5cIj48c3Ryb25nPkhhZ2lhIFNvcGhpYVx1MjAxOXMgYmVjb21pbmcgYSBtdXNldW0gYW5kIHRoZW4gYSBtb3NxdWUgYWdhaW48L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5IYWdpYSBTb3BoaWEgYmVjYW1lIGEgbXVzZXVtIG9uIEZlYnJ1YXJ5IDEsIDE5MzUgYW5kIHdhcyBpbnNjcmliZWQgb24gdGhlIFVORVNDTyBXb3JsZCBIZXJpdGFnZSBMaXN0IGluIDE5ODUgYXMgcGFydCBvZiB0aGUgXHUyMDFjQXJjaGFlb2xvZ2ljYWwgUGFya1x1MjAxZCwgd2hpY2ggaW5jbHVkZXMgSGFnaWEgU29waGlhLCBIaXBwb2Ryb21lLCBIYWdpYSBJcmVuZSwgTGl0dGxlIEhhZ2lhIFNvcGhpYSBNb3NxdWUgYW5kIFRvcGthcFx1MDEzMSBQYWxhY2UuIEl0IHdhcyBmaW5hbGx5IHJldmVydGVkIGJhY2sgdG8gXHUyMDFjTW9zcXVlXHUyMDFkIHN0YXR1cyBvbiBKdWx5IDI0LCAyMDIwLiBUaGUgZmxvb3Igd2FzIGNhcnBldGVkIGFuZCB0aGUgbW9zYWljcyBpbiB0aGUgcHJheWVyIGFyZWEgd2VyZSBjb3ZlcmVkIHdpdGggYW4gZWxlY3Ryb25pYyByYWlsIHN5c3RlbSBjdXJ0YWluIHRoYXQgb3BlbnMgYW5kIGNsb3NlcyBpbiAxIG1pbnV0ZS4gVGhlc2UgY3VydGFpbnMgYXJlIGFjdGl2YXRlZCBhdCBwcmF5ZXIgdGltZXMgYW5kIHdoZW4gdGhlIHByYXllciBpcyBvdmVyLCB0aGUgbW9zYWljcyBhcmUgb3BlbmVkIGFnYWluLiBBbW9uZyB0aGUgbW9zYWljcyBhbmQgZnJlc2NvZXMgdGhhdCBhcmUgY292ZXJlZCBkdXJpbmcgcHJheWVyIGFyZSB0aGUgQWJzaXMgTW9zYWljIChUaGVvdG9rb3MgTW9zYWljKSwgdGhlIEdhYnJpZWwgbW9zYWljIG5leHQgdG8gaXQgYW5kIHRoZSBTZXJhcGhpbSBBbmdlbHMgZnJlc2NvZXMgb24gdGhlIHBlbmRhbnRzLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiZmFjdHMtYWJvdXQtaGFnaWEtc29waGlhLWFyY2hpdGVjdHVyZS1hbmQtc3RydWN0dXJlXCI+PHN0cm9uZz5GYWN0cyBBYm91dCBIYWdpYSBTb3BoaWEgQXJjaGl0ZWN0dXJlIGFuZCBTdHJ1Y3R1cmU8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyNDgsXCJ3aWR0aFwiOlwiNzAycHhcIixcImhlaWdodFwiOlwiYXV0b1wifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBpcy1yZXNpemVkXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTI0OFwiIHN0eWxlPVwid2lkdGg6NzAycHg7aGVpZ2h0OmF1dG9cIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJjb2x1bW5zLWFuZC1tYXJibGVzLW9mLWhhZ2lhLXNvcGhpYS1icm91Z2h0LWZyb20tYW5jaWVudC1jaXRpZXNcIj48c3Ryb25nPkNvbHVtbnMgYW5kIG1hcmJsZXMgb2YgSGFnaWEgU29waGlhIGJyb3VnaHQgZnJvbSBhbmNpZW50IGNpdGllczwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkZvciB0aGUgcmVjb25zdHJ1Y3Rpb24gb2YgdGhlIGNodXJjaCwgSXVzdGluaWFuIG9yZGVyZWQgbWF0ZXJpYWxzIGZyb20gYWxsIG92ZXIgdGhlIGVtcGlyZSwgYW5kIGhlIGFsc28gaGFkIG1hdGVyaWFscyBmcm9tIG9sZCBidWlsZGluZ3MgY29sbGVjdGVkLiBFaWdodCBsYXJnZSByZWQgcG9ycGh5cnkgY29sdW1ucyB3ZXJlIGJyb3VnaHQgZnJvbSBIZWxpb3BvbGlzIGluIEVneXB0LCBjb2x1bW5zIGZyb20gdGhlIFRlbXBsZSBvZiBBcnRlbWlzIGluIEVwaGVzb3MgaW4gd2VzdGVybiBBbmF0b2xpYSwgY29sdW1ucyBmcm9tIEt5emlrb3MgYW5kIEJhXHUyMDE5bGViZWsgaW4gU3lyaWEuIEluIGFkZGl0aW9uLCBtYXJibGVzIG9mIGRpZmZlcmVudCB0eXBlcyBhbmQgY29sb3JzIGZyb20gZGlmZmVyZW50IHJlZ2lvbnMgd2VyZSB0cmFuc3BvcnRlZCBoZXJlLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtZG9tZVwiPjxzdHJvbmc+SGFnaWEgU29waGlhPC9zdHJvbmc+Jm5ic3A7PHN0cm9uZz5Eb21lPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjYwLFwid2lkdGhcIjpcIjczOXB4XCIsXCJoZWlnaHRcIjpcImF1dG9cIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2UgaXMtcmVzaXplZFwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1pbnRlcmlvci1kb21lLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTI2MFwiIHN0eWxlPVwid2lkdGg6NzM5cHg7aGVpZ2h0OmF1dG9cIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgbW9zdCBpbXBvcnRhbnQgaW5ub3ZhdGlvbiBpbiB0aGUgYXJjaGl0ZWN0dXJlIG9mIEhhZ2lhIFNvcGhpYSB3YXMgdGhlIHNpemUgYW5kIGhlaWdodCBvZiB0aGUgZG9tZSBkb21pbmF0aW5nIHRoZSBjZW50cmFsIHNwYWNlLCB3aGljaCB3YXMgdW51c3VhbGx5IGxhcmdlIGZvciBhIGNodXJjaC5UaGUgaGVpZ2h0IG9mIHRoZSBkb21lIGNvdmVyaW5nIHRoZSBtYWluIHNwYWNlIGlzIDU1LjYwIG1ldGVycyBmcm9tIHRoZSBncm91bmQsIGFuZCBpdHMgZGlhbWV0ZXIgaXMgMzEuODcgbWV0ZXJzIGluIHRoZSBub3J0aC1zb3V0aCBkaXJlY3Rpb24gYW5kIDMwLjg2IG1ldGVycyBpbiB0aGUgZWFzdC13ZXN0IGRpcmVjdGlvbi5XaGVuIEhhZ2lhIFNvcGhpYSB3YXMgYmVpbmcgYnVpbHQsIG1hcmJsZSwgc3RvbmUgYW5kIGJyaWNrcyB3ZXJlIHVzZWQgYnkgdGhlIGFyY2hpdGVjdHMgaW4gdGhlIGNvbnN0cnVjdGlvbiBvZiB0aGUgYnVpbGRpbmcsIGFuZCBsaWdodCBhbmQgc3Ryb25nIGJyaWNrcyBzcGVjaWFsbHkgcHJvZHVjZWQgZnJvbSBSaG9kZXMgc29pbCB3ZXJlIHVzZWQgc28gdGhhdCB0aGUgZG9tZSB3b3VsZCBub3QgY29sbGFwc2UgZWFzaWx5IGluIGVhcnRocXVha2VzLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJnYXRlLW9mLXRoZS1lbXBlcm9yc1wiPjxzdHJvbmc+R2F0ZSBvZiB0aGUgRW1wZXJvcnM8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5DYWxsZWQgdGhlIEVtcGVyb3JcdTIwMTlzIEdhdGUgYmVjYXVzZSBpdCB3YXMgdXNlZCBvbmx5IGJ5IHRoZSBFbXBlcm9yIGFuZCBoaXMgZW50b3VyYWdlLCBpdCBwcm92aWRlcyBhY2Nlc3MgZnJvbSB0aGUgaW5uZXIgbmFydGhleCB0byB0aGUgbWFpbiBzcGFjZSBpbiBIYWdpYSBTb3BoaWEuIEl0IGlzIHRoZSBsYXJnZXN0IGRvb3Igb2YgSGFnaWEgU29waGlhIGFuZCBpcyBtYWRlIG9mIG9hayB3b29kLCA3IG1ldGVycyBoaWdoLCB3aXRoIGEgYnJvbnplIGZyYW1lLiBEYXRpbmcgdG8gdGhlIDZ0aCBjZW50dXJ5LCB0aGUgd2luZ3Mgb2YgdGhlIGRvb3IgYXJlIGNvdmVyZWQgd2l0aCBicm9uemUgcGxhdGVzLiBFYXN0ZXJuIFJvbWFuIHNvdXJjZXMgY2xhaW0gdGhhdCBpdCB3YXMgbWFkZSBmcm9tIHRoZSB3b29kIG9mIE5vYWhcdTIwMTlzIEFyay4gVGhlIG1vc2FpYyBvbiBpdCBpcyB0aGUgZmlyc3QgbW9zYWljIG9mIEhhZ2lhIFNvcGhpYSB0byBiZSB1bmVhcnRoZWQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtaW50ZXJpb3ItcGFydHNcIj48c3Ryb25nPkhhZ2lhIFNvcGhpYSBJbnRlcmlvciBQYXJ0czwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImFwc2UtbW9zYWljLWluLWhhZ2lhLXNvcGhpYVwiPjxzdHJvbmc+QXBzZSBNb3NhaWM8L3N0cm9uZz4mbmJzcDtpbiZuYnNwOzxzdHJvbmc+SGFnaWEgU29waGlhPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SXQgaXMgdGhvdWdodCB0aGF0IGFsbCBmaWd1cmVkIG1vc2FpY3MgaW4gdGhlIGJ1aWxkaW5nIHdlcmUgcmVtb3ZlZCB3aXRoIHRoZSBJY29ub2NsYXNtIHBlcmlvZC4gSW4gODQzLCBhZnRlciB0aGUgZW5kIG9mIHRoaXMgcGVyaW9kLCB0aGUgZmlyc3QgZmlndXJhbCBtb3NhaWMsIHRoZSBBcHNlIE1vc2FpYywgd2FzIGNyZWF0ZWQgaW4gSGFnaWEgU29waGlhLiBJbiB0aGUgbW9zYWljOyBNYXJ5IGlzIGRlcGljdGVkIGluIHRoZSBjZW50ZXIsIHNpdHRpbmcgb24gYSBjdXNoaW9uZWQgdGhyb25lIGRlY29yYXRlZCB3aXRoIHByZWNpb3VzIHN0b25lcy4gSW4gaGVyIGxhcCwgc2hlIGhvbGRzIHRoZSBjaGlsZCBKZXN1cy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwidHdvLWFuZ2Vscy1pbi10aGUtYXBzZVwiPjxzdHJvbmc+VHdvIEFuZ2VscyBpbiB0aGUgQXBzZTwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPk9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBhcHNlIGlzIGEgZGVwaWN0aW9uIG9mIEdhYnJpZWwgYW5kIG9uIHRoZSBsZWZ0IHNpZGUgaXMgYSBkZXBpY3Rpb24gb2YgTWljaGFlbC4gV2hpbGUgdGhlIGRlcGljdGlvbiBvZiBHYWJyaWVsIGhhcyBzdXJ2aXZlZCBmb3IgdGhlIG1vc3QgcGFydCwgdGhlIGhvbHkgd2luZyB0aXAgYW5kIHBhcnQgb2YgdGhlIGZvb3QgaGF2ZSBzdXJ2aXZlZCBpbiB0aGUgZGVwaWN0aW9uIG9mIE1pY2hhZWwuIEl0IGlzIHRob3VnaHQgdGhhdCB0aGUgZGVwaWN0aW9uIG9mIHRoZXNlIHR3byBhbmdlbHMgd2FzIGFkZGVkIHRvIHRoZSBhcHNlIGluIHRoZSBzZWNvbmQgaGFsZiBvZiB0aGUgOXRoIGNlbnR1cnkuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInZpa2luZy13cml0aW5nLWluLWhhZ2lhLXNvcGhpYVwiPjxzdHJvbmc+VmlraW5nIFdyaXRpbmc8L3N0cm9uZz4mbmJzcDtpbiZuYnNwOzxzdHJvbmc+SGFnaWEgU29waGlhPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SW4gdGhlIGNlbnRlciBvZiB0aGUgc291dGggZ2FsbGVyeSwgYWJvdmUgdGhlIG1hcmJsZSByYWlsaW5ncywgdGhlcmUgaXMgYSBWaWtpbmcgaW5zY3JpcHRpb24gdGhhdCBhcHBlYXJzIHRvIGRhdGUgZnJvbSB0aGUgOXRoIGNlbnR1cnkuIFRoaXMgaW5zY3JpcHRpb24gcmVhZHMgXHUyMDFjSGFsdmRhbiB3YXMgaGVyZVx1MjAxZC4gSXQgaXMgdGhvdWdodCB0byBoYXZlIGJlZW4gd3JpdHRlbiBieSBhIFZpa2luZyBzb2xkaWVyIHdobyB3b3JrZWQgYXMgYSBtZXJjZW5hcnkgaW4gdGhlIEVhc3Rlcm4gUm9tYW4gYXJteS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwibGVvbi12aS1tb3NhaWNcIj48c3Ryb25nPkxlb24gVkkgTW9zYWljPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+RGF0aW5nIHRvIHRoZSAxMHRoIGNlbnR1cnksIHRoZSBtb3NhaWMgaXMgbG9jYXRlZCBvbiB0aGUgRW1wZXJvclx1MjAxOXMgR2F0ZS4gSW4gdGhlIGNlbnRlciBvZiB0aGUgc2NlbmUsIEplc3VzIGlzIGRlcGljdGVkIGhvbGRpbmcgYW4gb3BlbiBCaWJsZSBpbiBoaXMgbGVmdCBoYW5kLiBXaXRoIGhpcyByaWdodCBoYW5kLCBoZSBibGVzc2VzIEVtcGVyb3IgTGVvbiBWSSAoODE2LTkxMiksIHdobyBpcyBkZXBpY3RlZCBwcm9zdHJhdGUgYXQgaGlzIGZlZXQuIE9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBtb3NhaWMgaXMgR2FicmllbCBpbiBhIG1lZGFsbGlvbiwgYW5kIG9uIHRoZSBsZWZ0IHNpZGUgaXMgTWFyeSwgYWxzbyBpbiBhIG1lZGFsbGlvbi48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwib2ZmZXJpbmctbW9zYWljXCI+PHN0cm9uZz5PZmZlcmluZyBNb3NhaWM8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5JdCBpcyBsb2NhdGVkIGFib3ZlIHRoZSBCZWF1dGlmdWwgR2F0ZSBvbiB0aGUgc291dGggc2lkZSBvZiB0aGUgaW5uZXIgbmFydGhleC4gVGhlIG1vc2FpYyBhYm92ZSB0aGUgY2VyZW1vbmlhbCBkb29yIHVzZWQgYnkgdGhlIEVtcGlyZSBhbmQgaXRzIGZhbWlseSB3YXMgdW5lYXJ0aGVkIGJ5IEZvc3NhdGkgaW4gMTg0OSBkdXJpbmcgdGhlIHJlc3RvcmF0aW9uIG9mIEhhZ2lhIFNvcGhpYS4gSW4gdGhlIGNlbnRlciBvZiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiBnb2xkIG1vc2FpY3MsIE1hcnkgYW5kIHRoZSBjaGlsZCBKZXN1cyBhcmUgZGVwaWN0ZWQuIE9uIHRoZSBsZWZ0IHNpZGUgb2YgTWFyeSBpcyBDb25zdGFudGluZSB3aXRoIGEgZmlndXJlIHN5bWJvbGl6aW5nIENvbnN0YW50aW5vcGxlLCBhbmQgb24gdGhlIHJpZ2h0IHNpZGUgaXMgSXVzdGluaWFudXMgd2l0aCBhIGZpZ3VyZSBzeW1ib2xpemluZyBIYWdpYSBTb3BoaWEuIEl0IGlzIGV4cGxhaW5lZCBoZXJlIHRoYXQgdGhlIGVtcGVyb3JzIG9mZmVyZWQgdGhlIGNpdHkgYW5kIHRoZSBjaHVyY2ggdG8gTWFyeSB0byBwcm90ZWN0IHRoZSBjaXR5IGFuZCB0aGUgY2h1cmNoLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJhbmdlbC1kZXBpY3Rpb25zLW9uLXRoZS1kb21lLW9mLWhhZ2lhLXNvcGhpYVwiPjxzdHJvbmc+QW5nZWwgRGVwaWN0aW9ucyBvbiB0aGUgRG9tZTwvc3Ryb25nPiZuYnNwO29mJm5ic3A7PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5JbiBlYWNoIGNvcm5lciBvZiB0aGUgcGVuZGVudGl2ZXMsIFNlcmFwaGltIGFuZ2Vscywgd2hvIGFyZSBiZWxpZXZlZCB0byBndWFyZCB0aGUgdGhyb25lIG9mIEdvZCBpbiBoZWF2ZW4sIGFyZSBkZXBpY3RlZC4gVGhlIGFuZ2VsIGRlcGljdGlvbnMgaW4gdGhlIGVhc3Rlcm4gcGFydCBhcmUgbWFkZSBvZiBtb3NhaWMuIFRoZSBvbmVzIGluIHRoZSB3ZXN0IHdlcmUgcmVub3ZhdGVkIGFzIGZyZXNjb2VzIGJlY2F1c2UgdGhleSB3ZXJlIGRhbWFnZWQgZHVyaW5nIHRoZSBFYXN0ZXJuIFJvbWFuIFBlcmlvZC4gVGhlIGFuZ2VsIGRlcGljdGlvbnMgd2VyZSBjb3ZlcmVkIGR1cmluZyB0aGUgT3R0b21hbiBQZXJpb2QuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInBhdHJpYXJjaC1tb3NhaWNzLWluLXR5bXBhbm9uXCI+PHN0cm9uZz5QYXRyaWFyY2ggTW9zYWljcyBpbiBUeW1wYW5vbjwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkFsdGhvdWdoIHRoZWlyIGV4YWN0IGRhdGUgb2YgY29uc3RydWN0aW9uIGlzIHVua25vd24sIHRoZXNlIG1vc2FpY3MsIHdoaWNoIGFyZSB0aG91Z2h0IHRvIGhhdmUgYmVlbiBtYWRlIGJldHdlZW4gdGhlIDl0aCBhbmQgMTB0aCBjZW50dXJpZXMsIGFyZSBsb2NhdGVkIGluIGhhbGYtYXJjaGVkIG5pY2hlcyBpbiB0aGUgdHltcGFub24gd2FsbHMgb24gdGhlIG5vcnRoIHNpZGUgb2YgdGhlIGJ1aWxkaW5nLiBPbmx5IHRocmVlIG9mIHRoZSBwYXRyaWFyY2ggZmlndXJlcyBkZXBpY3RlZCBpbiB0aGUgbW9zYWljcyBoYXZlIHN1cnZpdmVkIGluIGdvb2QgcHJlc2VydmF0aW9uLiBUaGUgZmlyc3QgbmljaGUgZGVwaWN0cyBJZ25hdGlvcyB0aGUgWW91bmdlciwgUGF0cmlhcmNoIG9mIENvbnN0YW50aW5vcGxlLCB0aGUgZm91cnRoIG5pY2hlIGRlcGljdHMgU3QuIElvYW5uZXMgQ2hyeXNvc3RvbW9zLCBQYXRyaWFyY2ggb2YgQ29uc3RhbnRpbm9wbGUsIGFuZCB0aGUgc2l4dGggbmljaGUgZGVwaWN0cyBTdC4gSWduYXRpb3MgVGhlb3Bob3JvcywgUGF0cmlhcmNoIG9mIEFudGlvY2hlaWEuIFRoZSBmaWd1cmUgZGVwaWN0ZWQgaW4gdGhlIHNldmVudGggbmljaGUgaXMgdGhvdWdodCB0byBiZSBBdGhhbmFzaXVzLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJlbXBlcm9yLWFsZXhhbmRlci1tb3NhaWNcIj48c3Ryb25nPkVtcGVyb3IgQWxleGFuZGVyIE1vc2FpYzwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBtb3NhaWMgaW4gdGhlIHNvdXRod2VzdGVybiBwYXJ0IG9mIHRoZSBub3J0aCBnYWxsZXJ5IGRlcGljdHMgaGlzIGJyb3RoZXIgRW1wZXJvciBBbGV4YW5kZXIgKDkxMi05MTMpLCB3aG9tIExlb24gVkkgbWFkZSBhIHBhcnRuZXIgaW4gaGlzIHJlaWduLiBEYXRlZCB0byB0aGUgMTB0aCBjZW50dXJ5LCBpdCBpcyBvbmUgb2YgdGhlIG1vc3QgaW50YWN0IG1vc2FpY3MgYW1vbmcgdGhlIEhhZ2lhIFNvcGhpYSBtb3NhaWNzLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ6b2UtYW5kLWtvbW5lbm9zLW1vc2FpY3NcIj48c3Ryb25nPlpvZSBhbmQgS29tbmVub3MgTW9zYWljczwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBab2UgTW9zYWljLCBvbmUgb2YgdGhlc2UgbW9zYWljcyBvbiB0aGUgd2FsbCBhdCB0aGUgZWFzdGVybiBlbmQgb2YgdGhlIHNvdXRoIGdhbGxlcnkgb2YgSGFnaWEgU29waGlhLCBkYXRlcyB0byB0aGUgZmlyc3QgaGFsZiBvZiB0aGUgMTF0aCBjZW50dXJ5LiBJbiBpdHMgcHJlc2VudCBmb3JtLCBpdCBkZXBpY3RzIENocmlzdCBzZWF0ZWQgaW4gdGhlIGNlbnRlciBhbmQgRW1wcmVzcyBab2UgYW5kIGhlciBodXNiYW5kIEVtcGVyb3IgQ29uc3RhbnRpbmUgSVggKDEwNDItMTA1NSkgcGxhY2VkIG9uIGVpdGhlciBzaWRlIG9mIGhpbS4gV2hpbGUgdGhlIHByZXNlbnQgdmVyc2lvbiBvZiB0aGUgbW9zYWljIGRlcGljdHMgQ29uc3RhbnRpbmUgSVgsIHRoZSBtb3NhaWMgd2FzIHByb2JhYmx5IGZpcnN0IHBhaW50ZWQgZHVyaW5nIHRoZSByZWlnbiBvZiBab2VcdTIwMTlzIGZpcnN0IGh1c2JhbmQgUm9tYW5vcyBJSUkgKDEwMjgtMTAzNCkuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBLb21uZW5vcyBNb3NhaWMgZGVwaWN0cyBNYXJ5IHN0YW5kaW5nIGluIHRoZSBjZW50ZXIgaG9sZGluZyB0aGUgY2hpbGQgSmVzdXMgaW4gZnJvbnQgb2YgaGVyIGFuZCBFbXBlcm9yIElvYW5uZXMgSUkgS29tbmVub3MgKDExMTgtMTE0MykgYW5kIGhpcyB3aWZlIEVtcHJlc3MgRWlyZW5lIG9uIGVpdGhlciBzaWRlLiBPbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgbW9zYWljIGlzIHRoZWlyIHNvbiBBbGV4aW9zLlRoZSBzdWJqZWN0IG9mIHRoZXNlIHR3byBtb3NhaWNzIGlzIGdlbmVyYWxseSBhY2NlcHRlZCB0byBiZSB0aGUgZG9uYXRpb25zIG1hZGUgYnkgdGhlIGVtcGVyb3JzIHRvIEhhZ2lhIFNvcGhpYS5UaGUgbW9uZXkgcG91Y2hlcyBpbiB0aGUgaGFuZHMgb2YgdGhlIGVtcGVyb3JzIGluIHRoZSBtb3NhaWNzIHByb3ZlIHRoaXMuMTUtIFRvbWJzdG9uZSBvZiBDb21tYW5kZXIgSGVucmljdXMgRGFuZG9sb1RoZSB0b21ic3RvbmUgb3Bwb3NpdGUgdGhlIERlaXNpcyBNb3NhaWMgYmVsb25ncyB0byBDb21tYW5kZXIgSGVucmljdXMgRGFuZG9sdSwgd2hvIGxlZCB0aGUgSVZ0aCBDcnVzYWRlIGFuZCBkaWVkIGluIENvbnN0YW50aW5vcGxlIGluIDEyMDUuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImRlaXNpcy1jb21wb3NpdGlvbi1pbi1oYWdpYS1zb3BoaWFcIj48c3Ryb25nPkRlaXNpcyBDb21wb3NpdGlvbjwvc3Ryb25nPiZuYnNwO2luJm5ic3A7PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgRGVpc2lzIE1vc2FpYyBvbiB0aGUgcGVkaW1lbnQgb2YgdGhlIGRvb3IgbGVhZGluZyB0byB0aGUgZ2FsbGVyeSBpbiB0aGUgcHJpZXN0XHUyMDE5cyByb29tIGlzIG9uZSBvZiB0aGUgbW9zdCBmYW1vdXMgbW9zYWljcyBvZiBIYWdpYSBTb3BoaWEuQWx0aG91Z2ggdGhlcmUgYXJlIGRpZmZlcmVudCBvcGluaW9ucyBhYm91dCBpdHMgZGF0aW5nLCB0aGUgbW9zYWljLCB3aGljaCBpcyBhY2NlcHRlZCB0byBoYXZlIGJlZW4gbWFkZSBpbiB0aGUgMTN0aCBjZW50dXJ5LCBpcyBjb25zaWRlcmVkIGFuIGltcG9ydGFudCBiZWdpbm5pbmcgaW4gRWFzdGVybiBSb21hbiBQYWludGluZyBBcnQuVGhlIG1vc2FpYyBkZXBpY3RzIEplc3VzIGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjZW5lIHdpdGggSW9hbm5lcyBQcm9kcm9tb3Mgb24gdGhlIHJpZ2h0IGFuZCBNYXJ5IG9uIHRoZSBsZWZ0LiBNYXJ5IGFuZCBJb2FubmVzIFByb2Ryb21vcyBhcmUgZGVwaWN0ZWQgYXMgcHJheWluZyB0byBKZXN1cyBmb3IgdGhlIGZvcmdpdmVuZXNzIG9mIGh1bWFuaXR5IG9uIHRoZSBEYXkgb2YgSnVkZ21lbnQuIEFsbCB0aHJlZSBmaWd1cmVzIHJlZmxlY3QgdGhlIEhlbGxlbmlzdGljIFBlcmlvZCBkZXBpY3Rpb24gYXJ0LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJvbXBoYWxpb24taW4taGFnaWEtc29waGlhXCI+PHN0cm9uZz5PbXBoYWxpb248L3N0cm9uZz4mbmJzcDtpbiZuYnNwOzxzdHJvbmc+SGFnaWEgU29waGlhPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIG9tcGhhbGlvbiwgdGhlIHJvb20gd2hlcmUgdGhlIGVtcGVyb3JzIHdlcmUgY2VyZW1vbmlhbGx5IGNyb3duZWQgaW4gRWFzdGVybiBSb21lLCBpcyBhbiBhcmVhIHdoZXJlIGNpcmNsZXMgb2YgZGlmZmVyZW50IGNvbG9ycyBhbmQgc2l6ZXMgYXJvdW5kIGEgbGFyZ2UgbWFyYmxlIGNpcmNsZSBhbmQgb3B1cyBzZWN0aWxlIHN0eWxlIGRlY29yYXRpb24gYXJlIHNlZW4gaW4gdGhlIHBhcnRzIHdoZXJlIHRoZXkgbWVldC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaGFnaWEtc29waGlhLXdpc2gtY29sdW1uXCI+PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz4mbmJzcDs8c3Ryb25nPldpc2ggQ29sdW1uPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIG5vcnRod2VzdGVybiBjb2x1bW4gd2l0aCBhIGNhcnZlZCBjZW50ZXIgaXMgY2FsbGVkIHRoZSBzd2VhdGluZyBjb2x1bW4gb3IgdGhlIHdpc2hpbmcgY29sdW1uLiBUaGVyZSBhcmUgc2V2ZXJhbCBydW1vcnMgYWJvdXQgdGhlIGNvbHVtbi5BY2NvcmRpbmcgdG8gb25lIG9mIHRoZW07IEVtcGVyb3IgSXVzdGluaWFudXMsIHdoaWxlIHdhbGtpbmcgYXJvdW5kIHRoZSBidWlsZGluZyBpbiBhIHNldmVyZSBoZWFkYWNoZSwgcmVhbGl6ZWQgdGhhdCBoaXMgaGVhZGFjaGUgd2FzIGdvbmUgYXMgc29vbiBhcyBoZSBsZWFuZWQgYWdhaW5zdCB0aGlzIGNvbHVtbiwgYW5kIHdoZW4gdGhpcyBldmVudCB3YXMgaGVhcmQgYW1vbmcgdGhlIHBlb3BsZSwgaXQgYmVnYW4gdG8gYmUgYmVsaWV2ZWQgdGhhdCB0aGlzIGNvbHVtbiB3YXMgaGVhbGluZy4gQWNjb3JkaW5nIHRvIGFub3RoZXIgcnVtb3I7IGFmdGVyIHRoZSBidWlsZGluZyB3YXMgY29udmVydGVkIGludG8gYSBtb3NxdWUsIHRoZSBmaXJzdCBGcmlkYXkgcHJheWVyIHRvIGJlIHBlcmZvcm1lZCBoZXJlIGNvdWxkIG5vdCBiZSBzdGFydGVkIGJlY2F1c2UgdGhlIGRpcmVjdGlvbiBvZiB0aGUgYnVpbGRpbmcgd2FzIG5vdCBmYWNpbmcgdGhlIEthYWJhLCBidXQgYXQgdGhhdCB0aW1lIFx1MjAxY0hcdTAxMzF6XHUwMTMxciBBbGF5aGlzc2VsYW1cdTIwMWQgY2FtZSBhbmQgdHJpZWQgdG8gdHVybiB0aGUgZGlyZWN0aW9uIG9mIHRoZSBidWlsZGluZyB0byB0aGUgS2FhYmEgYnkgdGFraW5nIHBvd2VyIGZyb20gdGhpcyBjb2x1bW4uIEhvd2V2ZXIsIGl0IGlzIHNhaWQgdGhhdCB0aGlzIGluY2lkZW50IHdhcyBub3RpY2VkIGJ5IGEgbWVtYmVyIG9mIHRoZSBwdWJsaWMgYW5kIGhlIGRpc2FwcGVhcmVkIGJlZm9yZSBoZSBjb3VsZCB0dXJuIHRoZSBtb3NxdWUuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBoYWJpdCB0aGF0IGhhcyBzdXJ2aXZlZCBmcm9tIHRoZSBydW1vcnMgdG8gdGhlIHByZXNlbnQgZGF5IGlzIHRoYXQgcGVvcGxlIG1ha2UgYSB3aXNoIGJ5IHJvdGF0aW5nIHRoZWlyIHRodW1icyBjbG9ja3dpc2Ugb25lIGZ1bGwgdHVybiBpbiB0aGlzIGdyb292ZSBpbiB0aGUgcGlsbGFyLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtbWluYXJldHNcIj48c3Ryb25nPkhhZ2lhIFNvcGhpYTwvc3Ryb25nPiZuYnNwOzxzdHJvbmc+TWluYXJldHM8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5BZnRlciB0aGUgSGFnaWEgU29waGlhIGNodXJjaCB3YXMgY29udmVydGVkIGludG8gYSBtb3NxdWUgYWZ0ZXIgdGhlIGNvbnF1ZXN0IG9mIElzdGFuYnVsLCBhIHdvb2RlbiBtaW5hcmV0IHdhcyBidWlsdCBieSBGYXRpaCBvbiBvbmUgb2YgdGhlIGhhbGYgZG9tZXMsIGJ1dCB0aGlzIG1pbmFyZXQgaGFzIG5vdCBzdXJ2aXZlZCB0byB0aGUgcHJlc2VudCBkYXkuVGhlIG1pbmFyZXQgaW4gdGhlIHNvdXRoZWFzdCBiZWxvbmdzIHRvIHRoZSByZWlnbiBvZiBTdWx0YW4gTWVobWV0IHRoZSBDb25xdWVyb3Igb3IgQmF5ZXppZCBJSS4gVGhlIG1pbmFyZXQgb24gdGhlIEJhYi1cdTAxMzEgSFx1MDBmY21heXVuIHNpZGUgaXMgdGhvdWdodCB0byBoYXZlIGJlZW4gYnVpbHQgYnkgTWltYXIgU2luYW4gSUkgZHVyaW5nIHRoZSByZWlnbiBvZiBTZWxpbSBJSSBkdWUgdG8gaXRzIHNpbWlsYXJpdHkgd2l0aCB0aGUgbWluYXJldHMgb2YgdGhlIFNlbGltaXllIE1vc3F1ZSBpbiBFZGlybmUuVGhlIHR3aW4gbWluYXJldHMgb24gdGhlIHNvdXRod2VzdCBhbmQgbm9ydGh3ZXN0IHNpZGVzIHdlcmUgYnVpbHQgYnkgTWltYXIgU2luYW4gZHVyaW5nIHRoZSByZWlnbiBvZiBTdWx0YW4gTXVyYWQgSUlJLkR1cmluZyB0aGUgcmVwYWlycyBpbiB0aGUgMTV0aCwgMTZ0aCBhbmQgMTl0aCBjZW50dXJpZXMsIG9ybmFtZW50cyB3ZXJlIGFkZGVkIHRvIHRoZSBtaW5hcmV0cyBhY2NvcmRpbmcgdG8gdGhlIHN0eWxlIG9mIHRoZSBwZXJpb2QuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhhZ2lhLXNvcGhpYS1idXR0cmVzc2VzXCI+PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz4mbmJzcDs8c3Ryb25nPkJ1dHRyZXNzZXM8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5EdWUgdG8gdGhlIHdlaWdodCBvZiB0aGUgZG9tZSwgdGhlIHdhbGxzIG9mIHRoZSBIYWdpYSBTb3BoaWEgd2VyZSBzdWJqZWN0ZWQgdG8gY2VydGFpbiBzdHJlbmd0aGVuaW5nIGludGVydmVudGlvbnMgZHVyaW5nIHRoZSBFYXN0ZXJuIFJvbWFuIEVtcGlyZSBhbmQgdGhlIE90dG9tYW4gUGVyaW9kIGR1ZSB0byB0aGUgb3V0d2FyZCBleHBhbnNpb24sIGJ1dCB0aGVzZSB3ZXJlIG5vdCBzdWZmaWNpZW50LiBGb3IgdGhpcyByZWFzb24sIGJvdGggdGhlIEVhc3Rlcm4gUm9tYW5zIGFuZCB0aGUgT3R0b21hbnMgdHJpZWQgdG8gcHJldmVudCB0aGUgcHJlc3N1cmUgb2YgdGhlIGRvbWUgYnkgYnVpbGRpbmcgYnV0dHJlc3NlcyBmcm9tIHRoZSBvdXRzaWRlIG9mIHRoZSBidWlsZGluZy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+U2luYW4gdGhlIEFyY2hpdGVjdCBmb3VuZCBhIHNvbHV0aW9uIHRvIHRoaXMgcHJvYmxlbSBieSBzdXBwb3J0aW5nIHRoZSBzdHJ1Y3R1cmUgd2l0aCBhcmNoIGFkZGl0aW9ucyBhbmQgaGVhdnkgc3VwcG9ydGluZyB3YWxscyBpbiB0aGUgZ2FwcyBiZXR3ZWVuIHRoZSBwaWVycyBhbmQgc2lkZSB3YWxscyBjYXJyeWluZyB0aGUgZG9tZS5UaGUgc3VwcG9ydGluZyB3YWxscyBidWlsdCBkdXJpbmcgdGhlIEVhc3Rlcm4gUm9tYW4gcGVyaW9kIHdlcmUgcmVidWlsdCBhbmQgZW5jbG9zZWQgaW4gc3RvbmUgZW5jbG9zdXJlcy5Tb21lIG9mIHRoZSAyNCBidXR0cmVzc2VzLCA3IGluIHRoZSBFYXN0LCA0IGluIHRoZSBTb3V0aCwgNCBpbiB0aGUgTm9ydGgsIDUgaW4gdGhlIFdlc3QgYW5kIDQgaW4gdGhlIHdlaWdodCB0b3dlcnMsIHdlcmUgYnVpbHQgaW4gdGhlIEVhc3Rlcm4gUm9tYW4gcGVyaW9kIGFuZCBzb21lIGluIHRoZSBPdHRvbWFuIHBlcmlvZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaGFnaWEtc29waGlhLW1hcmJsZS1jdWJlc1wiPjxzdHJvbmc+SGFnaWEgU29waGlhPC9zdHJvbmc+Jm5ic3A7PHN0cm9uZz5NYXJibGUgQ3ViZXM8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5Ud28gY3ViZXMgbWFkZSBvZiBtb25vbGl0aGljIG1hcmJsZSBmcm9tIHRoZSBIZWxsZW5pc3RpYyBQZXJpb2QsIGZvdW5kIGluIHRoZSBhbmNpZW50IGNpdHkgb2YgUGVyZ2Ftb24sIHdlcmUgYnJvdWdodCB0byBIYWdpYSBTb3BoaWEgZHVyaW5nIHRoZSByZWlnbiBvZiBTdWx0YW4gTXVyYWQgSUlJLiBUaGVyZSBhcmUgZmF1Y2V0cyBhdCB0aGUgYm90dG9tIG9mIHRoZSBjdWJlcy5DYXBhYmxlIG9mIGhvbGRpbmcgMTI1MCBsaXRlcnMgb2YgbGlxdWlkLCB0aGVzZSBjdWJlcyB3ZXJlIHVzZWQgdG8gZGlzdHJpYnV0ZSBzaGVyYmV0IGR1cmluZyB0aGUgbGFtcHMgYW5kIEVpZCBwcmF5ZXJzLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtbWluYmFyXCI+PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz4mbmJzcDs8c3Ryb25nPk1pbmJhcjwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBwdWxwaXQsIGJ1aWx0IGR1cmluZyB0aGUgcmVpZ24gb2YgU3VsdGFuIE11cmFkIElJSSwgaXMgbG9jYXRlZCB0byB0aGUgcmlnaHQgb2YgdGhlIG1paHJhYi4gRGF0aW5nIGJhY2sgdG8gdGhlIDE2dGggY2VudHVyeSwgdGhlIG1pbmJhciBpcyBvbmUgb2YgdGhlIG1vc3QgYmVhdXRpZnVsIGV4YW1wbGVzIG9mIG1hcmJsZSB3b3JrbWFuc2hpcCBvZiB0aGlzIHBlcmlvZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaHVua2FyLW1haGZpbGktc3VsdGFucy1nYXRoZXJpbmctcGxhY2VcIj48c3Ryb25nPkhcdTAwZmNua1x1MDBlMnIgTWFoZmlsaTwvc3Ryb25nPiZuYnNwOyhTdWx0YW5zIEdhdGhlcmluZyBQbGFjZSk8L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5XaGVuIFN1bHRhbiBBaG1lZCBJSUkgaGFkIEhhZ2lhIFNvcGhpYSBjb21wbGV0ZWx5IG92ZXJoYXVsZWQsIGhlIGhhZCB0aGUgSFx1MDBmY25rYXIgTWFoZmlsaSwgd2hpY2ggaGUgb3JkZXJlZCB3aXRoIGhpcyBvd24gdGFzdGUsIGJ1aWx0IGluIDE3MjguRHVyaW5nIHRoZSBtYWludGVuYW5jZSBhbmQgcmVwYWlyIHdvcmsgY2FycmllZCBvdXQgYnkgU3VsdGFuIEFiZFx1MDBmY2xtZWNpZCBJSSwgdGhpcyBtYWhmaWwgd2FzIHJlcGxhY2VkIHdpdGggYSBuZXcgb25lIGluIDE4NDcuVGhlIEhcdTAwZmNua1x1MDBlMnIgTWFoZmlsaSBjb25zaXN0cyBvZiBhIGhleGFnb25hbCBzZWN0aW9uIG9uIGZpdmUgY29sdW1ucyBhbmQgYSBjb3JyaWRvciBhbHNvIG9uIGNvbHVtbnMuIFRoZSBsb3dlciBwYXJ0IGNvbnNpc3RzIG9mIGEgbWFyYmxlIG9wZW53b3JrIGJhbHVzdHJhZGUgc2xhYi4gVGhlcmUgaXMgYSBnaWxkZWQgd29vZGVuIGNhZ2UgYWJvdmUgaXQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhhZ2lhLXNvcGhpYS1taWhyYWJcIj48c3Ryb25nPkhhZ2lhIFNvcGhpYTwvc3Ryb25nPiZuYnNwOzxzdHJvbmc+TWlocmFiPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIG1paHJhYiwgbG9jYXRlZCBpbiB0aGUgc291dGgtZWFzdCBvZiB0aGUgbWFpbiBzcGFjZSwgd2FzIHJlcGFpcmVkIGFuZCBhZGRlZCB0byBieSB0aGUgT3R0b21hbiBzdWx0YW5zIGZyb20gdGltZSB0byB0aW1lLlJlbm92YXRlZCBpbiB0aGUgMTl0aCBjZW50dXJ5LCB0aGUgbWlocmFiIGhhcyBhIHBvbHlnb25hbCBuaWNoZSB3aXRoIGEgc3VuYnVyc3QgYW5kIHN0YXIgbW90aWZzIGFuZCBhIGhhbGYtZG9tZWQgYXJjaC5NYW55IGdvbGQgc3RhcnMgYXJlIHVzZWQgb24gdGhlIG1paHJhYiBhbmQgaXQgaGFzIGEgZmxhbWJveWFudCBjcm93bi4gT24gYm90aCBzaWRlcyBvZiB0aGUgbWlocmFiIGFyZSBjYW5kbGVzdGlja3MgYnJvdWdodCBmcm9tIHRoZSBwYWxhY2UgY2h1cmNoIG9mIEh1bmdhcmlhbiBLaW5nIE1hdHlhcyBJIGR1cmluZyB0aGUgY29ucXVlc3Qgb2YgQnVkaW4gZHVyaW5nIHRoZSBIdW5nYXJpYW4gY2FtcGFpZ24gb2YgU3VsZWltYW4gdGhlIE1hZ25pZmljZW50ICgxNTIwLTE1NjYpLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ0aWxlcy1hcm91bmQtdGhlLW1paHJhYlwiPjxzdHJvbmc+VGlsZXMgQXJvdW5kIHRoZSBNaWhyYWI8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGVyZSBhcmUgdGlsZSBwYW5lbHMgaW4gdGhlIGNsb2lzdGVycyB0byB0aGUgcmlnaHQgYW5kIGxlZnQgb2YgdGhlIG1paHJhYi4gT24gdGhlIGxlZnQgc2lkZSwgdGhlcmUgaXMgYSAxNnRoIGNlbnR1cnkgSXpuaWsgdGlsZSBwYW5lbCB3aXRoIHBsYW50IG1vdGlmcyBiZWxvbmdpbmcgdG8gdGhlIE9sZCBIXHUwMGZjbmthciBNYWhmaWxpLk9uIHRoZSByaWdodCBzaWRlLCB0aGVyZSBpcyBhIGRlcGljdGlvbiBvZiB0aGUgS2FhYmEgY29uc2lzdGluZyBvZiBlaWdodCBwaWVjZXMgYW5kIGEgZGVwaWN0aW9uIHNob3dpbmcgdGhlIHRvbWIgb2YgdGhlIFByb3BoZXQgTXVoYW1tYWQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImNhbGxpZ3JhcGh5LXBsYXRlcy1pbi10aGUtbWlocmFiLXNlY3Rpb25cIj48c3Ryb25nPkNhbGxpZ3JhcGh5IFBsYXRlcyBpbiB0aGUgTWlocmFiIFNlY3Rpb248L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5PbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgbWlocmFiIGFyZSBjYWxsaWdyYXBoeSBwbGF0ZXMgb2YgT3R0b21hbiBzdWx0YW5zLkZyb20gdG9wIHRvIGJvdHRvbTsgMXN0IGNhbGxpZ3JhcGh5IHBsYXRlLCBTdWx0YW4gTWFobXVkIElJICgxODA4LTE4MzkpLCAybmQgY2FsbGlncmFwaHkgcGxhdGUsIFN1bHRhbiBNYWhtdWQgSUkgKDE4MDgtMTgzOSksIDNyZCBjYWxsaWdyYXBoeSBwbGF0ZSwgU3VsdGFuIEFobWVkIElJSSAoMTcwMy0xNzMwKSwgNHRoIGNhbGxpZ3JhcGh5IHBsYXRlLCBTdWx0YW4gTXVzdGFmYSBJSSAoMTY5NS0xNzAzKSwgNXRoIGNhbGxpZ3JhcGh5IHBsYXRlLCBTdWx0YW4gTXVzdGFmYSBJSSAoMTY5NS0xNzAzKS4gT24gdGhlIGxlZnQgc2lkZSwgdGhlcmUgYXJlIHdvcmtzIGJ5IE1laG1lZCBZZXNhcmkgYW5kIFNoZWlraHVsaXNsYW0gVmVsaXlcdTAwZmNkZGluIEVmZW5kaS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaGFnaWEtc29waGlhLWZvdW50YWluXCI+PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz4mbmJzcDs8c3Ryb25nPkZvdW50YWluPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SXQgd2FzIGJ1aWx0IGJ5IFN1bHRhbiBNYWhtdXQgSSBkdXJpbmcgdGhlIHJlcGFpciBhbmQgY29uc3RydWN0aW9uIG9mIGFkZGl0aW9uYWwgYnVpbGRpbmdzIGF0IEhhZ2lhIFNvcGhpYSAoMTc0MC0xNzQxKS4gSXQgd2FzIGJ1aWx0IG9uIGEgbGFyZ2Ugc2NhbGUgaW4gdGhlIGFyZWEgYmV0d2VlbiB0aGUgZ2F0ZSBhbmQgdGhlIFNcdTAxMzFieWFuIFNjaG9vbCwgd2hpY2ggd2FzIGJ1aWx0IGluIHRoZSBhcmVhIHdoZXJlIHRoZSB3ZXN0IGVudHJhbmNlIG9mIHRoZSBidWlsZGluZyB3YXMgbm90IHVzZWQgZm9yIGEgbG9uZyB0aW1lLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgZm91bnRhaW4gaGFzIGEgcG9ydGljbyB3aXRoIGVpZ2h0IHBvaW50ZWQgYXJjaGVzIHdpdGggd2lkZSBvcGVuaW5ncyBiYXNlZCBvbiBlaWdodCBjb2x1bW5zIHdpdGggbXVxYXJuYXMuSW4gdGhlIGNlbnRlciBvZiB0aGUgc3RydWN0dXJlIGlzIGEgbWFyYmxlIHdhdGVyIHBvb2wgd2l0aCAxNiBzZWN0aW9ucy5JbiB0aGUgY2VudGVyIG9mIHRoZSBwb29sIGlzIGEgbWFyYmxlIGZvdW50YWluIGJlbGx5LkEgc21hbGwgZG9tZSByaXNlcyBpbiB0aGUgY2VudGVyIG9mIHRoZSB3b29kZW4gY2Fub3B5LiBUaGUgaW5zaWRlIG9mIHRoZSBkb21lIGlzIGRpdmlkZWQgaW50byBzZWN0aW9ucyB3aXRoIGdpbGRlZCBzbGF0cyBvbiBhIGJsdWUgYmFja2dyb3VuZC4gVGhlIGdlbmVyYWwgYXJjaGl0ZWN0dXJlIG9mIHRoZSBidWlsZGluZyBhZGhlcmVzIHRvIHRoZSB0cmFkaXRpb25zIG9mIGNsYXNzaWNhbCBUdXJraXNoIHN0eWxlLiBJbiB0aGUgb3JuYW1lbnRhdGlvbiwgdGhlcmUgYXJlIG1vdGlmcyBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIFR1cmtpc2ggYXJ0IHN0eWxlIGFzIHdlbGwgYXMgbW90aWZzIG1hZGUgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBCYXJvcXVlIHN0eWxlLjI4LSBTdWx0YW4gTWFobXVkIEkgTGlicmFyeTwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgU3VsdGFuIE1haG11ZCBJIExpYnJhcnksIGFsc28ga25vd24gYXMgdGhlIEhhZ2lhIFNvcGhpYSBMaWJyYXJ5LCB3YXMgZm91bmRlZCBieSBTdWx0YW4gTWFobXVkIEkgYW5kIGluYXVndXJhdGVkIG9uIEFwcmlsIDIxLCAxNzQwLkFjY29yZGluZyB0byBoaXN0b3JpYW4gU3ViaGkgTWVobWV0LCB3aGVuIHRoZSBsaWJyYXJ5IHdhcyBmb3VuZGVkLCBpdCBoYWQgYSBjb2xsZWN0aW9uIG9mIDQwMDAgd29ya3MuUGFydCBvZiB0aGlzIGNvbGxlY3Rpb24gY29uc2lzdGVkIG9mIGJvb2tzIGZyb20gdGhlIFRyZWFzdXJ5LWkgQW1pcmUsIHdoaWxlIHRoZSBvdGhlciBwYXJ0IGNvbnNpc3RlZCBvZiBib29rcyBnaWZ0ZWQgdG8gTWFobXVkIEkgYnkgdGhlIEdyYW5kIFZpemllciwgdGhlIFNoZWlraHVsaXNsYW0sIHRoZSBEYXJcdTAwZmNzc2FhZGUgQWdoYSBhbmQgb3RoZXIgc3RhdGVzbWVuLiBUaGUgY2F0YWxvZyBvZiB0aGUgYm9va3MgaGVyZSBpbmNsdWRlcyBhbiBpbnRyb2R1Y3Rpb24gdG8gTWFobXVkIElcdTIwMTlzIGZvdW5kaW5nIG9mIHRoZSBsaWJyYXJ5IGFuZCB0aGUgc2VhbHMgb2YgYXBwcm92YWwgb2YgdGhlIGluc3BlY3RvciBvZiBIYXJlbWV5biBhbmQgdGhlIEFuYXRvbGlhbiBhbmQgUnVtZWxpIGthemFza2VyLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJtb3NhaWMtdHVnaHJhLW9mLXN1bHRhbi1hYmR1bG1lY2lkLWluLWhhZ2lhLXNvcGhpYVwiPjxzdHJvbmc+TW9zYWljIFR1Z2hyYSBvZiBTdWx0YW4gQWJkXHUwMGZjbG1lY2lkPC9zdHJvbmc+Jm5ic3A7aW4mbmJzcDs8c3Ryb25nPkhhZ2lhIFNvcGhpYTwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSB0dWdocmEgY2FydmVkIGluIG1vc2FpYyBvbiBhIHJvdW5kIHBsYXRlIG9uIHRoZSB3YWxsIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBsYXJnZSBkb29yIGJlbG9uZ3MgdG8gU3VsdGFuIEFiZFx1MDBmY2xtZWNpZCAoMTgzOS0xODYxKS4gVGhlIDE5dGggY2VudHVyeSBPdHRvbWFuIHN1bHRhblx1MjAxOXMgdHVnaHJhIG1hZGUgb2YgbW9zYWljcyBpcyBpbXBvcnRhbnQgYXMgaXQgaXMgdGhlIG9ubHkgc3VsdGFuXHUyMDE5cyB0dWdocmEgbWFkZSB3aXRoIG1vc2FpYyBncmFpbnMgaW4gVHVya2lzaCBBcnQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkZvciB0aGUgbW9ub2dyYW0gb2YgU3VsdGFuIEFiZFx1MDBmY2xtZWNpZCwgd2hvIHdhbnRlZCB0aGlzIGltcG9ydGFudCBidWlsZGluZyB0byBiZSBzZXJpb3VzbHkgcmVwYWlyZWQgYW5kIG92ZXJoYXVsZWQsIHRoZSBhcmNoaXRlY3QgRm9zc2F0aSwgd2hvIHdhcyBjb21taXNzaW9uZWQgZm9yIHRoZSByZXBhaXIgb2YgSGFnaWEgU29waGlhLCBzYXcgaXQgYXBwcm9wcmlhdGUgdG8gdXNlIHRoZSBtb3NhaWMgZ3JhaW5zIHRoYXQgd2VyZSBzcGlsbGVkIGR1cmluZyB0aGUgcmVwYWlyIG9mIEhhZ2lhIFNvcGhpYSBhbmQgdGhlbiBjb2xsZWN0ZWQgZm9yIHRoZSBzdWx0YW5cdTIwMTlzIG1vbm9ncmFtLlRodXMsIGhlIGNvbW1pc3Npb25lZCB0aGUgSXRhbGlhbiBtb3NhaWMgYXJ0aXN0IExhbnpvbmkuIExhbnpvbmkgZW5ncmF2ZWQgQWJkXHUwMGZjbG1lY2lkXHUyMDE5cyBtb25vZ3JhbSBvbiBhIHJvdW5kIHBsYXF1ZSB3aXRoIGNvbG9yZWQgbW9zYWljIGdyYWlucyBvbiBhIGJhY2tncm91bmQgY292ZXJlZCB3aXRoIGdvbGQgZ3JhaW5zLiBBdCB0aGUgdGltZSBvZiBpdHMgY3JlYXRpb24sIHRoaXMgd29yayBjb3VsZCBub3QgYmUgcGxhY2VkIGFueXdoZXJlIGFuZCB3YXMgZm9yZ290dGVuLk1hbnkgeWVhcnMgbGF0ZXIsIHRoaXMgd29yayB3YXMgZm91bmQgaW4gdGhlIHdhcmVob3VzZSBvZiB0aGUgVG9wa2FwXHUwMTMxIFBhbGFjZSBNdXNldW0uTGF0ZXIsIHRoZSB0dWdocmEgd2FzIHBsYWNlZCBvbiB0aGUgc2lkZSB3YWxsIG9mIHRoZSBtYWluIGVudHJhbmNlIGtub3duIGFzIHRoZSBFbXBlcm9yXHUyMDE5cyBHYXRlLCB3aGljaCBvcGVucyB0byB0aGUgbWFpbiBzcGFjZSBpbiBIYWdpYSBTb3BoaWEuMzAtIEVpZ2h0IExhcmdlIENhbGxpZ3JhcGh5IFBsYXRlc1RoZXNlIHBsYXRlcyB3ZXJlIHdyaXR0ZW4gaW4gZ29sZCBnaWxkaW5nIG9uIGEgZ3JlZW4gYmFja2dyb3VuZCBtYWRlIG9mIGhlbXAgYnkgdGhlIGNhbGxpZ3JhcGhlciBLYXphc2tlciBNdXN0YWZhIFx1MDEzMHp6ZXQgRWZlbmRpIGR1cmluZyB0aGUgcmVwYWlycyBtYWRlIGJldHdlZW4gMTg0NyBhbmQgMTg0OSBkdXJpbmcgdGhlIHJlaWduIG9mIFN1bHRhbiBBYmRcdTAwZmNsbWVjaWQgKDE4MzktMTg2MSkuVGhlIGVpZ2h0IHBsYXRlcyB3aXRoIHRoZSBuYW1lcyBcdTIwMWNBbGxhaCwgUHJvcGhldCBNdWhhbW1hZCwgRm91ciBDYWxpcGhzOyBQcm9waGV0IEFidSBCYWtyLCBQcm9waGV0IFVtYXIsIFByb3BoZXQgT3NtYW4sIFByb3BoZXQgQWxpIGFuZCBQcm9waGV0IE11aGFtbWFkXHUyMDE5cyBncmFuZHNvbnMgUHJvcGhldCBIYXNhbiBhbmQgUHJvcGhldCBIdXNzZWluXHUyMDFkIGFyZSBrbm93biB0byBiZSBhbW9uZyB0aGUgbGFyZ2VzdCBjYWxsaWdyYXBoeSBwbGF0ZXMgaW4gdGhlIElzbGFtaWMgV29ybGQuIEl0IGlzIGtub3duIHRoYXQgdGhlIHBsYXRlcyBpbiBIYWdpYSBTb3BoaWEsIHdoaWNoIHVuZGVyd2VudCBhIGNoYW5nZSBhZnRlciB0aGUgY29ucXVlc3QsIGNoYW5nZWQgdGhlaXIgY291cnNlIGluIGxpbmUgd2l0aCB0aGUgd2lzaGVzIG9mIHRoZSBzdWx0YW5zIHdobyBjYW1lIHRvIHJ1bGUuIFRoZSBkaWFtZXRlciBvZiB0aGUgZ2lhbnQgcGxhdGVzIGlzIDcuNSBtZXRlcnMgYW5kIHRoZSBsZXR0ZXIgdGhpY2tuZXNzIGlzIDM1IGNtLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT4iLCJwb3N0X3RpdGxlIjoiSGFnaWEgU29waGlhIGluIElzdGFuYnVsIiwicG9zdF9saW5rIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvIiwicG9zdF9mZWF0dXJlZF9pbWFnZSI6IjxkaXYgY2xhc3M9XCJmYy1mZWF0dXJlLWltZ1wiPjxpbWcgbG9hZGluZz1cImxhenlcIiBkZWNvZGluZz1cImFzeW5jXCIgYWx0PVwiSGFnaWEgU29waGlhIGluIElzdGFuYnVsXCIgd2lkdGg9XCIzMDBcIiBoZWlnaHQ9XCIxNzZcIiBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLTItMS0zMDB4MTc2LnBuZ1wiIGNsYXNzPVwid3AtcG9zdC1pbWFnZSAgIHdwZ21wX2ZlYXR1cmVkX2ltYWdlXCIgPjwvZGl2PiIsInBvc3RfY2F0ZWdvcmllcyI6IlRoaW5ncyB0byBkbyBpbiBJU1RBTkJVTCwgVGhpbmdzIHRvIGRvIGluIFRVUktFWSIsInBvc3RfdGFncyI6ImNodXJjaCAvIG1vbmFzdGVyeSwgQ3VsdHVyZSBUb3VyaXNtLCBoaXN0b3JpY2FsIHNpdGUsIG1vc3F1ZSAvIG1hc2ppZCIsIiVfZWRpdF9sb2NrJSI6IjE3MDc0MjY2MTM6MSIsIiVwb3N0X3ZpZXdzX2NvdW50JSI6IjEzNiIsIiVfZWRpdF9sYXN0JSI6IjEiLCIlX3lvYXN0X3dwc2VvX3ByaW1hcnlfY2F0ZWdvcnklIjoiMSIsIiVfeW9hc3Rfd3BzZW9fY29udGVudF9zY29yZSUiOiI2MCIsIiVfeW9hc3Rfd3BzZW9faW5jbHVzaXZlX2xhbmd1YWdlX3Njb3JlJSI6IjkwIiwiJV95b2FzdF93cHNlb19lc3RpbWF0ZWQtcmVhZGluZy10aW1lLW1pbnV0ZXMlIjoiNiIsIiVfeW9hc3Rfd3BzZW9fd29yZHByb29mX3RpbWVzdGFtcCUiOiIiLCIlQXR0cmFjdGlvbiBUeXBlJSI6Ikhpc3RvcmljYWwgU2l0ZSwgTXVzZXVtLCBNb3NxdWUsIENodXJjaCAvIE1vbmFzdGVyeSIsIiVfQXR0cmFjdGlvbiBUeXBlJSI6ImZpZWxkXzY1YjkwNDhkNzAyYzMiLCIlYmVzdF90aW1lX3RvX3Zpc2l0JSI6IiIsIiVfYmVzdF90aW1lX3RvX3Zpc2l0JSI6ImZpZWxkXzY1YjkwNjc3YTEwZGEiLCIlYXZhcmVnZV9yZXF1aXJlZF90aW1lXyUiOiIxLjUiLCIlX2F2YXJlZ2VfcmVxdWlyZWRfdGltZV8lIjoiZmllbGRfNjViOTA2ZmJjMDgxYiIsIiVvcGVuc19hdCUiOiIwOTowMDowMCIsIiVfb3BlbnNfYXQlIjoiZmllbGRfNjViOTA4MTNjMDgxYyIsIiVjbG9zZWRfYXQlIjoiMTc6MDA6MDAiLCIlX2Nsb3NlZF9hdCUiOiJmaWVsZF82NWI5MDg3ODQ5YjVkIiwiJWVudHJhbmNlX2ZlZSUiOiIyNyIsIiVfZW50cmFuY2VfZmVlJSI6ImZpZWxkXzY1YjkwOGIyNjM5ZWYiLCIldHVya2l5ZV9zaXJhbGFtYSUiOiIxMSIsIiVfdHVya2l5ZV9zaXJhbGFtYSUiOiJmaWVsZF82NWI3ZDM4ZmVkZTEyIiwiJXJhbmtpbmdfaW5faXN0YW5idWxfYXR0cmFjdGlvbnMlIjoiMTEiLCIlX3JhbmtpbmdfaW5faXN0YW5idWxfYXR0cmFjdGlvbnMlIjoiZmllbGRfNjViN2Q1MTllZGUxMyIsIiVkcmVzc19jb2RlJSI6IkNsZWFuIHNvY2tzIC8gUHJvcGVyIGRyZXNzIGZvciBMYWRpZXMgcHJvdmlkZWQgYXQgdGhlIGVudHJhbmNlIChCb2R5IGFuZCBIZWFkIG11c3QgYmUgY292ZXJlZCkgLyBNZW46IGF0IGxlYXN0IHQtc2hpcnQgYW5kIFBhbnRzIHVuZGVyIGtuZWUgbGV2ZWwiLCIlX2RyZXNzX2NvZGUlIjoiZmllbGRfNjViOTBhN2M0NDQyNyIsIiV0ZF9wb3N0X3RoZW1lX3NldHRpbmdzJSI6IkhhZ2lhIFNvcGhpYSB3YXMgYSBncmFuZGVzdCBwbGFjZSBvZiB3b3JzaGlwIGZvciBvdmVyIDkwMCB5ZWFycywgYW5kIGFyZ3VhYmx5IHRoZSBtb3N0IHBlcmZlY3QgYW5kIGJlYXV0aWZ1bCBjaHVyY2ggdGhhdCBoYXMgYmVlbiBlcmVjdGVkIGJ5IGFueSBDaHJpc3RpYW4gcGVvcGxlLiAiLCIlX29lbWJlZF8zNWQ1OTgzZTUzYjdkOTRiYjRiM2ViZDA1ZTdjNzRiMyUiOiJ7e3Vua25vd259fSIsIiVvdGhlcl90aXBzJSI6IkNyb3dkZWQgYXQgcHJheWVyIHRpbWVzIiwiJV9vdGhlcl90aXBzJSI6ImZpZWxkXzY1YjkxMDMzYmM5Y2QiLCIlY2l0eSUiOiJJc3RhbmJ1bCIsIiVfY2l0eSUiOiJmaWVsZF82NWMxMWY1OTMyYWM3IiwiJVF1YWxpdHkgU2NvcmUlIjoiMTAwMDAiLCIlX1F1YWxpdHkgU2NvcmUlIjoiZmllbGRfNjViN2Q1MTllZGUxMyIsIiVyYW5rX21hdGhfaW50ZXJuYWxfbGlua3NfcHJvY2Vzc2VkJSI6IjEiLCIlX29lbWJlZF9iMGJkMWFmZTliMTExNDM1Nzc3YjVlNTk2ZDhlNzVmMSUiOiJ7e3Vua25vd259fSIsIiVfb2VtYmVkXzE3MTVjMDdkMjU4NTdjNTQyMDNmNDhkOTgzZGFkMGQ2JSI6IjxpZnJhbWUgdGl0bGU9XCJIYWdpYSBTb3BoaWEgNEstUmVsYXhhdGlvbiBGaWxtIFdpdGggRHJvbmUgMjAyMyBbQWVyaWFsIFZpZXddXCIgd2lkdGg9XCI2OTZcIiBoZWlnaHQ9XCIzOTJcIiBzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9KcXJXSE1Lb2R0az9mZWF0dXJlPW9lbWJlZFwiIGZyYW1lYm9yZGVyPVwiMFwiIGFsbG93PVwiYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPiIsIiVfb2VtYmVkX3RpbWVfMTcxNWMwN2QyNTg1N2M1NDIwM2Y0OGQ5ODNkYWQwZDYlIjoiMTcwNzI0MjkzNCIsIiVyYW5rX21hdGhfc2NoZW1hX0Jsb2dQb3N0aW5nJSI6eyJoZWFkbGluZSI6IiVzZW9fdGl0bGUlIiwiZGVzY3JpcHRpb24iOiIlc2VvX2Rlc2NyaXB0aW9uJSIsImRhdGVQdWJsaXNoZWQiOiIlZGF0ZShZLW0tZFRIOmk6c1ApJSIsImRhdGVNb2RpZmllZCI6IiVtb2RpZmllZChZLW0tZFRIOmk6c1ApJSIsImltYWdlIjp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLCJ1cmwiOiIlcG9zdF90aHVtYm5haWwlIn0sImF1dGhvciI6eyJAdHlwZSI6IlBlcnNvbiIsIm5hbWUiOiIlbmFtZSUifSwiQHR5cGUiOiJCbG9nUG9zdGluZyIsIm1ldGFkYXRhIjp7InRpdGxlIjoiQXJ0aWNsZSIsInR5cGUiOiJ0ZW1wbGF0ZSIsImlzUHJpbWFyeSI6dHJ1ZX19LCIlcmFua19tYXRoX3NjaGVtYV9WaWRlb09iamVjdCUiOnsiQHR5cGUiOiJWaWRlb09iamVjdCIsIm1ldGFkYXRhIjp7InRpdGxlIjoiVmlkZW8iLCJ0eXBlIjoidGVtcGxhdGUiLCJzaG9ydGNvZGUiOiJzLTY1YzExZWMyYTZmZjQiLCJpc1ByaW1hcnkiOnRydWUsInJldmlld0xvY2F0aW9uU2hvcnRjb2RlIjoiW3JhbmtfbWF0aF9yaWNoX3NuaXBwZXRdIiwiY2F0ZWdvcnkiOiIlY2F0ZWdvcmllcyUiLCJ0YWdzIjoiJXRhZ3MlIiwiaXNBdXRvR2VuZXJhdGVkIjp0cnVlfSwibmFtZSI6IkhhZ2lhIFNvcGhpYSA0Sy1SZWxheGF0aW9uIEZpbG0gV2l0aCBEcm9uZSAyMDIzIFtBZXJpYWwgVmlld10iLCJkZXNjcmlwdGlvbiI6IiNIYWdpYVNvcGhpYSAjSGFnaWFTb3BoaWFDb25zdGFudGlub3BsZSAjQ29uc3RhbnRpbm9wbGUgI0lzdGFuYnVsICM0ayAjbW9udW1lbnRzICNjaHJpc3RpYW5jaHVyY2hlcyAjY2hyaXN0aWFuY2h1cmNoU3Vic2NyaWJlOiBodHRwczovL3d3dy55b3V0dWJlLmNvbS9jL0tvbnMuLi4iLCJ1cGxvYWREYXRlIjoiMjAyMi0wOC0xNVQxMjowMDowOC0wNzowMCIsInRodW1ibmFpbFVybCI6IiVwb3N0X3RodW1ibmFpbCUiLCJlbWJlZFVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0pxcldITUtvZHRrIiwiY29udGVudFVybCI6IiIsImR1cmF0aW9uIjoiUFQ5TTEzUyIsIndpZHRoIjoiMTI4MCIsImhlaWdodCI6IjcyMCIsImlzRmFtaWx5RnJpZW5kbHkiOnRydWV9LCIlcmFua19tYXRoX3Nlb19zY29yZSUiOiI4OCIsIiVyYW5rX21hdGhfcHJpbWFyeV9jYXRlZ29yeSUiOiI1NiIsIiVBdmFyZWdlIFZpc2l0aW5nIFRpbWUlIjoiMiIsIiVfQXZhcmVnZSBWaXNpdGluZyBUaW1lJSI6ImZpZWxkXzY1YjkwNmZiYzA4MWIiLCIlT3BlbiBkYXlzJSI6IkV2ZXJ5ZGF5IiwiJV9PcGVuIGRheXMlIjoiZmllbGRfNjViOTA4MTNjMDgxYyIsIiVPcGVucyBhdCUiOiIwOTowMDowMCIsIiVfT3BlbnMgYXQlIjoiZmllbGRfNjViOTA4Nzg0OWI1ZCIsIiVDbG9zZWQgYXQlIjoiMTg6MDA6MDAiLCIlX0Nsb3NlZCBhdCUiOiJmaWVsZF82NWJlYTU2OTc1YmFjIiwiJUxvY2F0aW9uJSI6IlN1bHRhbiBBaG1ldCwgSGFnaWEgU29waGlhLCBBeWFzb2Z5YSBNZXlkYW5cdTAxMzEsIEZhdGloL1x1MDEzMHN0YW5idWwsIFRcdTAwZmNya2l5ZSwgNDEuMDA4NTgzLCAyOC45ODAxNzUsIDE0LCBDaElKSnh3QmtyNjV5aFFScms5RU4yOXZiaU0sIEhhZ2lhIFNvcGhpYSwgTm86MSwgQXlhc29meWEgTWV5ZGFuXHUwMTMxLCBcdTAxMzBzdGFuYnVsLCAzNDEyMiwgVFx1MDBmY3JraXllLCBUUiIsIiVfTG9jYXRpb24lIjoiZmllbGRfNjViOTExMDdhMDRkZSIsIiVRdWFsaXR5X1Njb3JlJSI6IjEwMDAwIiwiJV9RdWFsaXR5X1Njb3JlJSI6ImZpZWxkXzY1YjdkNTE5ZWRlMTMiLCIlY21wbHpfaGlkZV9jb29raWViYW5uZXIlIjoiIiwiJXJhbmslIjoiMDAwMSIsIiVfcmFuayUiOiJmaWVsZF82NWI3ZDUxOWVkZTEzIiwiJXJhbmtfbWF0aF9mb2N1c19rZXl3b3JkJSI6ImhhZ2lhIHNvcGhpYSIsIiVyYW5rX21hdGhfcGlsbGFyX2NvbnRlbnQlIjoib24iLCIlX3RodW1ibmFpbF9pZCUiOiIxMTg5IiwiJXJhbmtfbWF0aF9hbmFseXRpY19vYmplY3RfaWQlIjoiNzEiLCIlX29lbWJlZF8xMjljNDBlNWE4Y2Y2ZTIxOGFhOWFmMWQ5ZjZjZGFiYSUiOiI8aWZyYW1lIHRpdGxlPVwiSGFnaWEgU29waGlhIDRLLVJlbGF4YXRpb24gRmlsbSBXaXRoIERyb25lIDIwMjMgW0FlcmlhbCBWaWV3XVwiIHdpZHRoPVwiNTAwXCIgaGVpZ2h0PVwiMjgxXCIgc3JjPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvSnFyV0hNS29kdGs/ZmVhdHVyZT1vZW1iZWRcIiBmcmFtZWJvcmRlcj1cIjBcIiBhbGxvdz1cImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmU7IHdlYi1zaGFyZVwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4iLCIlX29lbWJlZF90aW1lXzEyOWM0MGU1YThjZjZlMjE4YWE5YWYxZDlmNmNkYWJhJSI6IjE3MDcxNjUyODIiLCIlYnVyc3RfdG90YWxfcGFnZXZpZXdzX2NvdW50JSI6IjIiLCIlX3dwZ21wX2xvY2F0aW9uX2FkZHJlc3MlIjoiU3VsdGFuIEFobWV0LCBBeWFzb2Z5YSBNZXlkYW5cdTAxMzEgTm86MSwgMzQxMjIgRmF0aWgvXHUwMTMwc3RhbmJ1bCwgVFx1MDBmY3JraXllIiwiJV93cGdtcF9sb2NhdGlvbl9jaXR5JSI6IiIsIiVfd3BnbXBfbG9jYXRpb25fc3RhdGUlIjoiXHUwMTMwc3RhbmJ1bCIsIiVfd3BnbXBfbG9jYXRpb25fY291bnRyeSUiOiJUXHUwMGZjcmtpeWUiLCIlX3dwZ21wX21ldGFib3hfbGF0aXR1ZGUlIjoiNDEuMDA4NTgzIiwiJV93cGdtcF9tZXRhYm94X2xvbmdpdHVkZSUiOiIyOC45ODAxNzUiLCIlX3dwZ21wX21ldGFib3hfbG9jYXRpb25fcmVkaXJlY3QlIjoicG9zdCIsIiVfd3BnbXBfbWV0YWJveF9jdXN0b21fbGluayUiOiIiLCIlX3dwZ21wX21hcF9pZCUiOiJhOjE6e2k6MDtzOjE6XCIxXCI7fSIsIiVfd3BnbXBfbWV0YWJveF9tYXJrZXJfaWQlIjoiYTo1OntpOjA7czoxOlwiMVwiO2k6MTtzOjE6XCIyXCI7aToyO3M6MTpcIjNcIjtpOjM7czoxOlwiNFwiO2k6NDtzOjE6XCI1XCI7fSIsIiVfd3BnbXBfbWV0YWJveF90YXhvbW9taWVzX3Rlcm1zJSI6IiIsIiVfd3BnbXBfZXh0ZW5zaW9uc19maWVsZHMlIjoiIiwiJW11c2V1bV9wYXNzXyUiOiJZZXMgSW5jbHVkZWQiLCIlX211c2V1bV9wYXNzXyUiOiJmaWVsZF82NWM1MzYzNDQ2NDg1IiwidGF4b25vbXk9Y2F0ZWdvcnkiOiJUaGluZ3MgdG8gZG8gaW4gSVNUQU5CVUwsIFRoaW5ncyB0byBkbyBpbiBUVVJLRVkiLCJ0YXhvbm9teT1wb3N0X3RhZyI6ImNodXJjaCAvIG1vbmFzdGVyeSwgQ3VsdHVyZSBUb3VyaXNtLCBoaXN0b3JpY2FsIHNpdGUsIG1vc3F1ZSAvIG1hc2ppZCIsInRheG9ub215PXBvc3RfZm9ybWF0IjoiIn0sImljb24iOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL2JlYXV0aWZ1bC5wbmcifSwiaWQiOjM2OSwiaW5mb3dpbmRvd19kaXNhYmxlIjpmYWxzZSwiY2F0ZWdvcmllcyI6W3siaWNvbiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvY2l0eXNxdWFyZS5wbmciLCJuYW1lIjoiSXN0YW5idWwiLCJpZCI6IjEiLCJ0eXBlIjoiY2F0ZWdvcnkiLCJleHRlbnNpb25fZmllbGRzIjp7ImNhdF9vcmRlciI6IiJ9fSx7Imljb24iOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL2FuY2llbnRtb251bWVudC5wbmciLCJuYW1lIjoiSGlzdG9yaWNhbCBQbGFjZXMiLCJpZCI6IjIiLCJ0eXBlIjoiY2F0ZWdvcnkifSx7Imljb24iOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL21vc3F1ZS5wbmciLCJuYW1lIjoiTW9zcXVlIiwiaWQiOiIzIiwidHlwZSI6ImNhdGVnb3J5In0seyJpY29uIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1nb29nbGUtbWFwLWdvbGQvYXNzZXRzL2ltYWdlcy9pY29ucy9jaHVyY2gyLnBuZyIsIm5hbWUiOiJDaHVyY2giLCJpZCI6IjQiLCJ0eXBlIjoiY2F0ZWdvcnkifSx7Imljb24iOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL2JlYXV0aWZ1bC5wbmciLCJuYW1lIjoic2lnaHRzZWVpbmciLCJpZCI6IjUiLCJ0eXBlIjoiY2F0ZWdvcnkifV19LHsic291cmNlIjoicG9zdCIsInRpdGxlIjoiU3VsZXltYW5peWUgTW9zcXVlIElzdGFuYnVsIiwiaW5mb3dpbmRvd19jb250ZW50IjoiPGRpdiBjbGFzcz1cImZjLW1haW5cIj48ZGl2IGNsYXNzPVwiZmMtaXRlbS10aXRsZVwiPlN1bGV5bWFuaXllIE1vc3F1ZSBJc3RhbmJ1bCA8c3BhbiBjbGFzcz1cImZjLWJhZGdlIGluZm9cIj5UaGluZ3MgdG8gZG8gaW4gSVNUQU5CVUwsIFRoaW5ncyB0byBkbyBpbiBUVVJLRVk8L3NwYW4+PC9kaXY+IDxkaXYgY2xhc3M9XCJmYy1pdGVtLWZlYXR1cmVkX2ltYWdlXCI+PGRpdiBjbGFzcz1cImZjLWZlYXR1cmUtaW1nXCI+PGltZyBsb2FkaW5nPVwibGF6eVwiIGRlY29kaW5nPVwiYXN5bmNcIiBhbHQ9XCJTdWxleW1hbml5ZSBNb3NxdWUgSXN0YW5idWxcIiB3aWR0aD1cIjI0MFwiIGhlaWdodD1cIjMwMFwiIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zdWxleW1hbml5ZS1tb3NxdWUtbmlnaHR2aWV3LTI0MHgzMDAuanBnXCIgY2xhc3M9XCJ3cC1wb3N0LWltYWdlICAgd3BnbXBfZmVhdHVyZWRfaW1hZ2VcIiA+PC9kaXY+IDwvZGl2PlRoZSBTdWxleW1hbml5ZSBNb3NxdWUgd2FzIGJ1aWx0IGJ5IHRoZSB3b3JsZC1mYW1vdXMgT3R0b21hbiBhcmNoaXRlY3QgTWltYXIgU2luYW4gYmV0d2VlbiAxNTUxIGFuZCAxNTU4LCBieSBvcmRlciBvZiB0aGUgT3R0b21hbiBTdWx0YW4gU3VsZWltYW4gdGhlIE1hZ25pZmljZW50LiBJdCBpcyB3aWRlbHkgcmVnYXJkZWQgYXMgYW4gYXJjaGl0ZWN0dXJhbCBtYXN0ZXJwaWVjZSBhbmQgaXMgYSBtdXN0LXNlZSBmb3IgYW55b25lIHZpc2l0aW5nIElzdGFuYnVsLiBBbHRob3VnaCBzb21lIGJlbGlldmUgdGhhdCB0aGlzIG1vc3F1ZSB3YXMgY29uc3RydWN0ZWQgZHVyaW5nIFNpbmFuJiM4MjE3O3MgYXBwcmVudGljZSBwZXJpb2QgYW5kIHRoYXQgWyZoZWxsaXA7XTxhZGRyZXNzPjxiPkFkZHJlc3MgOiA8L2I+e21hcmtlcl9hZGRyZXNzfTwvYWRkcmVzcz48YSB0YXJnZXQ9XCJfYmxhbmtcIiAgY2xhc3M9XCJmYy1idG4gZmMtYnRuLXNtYWxsIGZjLWJ0bi1yZWRcIiBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3N1bGV5bWFuaXllLW1vc3F1ZS1pc3RhbmJ1bC8zMjMvXCI+UmVhZCBNb3JlLi4uPC9hPjwvZGl2PiIsImNvbnRlbnQiOiJUaGUgU3VsZXltYW5peWUgTW9zcXVlIHdhcyBidWlsdCBieSB0aGUgd29ybGQtZmFtb3VzIE90dG9tYW4gYXJjaGl0ZWN0IE1pbWFyIFNpbmFuIGJldHdlZW4gMTU1MSBhbmQgMTU1OCwgYnkgb3JkZXIgb2YgdGhlIE90dG9tYW4gU3VsdGFuIFN1bGVpbWFuIHRoZSBNYWduaWZpY2VudC4gSXQgaXMgd2lkZWx5IHJlZ2FyZGVkIGFzIGFuIGFyY2hpdGVjdHVyYWwgbWFzdGVycGllY2UgYW5kIGlzIGEgbXVzdC1zZWUgZm9yIGFueW9uZSB2aXNpdGluZyBJc3RhbmJ1bC4gQWx0aG91Z2ggc29tZSBiZWxpZXZlIHRoYXQgdGhpcyBtb3NxdWUgd2FzIGNvbnN0cnVjdGVkIGR1cmluZyBTaW5hbiYjODIxNztzIGFwcHJlbnRpY2UgcGVyaW9kIGFuZCB0aGF0IFsmaGVsbGlwO10iLCJhZGRyZXNzIjoiU1x1MDBmY2xleW1hbml5ZSwgUHJvZi4gU1x1MDEzMWRkXHUwMTMxayBTYW1pIE9uYXIgQ2QuIE5vOjEsIDM0MTE2IEZhdGloL1x1MDEzMHN0YW5idWwsIFRcdTAwZmNya2l5ZSIsImxvY2F0aW9uIjp7ImxhdCI6IjQxLjAxNjA0NyIsInN0YXRlIjoiXHUwMTMwc3RhbmJ1bCIsImNvdW50cnkiOiJUXHUwMGZjcmtpeWUiLCJsbmciOiIyOC45NjM5NzExIiwib25jbGlja19hY3Rpb24iOiJwb3N0IiwicmVkaXJlY3RfcGVybWFsaW5rIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3N1bGV5bWFuaXllLW1vc3F1ZS1pc3RhbmJ1bC8zMjMvIiwiem9vbSI6NSwiZXh0cmFfZmllbGRzIjp7InBvc3RfZXhjZXJwdCI6IlRoZSBTdWxleW1hbml5ZSBNb3NxdWUgd2FzIGJ1aWx0IGJ5IHRoZSB3b3JsZC1mYW1vdXMgT3R0b21hbiBhcmNoaXRlY3QgTWltYXIgU2luYW4gYmV0d2VlbiAxNTUxIGFuZCAxNTU4LCBieSBvcmRlciBvZiB0aGUgT3R0b21hbiBTdWx0YW4gU3VsZWltYW4gdGhlIE1hZ25pZmljZW50LiBJdCBpcyB3aWRlbHkgcmVnYXJkZWQgYXMgYW4gYXJjaGl0ZWN0dXJhbCBtYXN0ZXJwaWVjZSBhbmQgaXMgYSBtdXN0LXNlZSBmb3IgYW55b25lIHZpc2l0aW5nIElzdGFuYnVsLiBBbHRob3VnaCBzb21lIGJlbGlldmUgdGhhdCB0aGlzIG1vc3F1ZSB3YXMgY29uc3RydWN0ZWQgZHVyaW5nIFNpbmFuJiM4MjE3O3MgYXBwcmVudGljZSBwZXJpb2QgYW5kIHRoYXQgWyZoZWxsaXA7XSIsInBvc3RfY29udGVudCI6IjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIFN1bGV5bWFuaXllIE1vc3F1ZSB3YXMgYnVpbHQgYnkgdGhlIHdvcmxkLWZhbW91cyBPdHRvbWFuIGFyY2hpdGVjdCBNaW1hciBTaW5hbiBiZXR3ZWVuIDE1NTEgYW5kIDE1NTgsIGJ5IG9yZGVyIG9mIHRoZSBPdHRvbWFuIFN1bHRhbiBTdWxlaW1hbiB0aGUgTWFnbmlmaWNlbnQuIEl0IGlzIHdpZGVseSByZWdhcmRlZCBhcyBhbiBhcmNoaXRlY3R1cmFsIG1hc3RlcnBpZWNlIGFuZCBpcyBhIG11c3Qtc2VlIGZvciBhbnlvbmUgdmlzaXRpbmcgSXN0YW5idWwuIEFsdGhvdWdoIHNvbWUgYmVsaWV2ZSB0aGF0IHRoaXMgbW9zcXVlIHdhcyBjb25zdHJ1Y3RlZCBkdXJpbmcgU2luYW4ncyBhcHByZW50aWNlIHBlcmlvZCBhbmQgdGhhdCBoaXMgcmVhbCBtYXN0ZXJwaWVjZSBpcyB0aGUgU2VsaW1peWUgTW9zcXVlIGluIEVkaXJuZSwgVHVya2V5J3MgYm9yZGVyIGNpdHkgb24gRXVyb3BlYW4gdGVycml0b3J5LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjMzMixcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zdWxleW1hbml5ZS1tb3NxdWUtbmlnaHR2aWV3LTgxOXgxMDI0LmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMzMyXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cmFuay1tYXRoL3RvYy1ibG9jayB7XCJoZWFkaW5nc1wiOlt7XCJrZXlcIjpcIjllMzdjMTk2LWU5MzMtNDRlZC1hNGUwLWE2MzQyMjk5NDhkNFwiLFwiY29udGVudFwiOlwiVGlwcyBmb3IgU3VsZXltYW5peWUgTW9zcXVlIFZpc2l0b3JzOlwiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI3RpcHMtZm9yLXN1bGV5bWFuaXllLW1vc3F1ZS12aXNpdG9yc1wiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcImYzOTdlMTBkLWNiNzctNDhiMS05MmM3LTNmOGI4NGNkZmRiM1wiLFwiY29udGVudFwiOlwiU1VNTUFSWVwiLFwibGV2ZWxcIjozLFwibGlua1wiOlwiI3N1bW1hcnlcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCI5M2U1MzY4YS0yODBhLTQ1MjEtYWUzOS1hNTlkMjE0MWRlYWNcIixcImNvbnRlbnRcIjpcIlN1bGV5bWFuaXllIE1vc3F1ZSBNYXAsIERpcmVjdGlvbnMsIE5laWdoYm91cmhvb2RzXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjc3VsZXltYW5peWUtbW9zcXVlLW1hcC1kaXJlY3Rpb25zLW5laWdoYm91cmhvb2RzXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiZGNjYzNhNGUtNGMxNS00NzRiLTkyOTMtZDllOGE2ZGM2ZjY4XCIsXCJjb250ZW50XCI6XCJUaGUgaW50ZXJlc3RpbmcgbGVnZW5kIG9mIFN1bGV5bWFuaXllIE1vc3F1ZVwiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI3RoZS1pbnRlcmVzdGluZy1sZWdlbmQtb2Ytc3VsZXltYW5peWUtbW9zcXVlXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiYjc2Yzk0OTAtYmVmNy00NzcxLTlkOTYtNTViM2E5ZTU5ZjEzXCIsXCJjb250ZW50XCI6XCJTdWxleW1hbml5ZSBNb3NxdWUgRHJvbmUgVmlkZW9cIixcImxldmVsXCI6MixcImxpbmtcIjpcIiNzdWxleW1hbml5ZS1tb3NxdWUtZHJvbmUtdmlkZW9cIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCI0MWVmYzEyNi0zNTJhLTQ0ZDEtYjNiNi0xNzUzYzhjYjAyMzNcIixcImNvbnRlbnRcIjpcIlN1bGV5bWFuaXllIE1vc3F1ZSBQaG90b3NcIixcImxldmVsXCI6MixcImxpbmtcIjpcIiNzdWxleW1hbml5ZS1tb3NxdWUtcGhvdG9zXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiOTY5NzE1ZjUtYjk1My00NzIzLWIyMmQtMmU2ZGQ0YzIxMzU5XCIsXCJjb250ZW50XCI6XCJIZWFydGJyZWFraW5nIFN0b3J5IG9mIGJyb2tlbiByb3NlYnVkIGJyYW5jaCBlbmdyYXZlZCBvbiB0aGUgdG9tYnN0b25lXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjaGVhcnRicmVha2luZy1zdG9yeS1vZi1icm9rZW4tcm9zZWJ1ZC1icmFuY2gtZW5ncmF2ZWQtb24tdGhlLXRvbWJzdG9uZVwiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcIjdmYTAyZTNjLWYyNWEtNGU3Yi04OTMxLTE2ODY1MjQyMjA5ZlwiLFwiY29udGVudFwiOlwiV2h5IGlzIFN1bGV5bWFuaXllIE1vc3F1ZSBpbXBvcnRhbnQ/XCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjd2h5LWlzLXN1bGV5bWFuaXllLW1vc3F1ZS1pbXBvcnRhbnRcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCI1YzUwNjA4Mi0wMDE1LTRmNGEtODQ5MS1hMDczNWQ0MTVhN2RcIixcImNvbnRlbnRcIjpcIlRoZSBBcmNoaXRlY3R1cmUgYW5kIENvc3Qgb2YgU3VsZXltYW5peWUgTW9zcXVlXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjdGhlLWFyY2hpdGVjdHVyZS1hbmQtY29zdC1vZi1zdWxleW1hbml5ZS1tb3NxdWVcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCI4ZTNjYThiMi03Yjc0LTRkZTEtOThmYS1mZDFhOTBhZDg4NmNcIixcImNvbnRlbnRcIjpcIlN1bGV5bWFuaXllIE1vc3F1ZSBJbnRlcmlvclwiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI3N1bGV5bWFuaXllLW1vc3F1ZS1pbnRlcmlvclwiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcImFmNGIxZTYwLWJhOTAtNGY4NC05MmM3LTRhNjYxNWFlZDdmNFwiLFwiY29udGVudFwiOlwiU3VsZXltYW5peWUgTW9zcXVlIEludGVyaW9yXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjc3VsZXltYW5peWUtbW9zcXVlLWludGVyaW9yLTFcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCJiYTViMzFhNi0wNThlLTQzYzktOGMwOC1jOTYxNWY1ZWI1NmJcIixcImNvbnRlbnRcIjpcIlxcdTAwMjJUaGUgdG9tYnMgYW5kIG1hZHJhc2FzIGxvY2F0ZWQgaW5zaWRlIHRoZSBTXHUwMGZjbGV5bWFuaXllIE1vc3F1ZS5cXHUwMDIyXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjdGhlLXRvbWJzLWFuZC1tYWRyYXNhcy1sb2NhdGVkLWluc2lkZS10aGUtc3VsZXltYW5peWUtbW9zcXVlXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9XSxcImxpc3RTdHlsZVwiOlwidWxcIn0gLS0+XG48ZGl2IGNsYXNzPVwid3AtYmxvY2stcmFuay1tYXRoLXRvYy1ibG9ja1wiIGlkPVwicmFuay1tYXRoLXRvY1wiPjxuYXY+PHVsPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjdGlwcy1mb3Itc3VsZXltYW5peWUtbW9zcXVlLXZpc2l0b3JzXCI+VGlwcyBmb3IgU3VsZXltYW5peWUgTW9zcXVlIFZpc2l0b3JzOjwvYT48dWw+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiNzdW1tYXJ5XCI+U1VNTUFSWTwvYT48L2xpPjwvdWw+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3N1bGV5bWFuaXllLW1vc3F1ZS1tYXAtZGlyZWN0aW9ucy1uZWlnaGJvdXJob29kc1wiPlN1bGV5bWFuaXllIE1vc3F1ZSBNYXAsIERpcmVjdGlvbnMsIE5laWdoYm91cmhvb2RzPC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiN0aGUtaW50ZXJlc3RpbmctbGVnZW5kLW9mLXN1bGV5bWFuaXllLW1vc3F1ZVwiPlRoZSBpbnRlcmVzdGluZyBsZWdlbmQgb2YgU3VsZXltYW5peWUgTW9zcXVlPC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiNzdWxleW1hbml5ZS1tb3NxdWUtZHJvbmUtdmlkZW9cIj5TdWxleW1hbml5ZSBNb3NxdWUgRHJvbmUgVmlkZW88L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3N1bGV5bWFuaXllLW1vc3F1ZS1waG90b3NcIj5TdWxleW1hbml5ZSBNb3NxdWUgUGhvdG9zPC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiNoZWFydGJyZWFraW5nLXN0b3J5LW9mLWJyb2tlbi1yb3NlYnVkLWJyYW5jaC1lbmdyYXZlZC1vbi10aGUtdG9tYnN0b25lXCI+SGVhcnRicmVha2luZyBTdG9yeSBvZiBicm9rZW4gcm9zZWJ1ZCBicmFuY2ggZW5ncmF2ZWQgb24gdGhlIHRvbWJzdG9uZTwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjd2h5LWlzLXN1bGV5bWFuaXllLW1vc3F1ZS1pbXBvcnRhbnRcIj5XaHkgaXMgU3VsZXltYW5peWUgTW9zcXVlIGltcG9ydGFudD88L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3RoZS1hcmNoaXRlY3R1cmUtYW5kLWNvc3Qtb2Ytc3VsZXltYW5peWUtbW9zcXVlXCI+VGhlIEFyY2hpdGVjdHVyZSBhbmQgQ29zdCBvZiBTdWxleW1hbml5ZSBNb3NxdWU8L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3N1bGV5bWFuaXllLW1vc3F1ZS1pbnRlcmlvclwiPlN1bGV5bWFuaXllIE1vc3F1ZSBJbnRlcmlvcjwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjc3VsZXltYW5peWUtbW9zcXVlLWludGVyaW9yLTFcIj5TdWxleW1hbml5ZSBNb3NxdWUgSW50ZXJpb3I8L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3RoZS10b21icy1hbmQtbWFkcmFzYXMtbG9jYXRlZC1pbnNpZGUtdGhlLXN1bGV5bWFuaXllLW1vc3F1ZVwiPlwiVGhlIHRvbWJzIGFuZCBtYWRyYXNhcyBsb2NhdGVkIGluc2lkZSB0aGUgU1x1MDBmY2xleW1hbml5ZSBNb3NxdWUuXCI8L2E+PC9saT48L3VsPjwvbmF2PjwvZGl2PlxuPCEtLSAvd3A6cmFuay1tYXRoL3RvYy1ibG9jayAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwidGlwcy1mb3Itc3VsZXltYW5peWUtbW9zcXVlLXZpc2l0b3JzXCI+PHN0cm9uZz5UaXBzIGZvciBTdWxleW1hbml5ZSBNb3NxdWUgVmlzaXRvcnM6PC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwic3VtbWFyeVwiPjxzdHJvbmc+U1VNTUFSWTwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOmxpc3QgLS0+XG48dWw+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5BdHRyYWN0aW9uIFR5cGUgOjwvc3Ryb25nPkhpc3RvcmljYWwgU2l0ZSwgTW9zcXVlPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5FbnRyYW5jZSBGZWU8L3N0cm9uZz4mbmJzcDsoQXBwci5VU0QpIDpGUkVFPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5WaXNpdGluZyBUaW1lPC9zdHJvbmc+Jm5ic3A7KGhvdXJzKTogMS0yPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5EcmVzcyBDb2RlPC9zdHJvbmc+OiBDbGVhbiBzb2NrcyAvIFByb3BlciBkcmVzcyBmb3IgTGFkaWVzIHByb3ZpZGVkIGF0IHRoZSBlbnRyYW5jZSAoQm9keSBhbmQgSGVhZCBtdXN0IGJlIGNvdmVyZWQpIC8gTWVuOiBhdCBsZWFzdCB0LXNoaXJ0IGFuZCBQYW50cyB1bmRlciBrbmVlIGxldmVsPC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5TcGVjaWFsIFRpcHM8L3N0cm9uZz46Q3Jvd2RlZCBhdCBwcmF5ZXIgdGltZXM8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPk9wZW48L3N0cm9uZz46IEV2ZXJ5ZGF5IDA4LjAwIC0gMjEuMzA8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPkFkZHJlc3M8L3N0cm9uZz46IFNcdTAwZmNsZXltYW5peWUsIFByb2YuIFNcdTAxMzFkZFx1MDEzMWsgU2FtaSBPbmFyIENkLiBObzoxLCAzNDExNiBGYXRpaC9cdTAxMzBzdGFuYnVsLCBUXHUwMGZjcmtpeWU8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+XG48IS0tIC93cDpsaXN0IC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPllvdSBjYW4gZWFzaWx5IHdhbGsgZnJvbSBFbWluXHUwMGY2blx1MDBmYyB0byB0aGUgU3VsZXltYW5peWUgTW9zcXVlIG9yIHRha2UgdGhlIHRyYW0gdG8gdGhlIEdyYW5kIEJhemFhci4gWW91IGNhbiByZWFjaCB0aGUgU1x1MDBmY2xleW1hbml5ZSBNb3NxdWUgYWZ0ZXIgYSBmZXcgbWludXRlcyB3YWxrIGZyb20gdGhlIEJleWF6XHUwMTMxdC1LYXBhbFx1MDEzMSBcdTAwYzdhclx1MDE1Zlx1MDEzMSB0cmFtIHN0b3AuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPjxzdHJvbmc+QmVzdCBob3VycyB0byB2aXNpdDogPC9zdHJvbmc+OS0xMCBhbTwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwic3VsZXltYW5peWUtbW9zcXVlLW1hcC1kaXJlY3Rpb25zLW5laWdoYm91cmhvb2RzXCI+PHN0cm9uZz5TdWxleW1hbml5ZSBNb3NxdWUgTWFwLCBEaXJlY3Rpb25zLCBOZWlnaGJvdXJob29kczwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnNob3J0Y29kZSAtLT5cblxuPCEtLSAvd3A6c2hvcnRjb2RlIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ0aGUtaW50ZXJlc3RpbmctbGVnZW5kLW9mLXN1bGV5bWFuaXllLW1vc3F1ZVwiPjxzdHJvbmc+VGhlIGludGVyZXN0aW5nIGxlZ2VuZCBvZiBTdWxleW1hbml5ZSBNb3NxdWU8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5IZXJlIGlzIHRoZSB1bnRvbGQgc3Rvcnkgb2YgdGhlIFN1bGV5bWFuaXllIE1vc3F1ZSwgd2hpY2ggaGFzIHN1cnZpdmVkIG92ZXIgYSBodW5kcmVkIGVhcnRocXVha2VzIGluIElzdGFuYnVsIHdpdGhvdXQgYW55IGRhbWFnZSB0byBpdHMgd2FsbHM6PC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBTXHUwMGZjbGV5bWFuaXllIE1vc3F1ZSBhbmQgaXRzIGNvbXBsZXggd2VyZSBjb25zdHJ1Y3RlZCBieSBTdWxlaW1hbiB0aGUgTWFnbmlmaWNlbnQgdG8gZW1waGFzaXplIHRoZSBwb3dlciBhbmQgZ2xvcnkgb2YgdGhlIE90dG9tYW4gRW1waXJlLiBEdXJpbmcgdGhlIGNvbnN0cnVjdGlvbiwgU3VsZWltYW4gZmVsdCB0cm91YmxlZCBieSB0aGUgbmV2ZXItZW5kaW5nIHdvcmssIGFuZCBydW1vcnMgYmVnYW4gdG8gcmlzZS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+T25lIGRheSwgdGhlIFN1bHRhbiBkZWNpZGVkIHRvIHZpc2l0IHRoZSBTXHUwMGZjbGV5bWFuaXllIE1vc3F1ZSB0byBldmFsdWF0ZSB0aGUgc2l0dWF0aW9uIGhpbXNlbGYuIEFzIGhlIGVudGVyZWQgdGhlIGdyYW5kIG1vc3F1ZSwgaGUgc3BvdHRlZCBNaW1hciBTaW5hbiBzaXR0aW5nIGluIHRoZSBjZW50ZXIgb2YgdGhlIG1vc3F1ZSwgc21va2luZyBoaXMgaG9va2FoLiBUaGUgU3VsdGFuIGFza2VkLCBcIldoYXQgaXMgaGFwcGVuaW5nIGhlcmU/XCIgQnV0LCB0byBoaXMgc3VycHJpc2UsIHRoZXJlIHdhcyBubyB0b2JhY2NvIGluIHRoZSBob29rYWggYXMgdGhlIE1hc3RlciBBcmNoaXRlY3Qgd2FzIHNtb2tpbmcgb25seSB3YXRlci48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+QXJjaGl0ZWN0IFNpbmFuIG1lYXN1cmVkIHRoZSBtb3NxdWUncyBhY291c3RpY3MgYnkgbGlzdGVuaW5nIHRvIHRoZSBidWJibGluZyBvZiB0aGUgaG9va2FoLCBpbiBvcmRlciB0byBkaXN0cmlidXRlIHRoZSB2b2ljZSBvZiB0aGUgaW1hbSBldmVubHkgdGhyb3VnaG91dCB0aGUgZW50aXJlIG1vc3F1ZS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VG8gYWNoaWV2ZSBldmVuIHNvdW5kIGRpc3RyaWJ1dGlvbiB0aHJvdWdob3V0IHRoZSBodW5kcmVkcyBvZiBzcXVhcmUgbWV0ZXJzIG9mIHNwYWNlLCB0aGUgYXJjaGl0ZWN0IGFycmFuZ2VkIDY1IGxhcmdlIGhvbGxvdyBjdWJlcyBhdCB0aGUgYmFzZSBvZiB0aGUgZG9tZSB3aXRoIHRoZWlyIG9wZW5pbmdzIGZhY2luZyBvdXR3YXJkLiBUaGVzZSBjdWJlcyB3ZXJlIGJyb3VnaHQgZnJvbSB2YXJpb3VzIHBhcnRzIG9mIEFuYXRvbGlhLiBTdWx0YW4sIHdobyB3YXMgaW5pdGlhbGx5IGRpc3BsZWFzZWQsIGxhdGVyIHVuZGVyc3Rvb2QgdGhlIGFyY2hpdGVjdCdzIGludGVudGlvbnMgYW5kIGZvcmdhdmUgaGlzIG1hc3Rlci48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SW4gYWRkaXRpb24gdG8gdGhpcywgQXJjaGl0ZWN0IFNpbmFuIGNvbnN0cnVjdGVkIGFuIGFpciBjb3JyaWRvciB3aXRoaW4gdGhlIFN1bGV5bWFuaXllIE1vc3F1ZS4gU2luY2UgdGhlcmUgd2FzIG5vIGVsZWN0cmljaXR5IGF2YWlsYWJsZSB5ZXQsIGhlIGlsbHVtaW5hdGVkIHRoZSBtb3NxdWUgd2l0aCAyNzUgbGFyZ2Ugb2lsIGxhbXBzLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5TaW5hbiBidWlsdCBhIHNtYWxsIGNoYW1iZXIgYWJvdmUgdGhlIG1haW4gZG9vciBvZiB0aGUgbW9zcXVlIHRvIHByb3RlY3QgaXQgZnJvbSB0aGUgc29vdCBwcm9kdWNlZCBieSB0aGUgbGFtcHMuIFRoZSBzb290IHdhcyBjb2xsZWN0ZWQgaW4gYSBzcGVjaWFsIHJvb20gdXNpbmcgY2F2aXRpZXMgcGxhY2VkIGluIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgYnVpbGRpbmcuIFNpbmFuIGFsc28gaW5zdGFsbGVkIGEgaHVtaWRpZmljYXRpb24gc3lzdGVtIGluIHRoaXMgY2hhbWJlciwgd2hpY2ggd2FzIGNhbGxlZCB0aGUgU29vdCBDaGFtYmVyLiBUaGUgc29vdCBjb2xsZWN0ZWQgd2FzIHRoZW4gdXNlZCB0byBtYWtlIGhpZ2gtcXVhbGl0eSBpbmsuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSB3YWxscyBvZiB0aGUgU1x1MDBmY2xleW1hbml5ZSBtb3NxdWUgYXJlIGFkb3JuZWQgd2l0aCBicmVhdGh0YWtpbmcgcGVuIHdvcmtzLCB3cml0aW5ncywgYW5kIGRlY29yYXRpb25zLiBXaGF0IG1ha2VzIHRoZXNlIGV2ZW4gbW9yZSBpbXByZXNzaXZlIGlzIHRoYXQgdGhleSB3ZXJlIGNyZWF0ZWQgdXNpbmcgaW5rIGRpc3RpbGxlZCBmcm9tIHRoZSBzb290IG9mIHRoZSBtb3NxdWUncyBsYW1wcywgZW1wbG95aW5nIHRoZSBzY2llbmNlIGFuZCB0ZWNobm9sb2d5IG9mIDQ1OCB5ZWFycyBhZ28uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjMyNCxcInNpemVTbHVnXCI6XCJmdWxsXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1mdWxsXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc3VsZXltYW5peWUtbW9zcXVlLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMzI0XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInN1bGV5bWFuaXllLW1vc3F1ZS1kcm9uZS12aWRlb1wiPjxzdHJvbmc+U3VsZXltYW5peWUgTW9zcXVlIERyb25lIFZpZGVvPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+XCJFeHBlcmllbmNlIHRoZSBicmVhdGh0YWtpbmcgYmVhdXR5IG9mIFN1bGV5bWFuaXllIE1vc3F1ZSBsaWtlIG5ldmVyIGJlZm9yZSB3aXRoIG91ciBleGNsdXNpdmUgZHJvbmUgdmlkZW8gZm9vdGFnZS4gRG9uJ3QgbWlzcyBvdXQgb24gdGhpcyBpbmNyZWRpYmxlIG9wcG9ydHVuaXR5IHRvIHdpdG5lc3MgdGhlIHN0dW5uaW5nIGFyY2hpdGVjdHVyZSBhbmQgaW50cmljYXRlIGRldGFpbHMgb2Ygb25lIG9mIElzdGFuYnVsJ3MgbW9zdCBpY29uaWMgbGFuZG1hcmtzLlwiPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmVtYmVkIHtcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1yQkR0RFhEaVpfZ1wiLFwidHlwZVwiOlwidmlkZW9cIixcInByb3ZpZGVyTmFtZVNsdWdcIjpcInlvdXR1YmVcIixcInJlc3BvbnNpdmVcIjp0cnVlLFwiY2xhc3NOYW1lXCI6XCJ3cC1lbWJlZC1hc3BlY3QtMTYtOSB3cC1oYXMtYXNwZWN0LXJhdGlvXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWVtYmVkIGlzLXR5cGUtdmlkZW8gaXMtcHJvdmlkZXIteW91dHViZSB3cC1ibG9jay1lbWJlZC15b3V0dWJlIHdwLWVtYmVkLWFzcGVjdC0xNi05IHdwLWhhcy1hc3BlY3QtcmF0aW9cIj48ZGl2IGNsYXNzPVwid3AtYmxvY2stZW1iZWRfX3dyYXBwZXJcIj5cbmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ckJEdERYRGlaX2dcbjwvZGl2PjwvZmlndXJlPlxuPCEtLSAvd3A6ZW1iZWQgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInN1bGV5bWFuaXllLW1vc3F1ZS1waG90b3NcIj48c3Ryb25nPlN1bGV5bWFuaXllIE1vc3F1ZSBQaG90b3M8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpnYWxsZXJ5IHtcImxpbmtUb1wiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1nYWxsZXJ5IGhhcy1uZXN0ZWQtaW1hZ2VzIGNvbHVtbnMtZGVmYXVsdCBpcy1jcm9wcGVkXCI+PCEtLSB3cDppbWFnZSB7XCJsaWdodGJveFwiOntcImVuYWJsZWRcIjp0cnVlfSxcImlkXCI6MzMzLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3N1bGV5bWFuaXllLW1vc3F1ZS0yMjIyMzMtODE5eDEwMjQuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMzNcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJsaWdodGJveFwiOntcImVuYWJsZWRcIjp0cnVlfSxcImlkXCI6MzMyLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3N1bGV5bWFuaXllLW1vc3F1ZS1uaWdodHZpZXctODE5eDEwMjQuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMzJcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJsaWdodGJveFwiOntcImVuYWJsZWRcIjp0cnVlfSxcImlkXCI6MzMxLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3N1bGV5bWFuaXllLW1vc3F1ZS1zdW5zZXQtODE5eDEwMjQuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMzFcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJsaWdodGJveFwiOntcImVuYWJsZWRcIjp0cnVlfSxcImlkXCI6MzI4LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3N1bGV5bWFuaXllLW1vc3F1ZS0xLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMzI4XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wibGlnaHRib3hcIjp7XCJlbmFibGVkXCI6dHJ1ZX0sXCJpZFwiOjMzMCxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zdWxleW1hbml5ZS1tb3NxdWUyMzIzMjMyLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMzMwXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wibGlnaHRib3hcIjp7XCJlbmFibGVkXCI6dHJ1ZX0sXCJpZFwiOjMyOSxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zdWxleW1hbml5ZS1tb3NxdWU3Njc2NzY3Njc2NTguanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMjlcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT48L2ZpZ3VyZT5cbjwhLS0gL3dwOmdhbGxlcnkgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+PC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoZWFydGJyZWFraW5nLXN0b3J5LW9mLWJyb2tlbi1yb3NlYnVkLWJyYW5jaC1lbmdyYXZlZC1vbi10aGUtdG9tYnN0b25lXCI+SGVhcnRicmVha2luZyBTdG9yeSBvZiBicm9rZW4gcm9zZWJ1ZCBicmFuY2ggZW5ncmF2ZWQgb24gdGhlIHRvbWJzdG9uZTwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOmdhbGxlcnkge1wibGlua1RvXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWdhbGxlcnkgaGFzLW5lc3RlZC1pbWFnZXMgY29sdW1ucy1kZWZhdWx0IGlzLWNyb3BwZWRcIj48IS0tIHdwOmltYWdlIHtcImxpZ2h0Ym94XCI6e1wiZW5hYmxlZFwiOnRydWV9LFwiaWRcIjozMjcsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvMjQ0NDkzMDA4XzkzNTU3MjgyMDM3MDk4Ml83NzQwMzM5MDMwMjgyMzQzOTk2X24uanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMjdcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJsaWdodGJveFwiOntcImVuYWJsZWRcIjp0cnVlfSxcImlkXCI6MzI1LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxLzI0NDUzNjU3MF8xNjI0MDU3MzQ3NzY5MzgyXzQ0MDAxNTgzMDQxNzM2NTQ5NDFfbi0xMDI0eDEwMjQuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMjVcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJsaWdodGJveFwiOntcImVuYWJsZWRcIjp0cnVlfSxcImlkXCI6MzI2LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxLzI0NDU1MDk2Ml80MDA4NjQ1MDE1NjM1MzdfMTA0NTYyNjgyMDExMzU0MTc4MV9uLTEwMjR4MTAyNC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTMyNlwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPjwvZmlndXJlPlxuPCEtLSAvd3A6Z2FsbGVyeSAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgU1x1MDBmY2xleW1hbml5ZSBNb3NxdWUsIGNvbnN0cnVjdGVkIGJldHdlZW4gMTU1MSBhbmQgMTU1NywgaG91c2VzIGEgcmVtYXJrYWJsZSB0b21ic3RvbmUgaW4gaXRzIHRyZWFzdXJ5LiBUaGlzIHRvbWJzdG9uZSBpcyBub3QganVzdCBhIHRlc3RhbWVudCB0byBzdXBlcmIgY3JhZnRzbWFuc2hpcCwgYnV0IGl0IGFsc28gY29tbWVtb3JhdGVzIHRoZSBsaWZlIG9mIGEgeW91bmcgZ2lybCBuYW1lZCBGYXRpbWEgTVx1MDBmY1x1MDE1ZmVycmVmLCB3aG8gZGllZCBhdCBhIHlvdW5nIGFnZS4gVGhlIHRvbWJzdG9uZSBmZWF0dXJlcyBhIGJyb2tlbiByb3NlYnVkLCBzeW1ib2xpemluZyBoZXIgZGVhdGggYXQgdGhlIHRlbmRlciBhZ2Ugb2YgMTcuIEZhdGltYSB3YXMgdGhlIGRhdWdodGVyIG9mIE11c3RhZmEgRmV2emkgQmV5IGZyb20gVGhlc3NhbG9uaWtpLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgQ2VsaSB0YWxpayBpbnNjcmlwdGlvbiBvbiB0aGUgdG9tYnN0b25lIGlzIDExIGxpbmVzIGxvbmcgYW5kIHJlYWRzIGFzIGZvbGxvd3M6IFwiRGVhciB2aXNpdG9yLCBseWluZyBiZW5lYXRoIHRoaXMgc3RvbmUgaXMgb25lIG9mIHRoZSBwdXJlc3QsIG1vc3QgaW50ZWxsaWdlbnQsIGFuZCBiZWF1dGlmdWwgeW91bmcgZ2lybHMuIERlYXRoIHRvb2sgaGVyIGF3YXkgYXQgdGhlIGFnZSBvZiAxNy4gVGhpcyB5b3VuZyBmbG93ZXIgd2FzIHRha2VuIGZyb20gaGVyIHBhcmVudHMnIGxvdmUgdmVyeSBlYXJseSBhbmQgd2FzIGludGVsbGlnZW50LCBrbm93bGVkZ2VhYmxlLCBhbmQgZXhjZXB0aW9uYWwuIExldCB1cyBwcmF5IGZvciBhIG1vcmFsLCByZXNwZWN0YWJsZSwgYW5kIGlubm9jZW50IHNvdWwuIFdyaXR0ZW4gb24gV2VkbmVzZGF5LCBKYW51YXJ5IDEzLCAxMzI1IChHcmVnb3JpYW4gMTkxMCkuXCI8L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIHRvbWJzdG9uZSBoYXMgYSBicm9rZW4gcm9zZWJ1ZCBjYXJ2ZWQgaW4gcmVsaWVmIG9uIGl0cyBoZWFkc3RvbmUsIHN5bWJvbGl6aW5nIHRoZSBnaXJsJ3MgdW50aW1lbHkgZGVtaXNlLiBPbiB0aGUgZm9vdCB0b21iLCBhIHZlaWwgZHJhcGVzIGRvd24gaW4gd2F2ZXMsIHJlcHJlc2VudGluZyBoZXIgd2VkZGluZyBhdHRpcmUuIFRoZSB0b21iJ3MgcGVkZXN0YWwgYmVhcnMgdGhlIHNpZ25hdHVyZSBvZiB0aGUgR3JlZWsgbWFzdGVyIFAuQy4gUGFzY2FsaWRpLCB3aG8gd2FzIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGRlZXBseSBtb3ZpbmcgdG9tYnN0b25lLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwid2h5LWlzLXN1bGV5bWFuaXllLW1vc3F1ZS1pbXBvcnRhbnRcIj48c3Ryb25nPldoeSBpcyBTdWxleW1hbml5ZSBNb3NxdWUgaW1wb3J0YW50Pzwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBTXHUwMGZjbGV5bWFuaXllIE1vc3F1ZSwgYnVpbHQgYnkgdGhlIGdyZWF0IGFyY2hpdGVjdCBLb2NhIFNpbmFuIG9uIHRoZSBvcmRlciBvZiBTdWx0YW4gU3VsZWltYW4gdGhlIE1hZ25pZmljZW50LCBpcyBjb25zaWRlcmVkIG9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgZXhhbXBsZXMgb2YgQ2xhc3NpY2FsIE90dG9tYW4gYXJjaGl0ZWN0dXJlLiBUaG91Z2ggU2luYW4gaHVtYmx5IHJlZmVycmVkIHRvIGl0IGFzIGEgXCJqb3VybmV5bWFuJ3Mgd29ya1wiLCBoZSBtZXRpY3Vsb3VzbHkgY2FsY3VsYXRlZCBldmVyeSBkZXRhaWwgb2YgdGhlIHN0cnVjdHVyZS4gPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBtb3NxdWUncyA1My1tZXRlci1oaWdoIGRvbWUgaXMgc3VwcG9ydGVkIGJ5IGZvdXIgbWluYXJldHMsIGVhY2ggb2Ygd2hpY2ggc3RhbmRzIDc1IG1ldGVycyB0YWxsIGFuZCBmZWF0dXJlcyB0aHJlZSBiYWxjb25pZXMuIFRoZXNlIG1pbmFyZXRzIHN5bWJvbGl6ZSB0aGUgZm91ciBzdWx0YW5zIHdobyBhc2NlbmRlZCB0byB0aGUgdGhyb25lIGZvbGxvd2luZyB0aGUgY29ucXVlc3Qgb2YgSXN0YW5idWwuIDwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgY29uc3RydWN0aW9uIG9mIHRoZSBtb3NxdWUsIHdoaWNoIGJlZ2FuIG9uIEp1bmUgMTMsIDE1NTAsIHdhcyBjb21wbGV0ZWQgaW4ganVzdCBzZXZlbiB5ZWFycyBkZXNwaXRlIHRoZSBsaW1pdGVkIHJlc291cmNlcyBvZiB0aGUgdGltZS4gVGhlIG1vc3F1ZSBvcGVuZWQgdG8gdGhlIHB1YmxpYyBvbiBKdW5lIDcsIDE1NTcsIHdpdGggYSBncmFuZCBjZXJlbW9ueSBsZWQgYnkgTWltYXIgU2luYW4sIGF0dHJhY3RpbmcgdmlzaXRvcnMgZnJvbSBhbGwgYXJvdW5kIHRoZSB3b3JsZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInRoZS1hcmNoaXRlY3R1cmUtYW5kLWNvc3Qtb2Ytc3VsZXltYW5peWUtbW9zcXVlXCI+PHN0cm9uZz5UaGUgQXJjaGl0ZWN0dXJlIGFuZCBDb3N0IG9mIFN1bGV5bWFuaXllIE1vc3F1ZTwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSB0ZW1wbGUsIGFsc28ga25vd24gYXMgdGhlIFNcdTAwZmNsZXltYW5peWUgTW9zcXVlLCBpcyBlc3RpbWF0ZWQgdG8gaGF2ZSBjb3N0IDU5IG1pbGxpb24gYWtcdTAwZTdlIG9yIDcwMCwwMDAgZHVrYSBnb2xkIGR1cmluZyBpdHMgY29uc3RydWN0aW9uLCB3aGljaCB3b3VsZCBiZSBlcXVpdmFsZW50IHRvIG1vcmUgdGhhbiAkNjUgYmlsbGlvbiBpbiB0b2RheSdzIG1vbmV5LiBUaGUgbW9zcXVlIHdhcyBkYW1hZ2VkIGJ5IGZpcmUgaW4gMTY2MCBhbmQgd2FzIHJlcGFpcmVkLCBidXQgaXQgd2FzIGRlZmFjZWQgZHVyaW5nIHRoZSByZWlnbiBvZiBTdWx0YW4gTWVjaWQgaW5zdGVhZCBvZiBiZWluZyBwcm9wZXJseSByZXBhaXJlZC4gVGhlIGVuZ2luZWVyIEZvc3NhdGksIHdobyB3YXMgYnJvdWdodCBmcm9tIGFicm9hZCB0byByZXBhaXIgdGhlPHN0cm9uZz4gPGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5L1wiIGRhdGEtdHlwZT1cInBvc3RcIiBkYXRhLWlkPVwiMzY5XCI+SGFnaWEgU29waGlhPC9hPjwvc3Ryb25nPiwgdXNlZCBvaWwgcGFpbnQgYW5kIHB1dHR5IHRvIHJ1aW4gdGhlIGVsZXBoYW50J3MgZmVldCB0byB0aGUgYXJjaGVzLCB3aGljaCBsYXRlciByZXF1aXJlZCBhIGdyZWF0IGRlYWwgb2YgZWZmb3J0IHRvIGNsZWFuLiBUaGUgaW5uZXIgY291cnR5YXJkIG9mIHRoZSBtb3NxdWUgd2FzIHVzZWQgYXMgYSBzYWRkbGVyeSBkdXJpbmcgdGhlIEZpcnN0IFdvcmxkIFdhci4gVGhlIG1vc3F1ZSBzdXJ2aXZlZCBhbm90aGVyIGZpcmUgYW5kIHdhcyBmaW5hbGx5IHN1YnN0YW50aWFsbHkgcmVwYWlyZWQgYnkgdGhlIEZvdW5kYXRpb25zIGluIDE5NTYsIHdoaWNoIGluY2x1ZGVkIHRoZSBtaW5hcmV0cywgZG9tZXMsIGFuZCBhcmNoZXMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSB0ZW1wbGUgaXMgY29tcHJpc2VkIG9mIGEgbWFpbiBkb21lLCB0d28gaGFsZiBkb21lcywgdHdvIHF1YXJ0ZXIgZG9tZXMsIGFuZCB0ZW4gc21hbGwgZG9tZXMuIFRoZSBtYWluIGRvbWUgaXMgc3VwcG9ydGVkIGJ5IGZvdXIgcGlsbGFycywgd2hpbGUgdGhlIGRvbWUgYXJjaGVzIHJlc3Qgb24gZm91ciBsYXJnZSBncmFuaXRlIGNvbHVtbnMuIFRoZSAzMi13aW5kb3cgZG9tZSBoYXMgYSBkaWFtZXRlciBvZiAyNy4yNSBtZXRlcnMgYW5kIGlzIDUzIG1ldGVycyBhYm92ZSB0aGUgZ3JvdW5kLiBUaGVyZSBhcmUgNjQgY3ViZXMsIGVhY2ggNTAgY20gdGFsbCwgcGxhY2VkIGluc2lkZSB0aGUgZG9tZSBhbmQgaW4gdGhlIGNvcm5lcnMgd2l0aCB0aGVpciBtb3V0aHMgb3BlbiB0byB0aGUgaW5zaWRlIHRvIGVuaGFuY2UgYWNvdXN0aWNzLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwic3VsZXltYW5peWUtbW9zcXVlLWludGVyaW9yXCI+PHN0cm9uZz5TdWxleW1hbml5ZSBNb3NxdWU8L3N0cm9uZz4gPHN0cm9uZz5JbnRlcmlvcjwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBtb3NxdWUgaGFzIGFuIGludGVyaW9yIGFyZWEgb2YgYXJvdW5kIDM1MDAgc3F1YXJlIG1ldGVycywgbWVhc3VyaW5nIDU5IG1ldGVycyBpbiBsZW5ndGggYW5kIDU4IG1ldGVycyBpbiB3aWR0aC4gSXQgaXMgaWxsdW1pbmF0ZWQgYnkgMjM4IHdpbmRvd3MgYW5kIGZlYXR1cmVzIGEgaFx1MDBmY25rXHUwMGUyciBhbmQgbXVlenppbiBtYWhmaXMgcmVzdGluZyBvbiB2YWx1YWJsZSBncmFuaXRlIGFuZCBtYXJibGUgY29sdW1ucy4gVGhlIG1pbmJhciBhbmQgbWlocmFiIGFyZSBwYXJ0aWN1bGFybHkgbm90ZXdvcnRoeSBmb3IgdGhlaXIgZXhxdWlzaXRlIG1hcmJsZSBjcmFmdHNtYW5zaGlwLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgYXJlYSB0byB0aGUgcmlnaHQgb2YgdGhlIG11ZXp6aW4ncyBjbG9pc3RlciB3YXMgZm9ybWVybHkgdXNlZCBhcyBhIGxpYnJhcnkgdW50aWwgMTkxOC4gVGhlIGV4aXN0aW5nIGJvb2tzIHdlcmUgbGF0ZXIgbW92ZWQgdG8gdGhlIEdlbmVyYWwgTGlicmFyeSBlc3RhYmxpc2hlZCBpbiA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaXNsYW1pY2FyY2hpdGVjdHVyYWxoZXJpdGFnZS5jb20vbGlzdGluZ3Mvc3VsZXltYW5peWUtZXZ2ZWwtbWFkcmFzYVwiPlNcdTAwZmNsZXltYW5peWUgTWFkcmFzYWhzPC9hPi4gVGhlIGZyb250IHBhcnQgb2YgdGhlIG1vc3F1ZSBoYXMgZml2ZSBkb29ycyBhbmQgYmVhdXRpZnVsIGNvbG9yZWQgd2luZG93cyBhYm92ZSB0aGUgbWlocmFiLiBUaGVzZSB3aW5kb3dzIHdlcmUgdGhlIHdvcmsgb2YgdGhlIHdlbGwta25vd24gbWFzdGVyIG9mIHRoZSBwZXJpb2QsIFx1MDEzMGJyYWhpbSBVcy10YSwgYW5kIHRoZSBzdW5saWdodCBlbnRlcmluZyB0aHJvdWdoIHRoZW0gd2FzIGxpa2VuZWQgdG8gdGhlIFNlaHBlci1pIEppYnJpbCBieSBTaW5hbiB0aGUgQXJjaGl0ZWN0LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgbW9zcXVlIGhhcyBmb3VyIHZlcnkgcHJlY2lvdXMgZ3Jhbml0ZSBjb2x1bW5zLCBvbmUgb2Ygd2hpY2ggd2FzIGJyb3VnaHQgZnJvbSBBbGV4YW5kcmlhIGFuZCB0aGUgb3RoZXIgZnJvbSBCYWFsYmVrIGJ5IHNwZWNpYWwgc2hpcHMuIFRoZSByZW1haW5pbmcgdHdvIHdlcmUgdGFrZW4gZnJvbSBLXHUwMTMxenRhXHUwMTVmXHUwMTMxIGluIElzdGFuYnVsIGFuZCB0aGUgU2FyYXktXHUwMTMxIEFtaXJlLiBUaGVzZSBmb3VyIGNvbHVtbnMsIGVhY2ggOS4wMiBtZXRlcnMgaGlnaCwgMS4xNCBtZXRlcnMgaW4gZGlhbWV0ZXIsIGFuZCB3ZWlnaGluZyA0MC01MCB0b25uZXMsIGFyZSBsaWtlbmVkIGJ5IE1pbWFyIFNpbmFuIHRvIHRoZSBGb3VyIENhbGlwaHMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJzdWxleW1hbml5ZS1tb3NxdWUtaW50ZXJpb3ItMVwiPjxzdHJvbmc+U3VsZXltYW5peWUgTW9zcXVlPC9zdHJvbmc+IDxzdHJvbmc+SW50ZXJpb3I8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgPHN0cm9uZz5TdWxleW1hbml5ZSBNb3NxdWU8L3N0cm9uZz4gaGFzIGEgbGFyZ2UgaW5uZXIgY291cnR5YXJkIHN1cnJvdW5kZWQgYnkgMjggZG9tZWQgcG9ydGljb2VzLiBUaGUgYWZvcmVtZW50aW9uZWQgZG9tZSBhcmNoZXMgcmVzdCBvbiAyNCBjb2x1bW5zLCAxMiBvZiB3aGljaCBhcmUgZ3Jhbml0ZSwgMTAgYXJlIG1hcmJsZSwgYW5kIHR3byBhcmUgU29tYWxpIG1hcmJsZSBjb2x1bW5zLiBUaGUgZmxvb3Igb2YgdGhlIGNvdXJ0eWFyZCBpcyBwYXZlZCB3aXRoIG1hcmJsZSwgYW5kIHRoZXJlIGlzIGEgZm91bnRhaW4gaW4gdGhlIG1pZGRsZSBvZiB0aGUgY291cnR5YXJkLCB3aXRoIGFuIGFyZWEgb2YgMjUwMCBzcXVhcmUgbWV0ZXJzLiBUaGUgbW9zcXVlIGFsc28gaGFzIGZvdXIgbWluYXJldHMgYW5kIHRlbiBiYWxjb25pZXMgYnVpbHQgaW4gYSBzdHlsZSBzdWl0YWJsZSBmb3IgaXRzIG1hZ25pZmljZW5jZS4gVGhlIG1pbmFyZXRzIHJpc2luZyB0b3dhcmRzIHRoZSBza3kgcmVzZW1ibGUgYSBwZXJzb24gd2hvIHJhaXNlcyBib3RoIGhhbmRzIGluIHByYXllci48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInRoZS10b21icy1hbmQtbWFkcmFzYXMtbG9jYXRlZC1pbnNpZGUtdGhlLXN1bGV5bWFuaXllLW1vc3F1ZVwiPjxzdHJvbmc+XCJUaGUgdG9tYnMgYW5kIG1hZHJhc2FzIGxvY2F0ZWQgaW5zaWRlIHRoZSBTXHUwMGZjbGV5bWFuaXllIE1vc3F1ZS5cIjwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBtb3NxdWUgZmVhdHVyZXMgYmVhdXRpZnVsbHkgZW5ncmF2ZWQgd3JpdGluZ3MgYnkgdGhlIGZhbW91cyBjYWxsaWdyYXBoZXIgQWhtZXQgS2FyYWhpc2FyXHUwMGVlIGFuZCBoaXMgcHVwaWwgSGFzYW4gXHUwMGM3ZWxlYmkuIFRoZSB0b21iIGluIGZyb250IG9mIHRoZSBtaWhyYWIgYmVsb25ncyB0byBTdWxlaW1hbiB0aGUgTWFnbmlmaWNlbnQsIHdobyBoYWQgdGhlIG1vc3F1ZSBidWlsdCB3aXRoIGhpcyBvd24gbW9uZXksIGFuZCB0aGUgdG9tYiBuZXh0IHRvIGl0IGJlbG9uZ3MgdG8gaGlzIHdpZmUsIEhcdTAwZmNycmVtIFN1bHRhbi4gU2luYW4gdGhlIEFyY2hpdGVjdCBpcyBidXJpZWQgaW4gYSBtb2Rlc3QgdG9tYiBuZXh0IHRvIHRoZSBJc3RhbmJ1bCBNdWZ0aSdzIE9mZmljZSBvdXRzaWRlIHRoZSBtb3NxdWUgZ2FyZGVuLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgbW9zcXVlIGdhcmRlbiBpcyBzcHJlYWQgb3ZlciA2MDAwIHNxdWFyZSBtZXRyZXMgYW5kIGhhcyAxMSBnYXRlcy4gU2V2ZW4gbWFkcmFzYXMsIGNhbGxlZCBTXHUwMGZjbGV5bWFuaXllIE1hZHJhc2FzLCBoYXZlIGJlZW4gZXN0YWJsaXNoZWQgYXJvdW5kIHRoZSBnYXJkZW4uIFRoZSBidWlsZGluZ3MgYXJvdW5kIHRoZSBtb3NxdWUgaGF2ZSBiZWVuIGNvbnZlcnRlZCBpbnRvIHZhcmlvdXMgaW5zdGl0dXRpb25zIG92ZXIgdGhlIHllYXJzLCBzdWNoIGFzIHRoZSBTXHUwMGZjbGV5bWFuaXllIExpYnJhcnksIGEgbWF0ZXJuaXR5IGhvbWUsIGEgbWlsaXRhcnkgcHJpbnRpbmcgaG91c2UsIGFuZCBhIEdpcmxzJyBRdXInYW4gQ291cnNlLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT4iLCJwb3N0X3RpdGxlIjoiU3VsZXltYW5peWUgTW9zcXVlIElzdGFuYnVsIiwicG9zdF9saW5rIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3N1bGV5bWFuaXllLW1vc3F1ZS1pc3RhbmJ1bC8zMjMvIiwicG9zdF9mZWF0dXJlZF9pbWFnZSI6IjxkaXYgY2xhc3M9XCJmYy1mZWF0dXJlLWltZ1wiPjxpbWcgbG9hZGluZz1cImxhenlcIiBkZWNvZGluZz1cImFzeW5jXCIgYWx0PVwiU3VsZXltYW5peWUgTW9zcXVlIElzdGFuYnVsXCIgd2lkdGg9XCIyNDBcIiBoZWlnaHQ9XCIzMDBcIiBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc3VsZXltYW5peWUtbW9zcXVlLW5pZ2h0dmlldy0yNDB4MzAwLmpwZ1wiIGNsYXNzPVwid3AtcG9zdC1pbWFnZSAgIHdwZ21wX2ZlYXR1cmVkX2ltYWdlXCIgPjwvZGl2PiIsInBvc3RfY2F0ZWdvcmllcyI6IlRoaW5ncyB0byBkbyBpbiBJU1RBTkJVTCwgVGhpbmdzIHRvIGRvIGluIFRVUktFWSIsInBvc3RfdGFncyI6Imhpc3RvcmljYWwgc2l0ZSwgbW9zcXVlIC8gbWFzamlkIiwiJV9lZGl0X2xvY2slIjoiMTcwNzUxNzI3MjoxIiwiJV9vZW1iZWRfNDUxYzM2YTg3NGYxYWUzM2ZkOThmNDMyZGFiZDQyNTYlIjoiPGlmcmFtZSB0aXRsZT1cIlN1bGV5bWFuaXllIE1vc3F1ZSBJc3RhbmJ1bCB8IENpdHkgSW4gVHVya2V5IHwgRHJvbmUgNGtcIiB3aWR0aD1cIjY5NlwiIGhlaWdodD1cIjM5MlwiIHNyYz1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3JCRHREWERpWl9nP2ZlYXR1cmU9b2VtYmVkXCIgZnJhbWVib3JkZXI9XCIwXCIgYWxsb3c9XCJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmVcIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+IiwiJV9vZW1iZWRfdGltZV80NTFjMzZhODc0ZjFhZTMzZmQ5OGY0MzJkYWJkNDI1NiUiOiIxNzA3MzM3NTU3IiwiJV9lZGl0X2xhc3QlIjoiMSIsIiVfeW9hc3Rfd3BzZW9fcHJpbWFyeV9jYXRlZ29yeSUiOiI1NiIsIiVfeW9hc3Rfd3BzZW9fY29udGVudF9zY29yZSUiOiIzMCIsIiVfeW9hc3Rfd3BzZW9faW5jbHVzaXZlX2xhbmd1YWdlX3Njb3JlJSI6IjkwIiwiJV95b2FzdF93cHNlb19lc3RpbWF0ZWQtcmVhZGluZy10aW1lLW1pbnV0ZXMlIjoiOSIsIiVfeW9hc3Rfd3BzZW9fd29yZHByb29mX3RpbWVzdGFtcCUiOiIiLCIlcG9zdF92aWV3c19jb3VudCUiOiIxMzMiLCIlX3RodW1ibmFpbF9pZCUiOiIzMzIiLCIlX29lbWJlZF8yOTMxMWNkM2RjMzJlMGJjYjI3ZWY5ZTc1MThjNjlkMCUiOiI8aWZyYW1lIHRpdGxlPVwiU3VsZXltYW5peWUgTW9zcXVlIElzdGFuYnVsIHwgQ2l0eSBJbiBUdXJrZXkgfCBEcm9uZSA0a1wiIHdpZHRoPVwiNTAwXCIgaGVpZ2h0PVwiMjgxXCIgc3JjPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvckJEdERYRGlaX2c/ZmVhdHVyZT1vZW1iZWRcIiBmcmFtZWJvcmRlcj1cIjBcIiBhbGxvdz1cImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmU7IHdlYi1zaGFyZVwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4iLCIlX29lbWJlZF90aW1lXzI5MzExY2QzZGMzMmUwYmNiMjdlZjllNzUxOGM2OWQwJSI6IjE3MDY1MzU5MTAiLCIlUXVhbGl0eSBTY29yZSUiOiIzIiwiJV9RdWFsaXR5IFNjb3JlJSI6ImZpZWxkXzY1YjdkNTE5ZWRlMTMiLCIlQXR0cmFjdGlvbiBUeXBlJSI6Ikhpc3RvcmljYWwgU2l0ZSwgTW9zcXVlIiwiJV9BdHRyYWN0aW9uIFR5cGUlIjoiZmllbGRfNjViOTA0OGQ3MDJjMyIsIiViZXN0X3RpbWVfdG9fdmlzaXQlIjoiQWxsIFNlYXNvbnMiLCIlX2Jlc3RfdGltZV90b192aXNpdCUiOiJmaWVsZF82NWI5MDY3N2ExMGRhIiwiJWF2YXJlZ2VfcmVxdWlyZWRfdGltZV8lIjoiMSIsIiVfYXZhcmVnZV9yZXF1aXJlZF90aW1lXyUiOiJmaWVsZF82NWI5MDZmYmMwODFiIiwiJW9wZW5zX2F0JSI6IiIsIiVfb3BlbnNfYXQlIjoiZmllbGRfNjViOTA4MTNjMDgxYyIsIiVjbG9zZWRfYXQlIjoiIiwiJV9jbG9zZWRfYXQlIjoiZmllbGRfNjViOTA4Nzg0OWI1ZCIsIiVlbnRyYW5jZV9mZWUlIjoiRnJlZSIsIiVfZW50cmFuY2VfZmVlJSI6ImZpZWxkXzY1YjkwOGIyNjM5ZWYiLCIlZHJlc3NfY29kZSUiOiJDYXN1YWwiLCIlX2RyZXNzX2NvZGUlIjoiZmllbGRfNjViOTBhN2M0NDQyNyIsIiVvdGhlcl90aXBzJSI6IiIsIiVfb3RoZXJfdGlwcyUiOiJmaWVsZF82NWI5MTAzM2JjOWNkIiwiJWNpdHklIjoiSXN0YW5idWwiLCIlX2NpdHklIjoiZmllbGRfNjVjMTFmNTkzMmFjNyIsIiV0ZF9wb3N0X3RoZW1lX3NldHRpbmdzJSI6eyJ0ZF9zdWJ0aXRsZSI6IkNpdGllcyBvZnRlbiBoYXZlIGEgbGlzdCBvZiBtdXN0LXNlZSBwbGFjZXMsIGFuZCBpbiBJc3RhbmJ1bCwgdGhlIFN1bGV5bWFuaXllIE1vc3F1ZSBpcyBhdCB0aGUgdG9wIG9mIHRoaXMgbGlzdC4gVGhpcyBhcmNoaXRlY3R1cmFsIG1hc3RlcnBpZWNlIG9mIHRoZSBPdHRvbWFuIHBlcmlvZCBzaG91bGQgZGVmaW5pdGVseSBiZSBvbiB5b3VyIGl0aW5lcmFyeS4iLCJoYXNfcmV2aWV3IjoicmF0ZV9wZXJjZW50IiwicF9yZXZpZXdfcGVyY2VudHMiOlt7ImRlc2MiOiJPdmVyYWxsIFNhdGlzZmFjdG9yeSBQZXJjZW50IiwicmF0ZSI6Ijk5In1dLCJwX3Jldmlld19wb2ludHMiOlt7InJhdGUiOiI5Ljk5OSJ9XX0sIiVfbW9uc3Rlcmluc2lnaHRzX3NraXBfdHJhY2tpbmclIjoiIiwiJV9tb25zdGVyaW5zaWdodHNfc2l0ZW5vdGVfYWN0aXZlJSI6IiIsIiV0ZG1fc3RhdHVzJSI6IiIsIiV0ZG1fZ3JpZF9zdGF0dXMlIjoiIiwiJWZvb3Rub3RlcyUiOiIiLCIlUXVhbGl0eV9TY29yZSUiOiIxMDAwMCIsIiVfUXVhbGl0eV9TY29yZSUiOiJmaWVsZF82NWI3ZDUxOWVkZTEzIiwiJXJhbmtfbWF0aF9hbmFseXRpY19vYmplY3RfaWQlIjoiMTQiLCIlcmFua19tYXRoX3NjaGVtYV9CbG9nUG9zdGluZyUiOnsiaGVhZGxpbmUiOiIlc2VvX3RpdGxlJSIsImRlc2NyaXB0aW9uIjoiJXNlb19kZXNjcmlwdGlvbiUiLCJkYXRlUHVibGlzaGVkIjoiJWRhdGUoWS1tLWRUSDppOnNQKSUiLCJkYXRlTW9kaWZpZWQiOiIlbW9kaWZpZWQoWS1tLWRUSDppOnNQKSUiLCJpbWFnZSI6eyJAdHlwZSI6IkltYWdlT2JqZWN0IiwidXJsIjoiJXBvc3RfdGh1bWJuYWlsJSJ9LCJhdXRob3IiOnsiQHR5cGUiOiJQZXJzb24iLCJuYW1lIjoiJW5hbWUlIn0sIkB0eXBlIjoiQmxvZ1Bvc3RpbmciLCJtZXRhZGF0YSI6eyJ0aXRsZSI6IkFydGljbGUiLCJ0eXBlIjoidGVtcGxhdGUiLCJpc1ByaW1hcnkiOnRydWV9fSwiJXJhbmtfbWF0aF9zY2hlbWFfVmlkZW9PYmplY3QlIjp7IkB0eXBlIjoiVmlkZW9PYmplY3QiLCJtZXRhZGF0YSI6eyJ0aXRsZSI6IlZpZGVvIiwidHlwZSI6InRlbXBsYXRlIiwic2hvcnRjb2RlIjoicy02NWJiYmU3YjY2NzAzIiwiaXNQcmltYXJ5Ijp0cnVlLCJyZXZpZXdMb2NhdGlvblNob3J0Y29kZSI6IltyYW5rX21hdGhfcmljaF9zbmlwcGV0XSIsImNhdGVnb3J5IjoiJWNhdGVnb3JpZXMlIiwidGFncyI6IiV0YWdzJSIsImlzQXV0b0dlbmVyYXRlZCI6dHJ1ZX0sIm5hbWUiOiJTdWxleW1hbml5ZSBNb3NxdWUgSXN0YW5idWwgfCBDaXR5IEluIFR1cmtleSB8IERyb25lIDRrIiwiZGVzY3JpcHRpb24iOiJJbiBPdHRvbWFuIElzdGFuYnVsIHRoZSBncmVhdCBlbmdpbmVlci1hcmNoaXRlY3QgTWltYXIgU2luYW4gaGFkIGJ1aWx0IHRoZSBTdWxleW1hbml5ZSBtb3NxdWUuQW1hemluZyBkYXkgYW5kIG5pZ2h0IG9mIHRoZSBTdWxleW1hbml5ZSBNb3NxdWUgSW5zdGFuYnVsLkNpdHkgLi4uIiwidXBsb2FkRGF0ZSI6IjIwMjItMDItMjJUMDA6MDE6NTYtMDg6MDAiLCJ0aHVtYm5haWxVcmwiOiIlcG9zdF90aHVtYm5haWwlIiwiZW1iZWRVcmwiOiJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9yQkR0RFhEaVpfZyIsImNvbnRlbnRVcmwiOiIiLCJkdXJhdGlvbiI6IlBUNk0yNFMiLCJ3aWR0aCI6IjEyODAiLCJoZWlnaHQiOiI3MjAiLCJpc0ZhbWlseUZyaWVuZGx5Ijp0cnVlfSwiJXJhbmtfbWF0aF9zZW9fc2NvcmUlIjoiODgiLCIlcmFua19tYXRoX2ludGVybmFsX2xpbmtzX3Byb2Nlc3NlZCUiOiIxIiwiJXJhbmtfbWF0aF9wcmltYXJ5X2NhdGVnb3J5JSI6IjU2IiwiJV9jbXBsel9zY2FubmVkX3Bvc3QlIjoiMSIsIiVyYW5rX21hdGhfcGlsbGFyX2NvbnRlbnQlIjoib24iLCIlcmFua19tYXRoX2ZvY3VzX2tleXdvcmQlIjoiU3VsZXltYW5peWUgTW9zcXVlIiwiJXJhbmtfbWF0aF90aXRsZSUiOiJFeHBsb3JlIHRoZSBNYWduaWZpY2VudCBTdWxleW1hbml5ZSBNb3NxdWUgaW4gSXN0YW5idWwgLSBUcmF2ZWwgVHVya2V5IiwiJXJhbmtfbWF0aF9kZXNjcmlwdGlvbiUiOiJEaXNjb3ZlciB0aGUgYXdlLWluc3BpcmluZyBTdWxleW1hbml5ZSBNb3NxdWUsIGEgbXVzdC12aXNpdCBhdHRyYWN0aW9uIGluIElzdGFuYnVsLiBJbW1lcnNlIHlvdXJzZWxmIGluIFR1cmtpc2ggaGlzdG9yeSBhbmQgYXJjaGl0ZWN0dXJlLiIsIiVyYW5rJSI6IjAwMDYiLCIlX3JhbmslIjoiZmllbGRfNjViN2Q1MTllZGUxMyIsIiVjbXBsel9oaWRlX2Nvb2tpZWJhbm5lciUiOiIiLCIlQXZhcmVnZSBWaXNpdGluZyBUaW1lJSI6IjIiLCIlX0F2YXJlZ2UgVmlzaXRpbmcgVGltZSUiOiJmaWVsZF82NWI5MDZmYmMwODFiIiwiJU9wZW4gZGF5cyUiOiJFdmVyeWRheSIsIiVfT3BlbiBkYXlzJSI6ImZpZWxkXzY1YjkwODEzYzA4MWMiLCIlT3BlbnMgYXQlIjoiIiwiJV9PcGVucyBhdCUiOiJmaWVsZF82NWI5MDg3ODQ5YjVkIiwiJUNsb3NlZCBhdCUiOiIiLCIlX0Nsb3NlZCBhdCUiOiJmaWVsZF82NWJlYTU2OTc1YmFjIiwiJUxvY2F0aW9uJSI6IiIsIiVfTG9jYXRpb24lIjoiZmllbGRfNjViOTExMDdhMDRkZSIsIiVfd3BnbXBfbG9jYXRpb25fYWRkcmVzcyUiOiJTXHUwMGZjbGV5bWFuaXllLCBQcm9mLiBTXHUwMTMxZGRcdTAxMzFrIFNhbWkgT25hciBDZC4gTm86MSwgMzQxMTYgRmF0aWgvXHUwMTMwc3RhbmJ1bCwgVFx1MDBmY3JraXllIiwiJV93cGdtcF9sb2NhdGlvbl9jaXR5JSI6IiIsIiVfd3BnbXBfbG9jYXRpb25fc3RhdGUlIjoiXHUwMTMwc3RhbmJ1bCIsIiVfd3BnbXBfbG9jYXRpb25fY291bnRyeSUiOiJUXHUwMGZjcmtpeWUiLCIlX3dwZ21wX21ldGFib3hfbGF0aXR1ZGUlIjoiNDEuMDE2MDQ3IiwiJV93cGdtcF9tZXRhYm94X2xvbmdpdHVkZSUiOiIyOC45NjM5NzExIiwiJV93cGdtcF9tZXRhYm94X2xvY2F0aW9uX3JlZGlyZWN0JSI6InBvc3QiLCIlX3dwZ21wX21ldGFib3hfY3VzdG9tX2xpbmslIjoiIiwiJV93cGdtcF9tYXBfaWQlIjoiYToxOntpOjA7czoxOlwiMVwiO30iLCIlX3dwZ21wX21ldGFib3hfbWFya2VyX2lkJSI6ImE6MTp7aTowO3M6MTpcIjNcIjt9IiwiJV93cGdtcF9tZXRhYm94X3RheG9tb21pZXNfdGVybXMlIjoiIiwiJV93cGdtcF9leHRlbnNpb25zX2ZpZWxkcyUiOiIiLCIldGRfcmV2aWV3X2tleSUiOiI0Ljk1IiwidGF4b25vbXk9Y2F0ZWdvcnkiOiJUaGluZ3MgdG8gZG8gaW4gSVNUQU5CVUwsIFRoaW5ncyB0byBkbyBpbiBUVVJLRVkiLCJ0YXhvbm9teT1wb3N0X3RhZyI6Imhpc3RvcmljYWwgc2l0ZSwgbW9zcXVlIC8gbWFzamlkIiwidGF4b25vbXk9cG9zdF9mb3JtYXQiOiIifSwiaWNvbiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvbW9zcXVlLnBuZyJ9LCJpZCI6MzIzLCJpbmZvd2luZG93X2Rpc2FibGUiOmZhbHNlLCJjYXRlZ29yaWVzIjpbeyJpY29uIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1nb29nbGUtbWFwLWdvbGQvYXNzZXRzL2ltYWdlcy9pY29ucy9tb3NxdWUucG5nIiwibmFtZSI6Ik1vc3F1ZSIsImlkIjoiMyIsInR5cGUiOiJjYXRlZ29yeSIsImV4dGVuc2lvbl9maWVsZHMiOnsiY2F0X29yZGVyIjoiIn19XX0seyJzb3VyY2UiOiJwb3N0IiwidGl0bGUiOiJTaWRlIEFuY2llbnQgQ2l0eSAmIzgyMTE7IEFudGFseWEiLCJpbmZvd2luZG93X2NvbnRlbnQiOiI8ZGl2IGNsYXNzPVwiZmMtbWFpblwiPjxkaXYgY2xhc3M9XCJmYy1pdGVtLXRpdGxlXCI+U2lkZSBBbmNpZW50IENpdHkgJiM4MjExOyBBbnRhbHlhIDxzcGFuIGNsYXNzPVwiZmMtYmFkZ2UgaW5mb1wiPlRoaW5ncyB0byBkbyBpbiBBbnRhbHlhLCBUaGluZ3MgdG8gZG8gaW4gVFVSS0VZPC9zcGFuPjwvZGl2PiA8ZGl2IGNsYXNzPVwiZmMtaXRlbS1mZWF0dXJlZF9pbWFnZVwiPjxkaXYgY2xhc3M9XCJmYy1mZWF0dXJlLWltZ1wiPjxpbWcgbG9hZGluZz1cImxhenlcIiBkZWNvZGluZz1cImFzeW5jXCIgYWx0PVwiU2lkZSBBbmNpZW50IENpdHkgJiM4MjExOyBBbnRhbHlhXCIgd2lkdGg9XCIyOTdcIiBoZWlnaHQ9XCIzMDBcIiBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc2lkZS1hbmNpZW50LWNpdHktZHJvbmUtcGhvdG8tMS0yOTd4MzAwLmpwZ1wiIGNsYXNzPVwid3AtcG9zdC1pbWFnZSAgIHdwZ21wX2ZlYXR1cmVkX2ltYWdlXCIgPjwvZGl2PiA8L2Rpdj5XaGVuIG1ha2luZyB5b3VyIHZhY2F0aW9uIHBsYW5zLCBJIHdvdWxkIHNheSBkbyBub3Qgc2tpcCB0aGlzIHBlbmluc3VsYS4gQmVjYXVzZSBTaWRlIGlzIGEgYmVhdXRpZnVsIGhpc3RvcmljYWwgcGVuaW5zdWxhIHdoZXJlIHlvdSB3aWxsIGFkbWlyZSB0aGUgaGlzdG9yaWNhbCB0ZXh0dXJlcyB3aGlsZSB0cmF2ZWxpbmcgYW5kIHdpdG5lc3MgYWxsIHRoZSBleHBlcmllbmNlcyBvbiB0aGUgc3BvdCwgZW5qb3kgdGhlIHNlYSBhbmQgQXBvbGxvJiM4MjE3O3MgZ3JlZXRpbmcgdGhlIHN1bi4gJiM4MjIwO0hvdyBjYW4gSSBnbyB0byB0aGUgU2lkZSBBbmNpZW50IENpdHk/JiM4MjIxOyBUaGUgWyZoZWxsaXA7XTxhZGRyZXNzPjxiPkFkZHJlc3MgOiA8L2I+e21hcmtlcl9hZGRyZXNzfTwvYWRkcmVzcz48YSB0YXJnZXQ9XCJfYmxhbmtcIiAgY2xhc3M9XCJmYy1idG4gZmMtYnRuLXNtYWxsIGZjLWJ0bi1yZWRcIiBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3NpZGUtYW5jaWVudC1jaXR5LWFudGFseWEvMTA1L1wiPlJlYWQgTW9yZS4uLjwvYT48L2Rpdj4iLCJjb250ZW50IjoiV2hlbiBtYWtpbmcgeW91ciB2YWNhdGlvbiBwbGFucywgSSB3b3VsZCBzYXkgZG8gbm90IHNraXAgdGhpcyBwZW5pbnN1bGEuIEJlY2F1c2UgU2lkZSBpcyBhIGJlYXV0aWZ1bCBoaXN0b3JpY2FsIHBlbmluc3VsYSB3aGVyZSB5b3Ugd2lsbCBhZG1pcmUgdGhlIGhpc3RvcmljYWwgdGV4dHVyZXMgd2hpbGUgdHJhdmVsaW5nIGFuZCB3aXRuZXNzIGFsbCB0aGUgZXhwZXJpZW5jZXMgb24gdGhlIHNwb3QsIGVuam95IHRoZSBzZWEgYW5kIEFwb2xsbyYjODIxNztzIGdyZWV0aW5nIHRoZSBzdW4uICYjODIyMDtIb3cgY2FuIEkgZ28gdG8gdGhlIFNpZGUgQW5jaWVudCBDaXR5PyYjODIyMTsgVGhlIFsmaGVsbGlwO10iLCJhZGRyZXNzIjoiU2lkZSwgTGltYW4gQ2QuIE5vOjIsIDA3MzMwIE1hbmF2Z2F0L0FudGFseWEsIFRcdTAwZmNya2l5ZSIsImxvY2F0aW9uIjp7ImxhdCI6IjM2Ljc2NzkwNjgiLCJzdGF0ZSI6IkFudGFseWEiLCJjb3VudHJ5IjoiVFx1MDBmY3JraXllIiwibG5nIjoiMzEuMzkwNDM3NiIsIm9uY2xpY2tfYWN0aW9uIjoibWFya2VyIiwicmVkaXJlY3RfcGVybWFsaW5rIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3NpZGUtYW5jaWVudC1jaXR5LWFudGFseWEvMTA1LyIsInpvb20iOjUsImV4dHJhX2ZpZWxkcyI6eyJwb3N0X2V4Y2VycHQiOiJXaGVuIG1ha2luZyB5b3VyIHZhY2F0aW9uIHBsYW5zLCBJIHdvdWxkIHNheSBkbyBub3Qgc2tpcCB0aGlzIHBlbmluc3VsYS4gQmVjYXVzZSBTaWRlIGlzIGEgYmVhdXRpZnVsIGhpc3RvcmljYWwgcGVuaW5zdWxhIHdoZXJlIHlvdSB3aWxsIGFkbWlyZSB0aGUgaGlzdG9yaWNhbCB0ZXh0dXJlcyB3aGlsZSB0cmF2ZWxpbmcgYW5kIHdpdG5lc3MgYWxsIHRoZSBleHBlcmllbmNlcyBvbiB0aGUgc3BvdCwgZW5qb3kgdGhlIHNlYSBhbmQgQXBvbGxvJiM4MjE3O3MgZ3JlZXRpbmcgdGhlIHN1bi4gJiM4MjIwO0hvdyBjYW4gSSBnbyB0byB0aGUgU2lkZSBBbmNpZW50IENpdHk/JiM4MjIxOyBUaGUgWyZoZWxsaXA7XSIsInBvc3RfY29udGVudCI6IjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxNDUsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc2lkZS1hbmNpZW50LWNpdHktZHJvbmUtcGhvdG8tMS0xMDEzeDEwMjQuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xNDVcIi8+PGZpZ2NhcHRpb24gY2xhc3M9XCJ3cC1lbGVtZW50LWNhcHRpb25cIj5pbnN0YWdyYW06Jm5ic3A7PGEgaHJlZj1cImh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYXl0ZWtpbnV6YXIvXCI+QGF5dGVraW51emFyPC9hPjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPldoZW4gbWFraW5nIHlvdXIgdmFjYXRpb24gcGxhbnMsIEkgd291bGQgc2F5IGRvIG5vdCBza2lwIHRoaXMgcGVuaW5zdWxhLiBCZWNhdXNlIFNpZGUgaXMgYSBiZWF1dGlmdWwgaGlzdG9yaWNhbCBwZW5pbnN1bGEgd2hlcmUgeW91IHdpbGwgYWRtaXJlIHRoZSBoaXN0b3JpY2FsIHRleHR1cmVzIHdoaWxlIHRyYXZlbGluZyBhbmQgd2l0bmVzcyBhbGwgdGhlIGV4cGVyaWVuY2VzIG9uIHRoZSBzcG90LCBlbmpveSB0aGUgc2VhIGFuZCBBcG9sbG8ncyBncmVldGluZyB0aGUgc3VuLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpyYW5rLW1hdGgvdG9jLWJsb2NrIHtcImhlYWRpbmdzXCI6W3tcImtleVwiOlwiYzliMjZiNTItOGYzMy00ZDk4LTg5MTItODJjODk3YzU3YWZlXCIsXCJjb250ZW50XCI6XCJcXHUwMDIySG93IGNhbiBJIGdvIHRvIHRoZSBTaWRlIEFuY2llbnQgQ2l0eT9cXHUwMDIyXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjaG93LWNhbi1pLWdvLXRvLXRoZS1zaWRlLWFuY2llbnQtY2l0eVwiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcIjRjODFlOTZjLWY5YzUtNDIyMi04MWNkLWI0YTk0MjcwODFlZVwiLFwiY29udGVudFwiOlwiR2VuZXJhbCBJbmZvIFwiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI2dlbmVyYWwtaW5mb1wiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcImQwNTA2N2IyLWQwYmQtNGJjYy1hYmRlLTA0YTkyMzIwMmYyZFwiLFwiY29udGVudFwiOlwiSGlzdG9yeVwiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI2hpc3RvcnlcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCIxMDk2MmJiOC0wMzc3LTQ0MDktYjk0Yy0zMDI4MTI2ZjcyNzJcIixcImNvbnRlbnRcIjpcIkRldGFpbHMgYWJvdXQgdGhlIE1vbnVtZW50c1wiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI2RldGFpbHMtYWJvdXQtdGhlLW1vbnVtZW50c1wiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcIjgxM2RmMWI5LWU5NzMtNGFkZi04YWE2LTA3ZDE3NGY4NGJkZlwiLFwiY29udGVudFwiOlwiU3ltYm9sIG9mIFNpZGUgQW5jaWVudCBDaXR5XCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjc3ltYm9sLW9mLXNpZGUtYW5jaWVudC1jaXR5XCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9XSxcImxpc3RTdHlsZVwiOlwidWxcIn0gLS0+XG48ZGl2IGNsYXNzPVwid3AtYmxvY2stcmFuay1tYXRoLXRvYy1ibG9ja1wiIGlkPVwicmFuay1tYXRoLXRvY1wiPjxuYXY+PHVsPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjaG93LWNhbi1pLWdvLXRvLXRoZS1zaWRlLWFuY2llbnQtY2l0eVwiPlwiSG93IGNhbiBJIGdvIHRvIHRoZSBTaWRlIEFuY2llbnQgQ2l0eT9cIjwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjZ2VuZXJhbC1pbmZvXCI+R2VuZXJhbCBJbmZvIDwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjaGlzdG9yeVwiPkhpc3Rvcnk8L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI2RldGFpbHMtYWJvdXQtdGhlLW1vbnVtZW50c1wiPkRldGFpbHMgYWJvdXQgdGhlIE1vbnVtZW50czwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjc3ltYm9sLW9mLXNpZGUtYW5jaWVudC1jaXR5XCI+U3ltYm9sIG9mIFNpZGUgQW5jaWVudCBDaXR5PC9hPjwvbGk+PC91bD48L25hdj48L2Rpdj5cbjwhLS0gL3dwOnJhbmstbWF0aC90b2MtYmxvY2sgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhvdy1jYW4taS1nby10by10aGUtc2lkZS1hbmNpZW50LWNpdHlcIj48c3Ryb25nPlwiSG93IGNhbiBJIGdvIHRvIHRoZSBTaWRlIEFuY2llbnQgQ2l0eT9cIjwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBTaWRlIEFuY2llbnQgQ2l0eSBpcyBsb2NhdGVkIGluIHRoZSBNYW5hdmdhdCBEaXN0cmljdCwgNzUga20gZWFzdCBvZiBBbnRhbHlhLiBUbyByZWFjaCBpdCwgeW91IGNhbiBoZWFkIHRvd2FyZHMgdGhlIFNpZGUgTmVpZ2hib3VyaG9vZC4gQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBhbHNvIHRha2UgdGhlIFNpZGUgYnVzZXMgZnJvbSB0aGUgY2l0eSBjZW50cmUgYWNjb3JkaW5nIHRvIHlvdXIgcHJlZmVyZW5jZS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6Y292ZXIge1widXJsXCI6XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc2lkZS1hbmNpZW50LWNpdHktbG9jYXRlZC1vbi1nb29nbGUtbWFwcy5qcGdcIixcImlkXCI6MTQyLFwiZGltUmF0aW9cIjo1MCxcIm1pbkhlaWdodFwiOjM4MSxcIm1pbkhlaWdodFVuaXRcIjpcInB4XCIsXCJzdHlsZVwiOntcImNvbG9yXCI6e319fSAtLT5cbjxkaXYgY2xhc3M9XCJ3cC1ibG9jay1jb3ZlclwiIHN0eWxlPVwibWluLWhlaWdodDozODFweFwiPjxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwid3AtYmxvY2stY292ZXJfX2JhY2tncm91bmQgaGFzLWJhY2tncm91bmQtZGltXCI+PC9zcGFuPjxpbWcgY2xhc3M9XCJ3cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZCB3cC1pbWFnZS0xNDJcIiBhbHQ9XCJcIiBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc2lkZS1hbmNpZW50LWNpdHktbG9jYXRlZC1vbi1nb29nbGUtbWFwcy5qcGdcIiBkYXRhLW9iamVjdC1maXQ9XCJjb3ZlclwiLz48ZGl2IGNsYXNzPVwid3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lclwiPjwhLS0gd3A6cGFyYWdyYXBoIHtcImFsaWduXCI6XCJjZW50ZXJcIixcImZvbnRTaXplXCI6XCJsYXJnZVwifSAtLT5cbjxwIGNsYXNzPVwiaGFzLXRleHQtYWxpZ24tY2VudGVyIGhhcy1sYXJnZS1mb250LXNpemVcIj48c3Ryb25nPjxtYXJrIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsIDAsIDAsIDApXCIgY2xhc3M9XCJoYXMtaW5saW5lLWNvbG9yIGhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1jb2xvclwiPkNMSUNLIFRPIEdPIDwvbWFyaz48L3N0cm9uZz48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+PC9kaXY+PC9kaXY+XG48IS0tIC93cDpjb3ZlciAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiZ2VuZXJhbC1pbmZvXCI+PHN0cm9uZz5HZW5lcmFsIEluZm8gPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+U2lkZSwgdGhlIG1vc3QgaW1wb3J0YW50IHBvcnQgY2l0eSBvZiBQYW1waHlsaWEgaW4gYW5jaWVudCB0aW1lcywgd2FzIGVzdGFibGlzaGVkIG9uIGEgcGVuaW5zdWxhIHRoYXQgd2FzIDM1MC00MDAgbWV0cmVzIHdpZGUuIEl0IGlzIGxvY2F0ZWQgODAga2lsb21ldHJlcyBlYXN0IG9mIEFudGFseWEgYW5kIDcga2lsb21ldHJlcyBzb3V0aHdlc3Qgb2YgTWFuYXZnYXQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTQxLFwid2lkdGhcIjpcIjY5NnB4XCIsXCJoZWlnaHRcIjpcImF1dG9cIixcInNpemVTbHVnXCI6XCJmdWxsXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1mdWxsIGlzLXJlc2l6ZWRcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zaWRlLWFudGlrLWtlbnRpLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTQxXCIgc3R5bGU9XCJ3aWR0aDo2OTZweDtoZWlnaHQ6YXV0b1wiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlNpZGUgaXMgYSBwZW5pbnN1bGEgbG9jYXRlZCBpbiB0aGUgTWFuYXZnYXQgZGlzdHJpY3Qgb2YgQW50YWx5YS4gSXQgaXMgYmVsaWV2ZWQgdG8gaGF2ZSBiZWVuIGVzdGFibGlzaGVkIGJlZm9yZSB0aGUgN3RoIGNlbnR1cnkgQkMgYW5kIGlzIG5hbWVkIGFmdGVyIHRoZSBwb21lZ3JhbmF0ZSwgd2hpY2ggd2FzIGNvbnNpZGVyZWQgYSBzYWNyZWQgZnJ1aXQgYnkgdGhlIGFuY2llbnQgQW5hdG9saWFuIGdvZGRlc3Nlcy4gVGhlIGVtYmxlbSBvZiB0aGUgY2l0eSBpcyBhbHNvIGEgcG9tZWdyYW5hdGUuIEFjY29yZGluZyB0byBpbnNjcmlwdGlvbnMsIHRoZSBsYW5ndWFnZSBzcG9rZW4gaW4gU2lkZSB3YXMgY2FsbGVkIFwiU2lkZWNlXCIgYW5kIHdhcyBzcGVjaWZpYyB0byB0aGUgY2l0eSB1bnRpbCB0aGUgM3JkIGNlbnR1cnkgQkMuIEFsdGhvdWdoIFNpZGVjZSBpcyBiZWxpZXZlZCB0byBoYXZlIGJlZW4gYSBsYW5ndWFnZSBvZiBMdXdpYW4gb3JpZ2luIHNwb2tlbiBieSB0aGUgaW5kaWdlbm91cyBwZW9wbGUgb2YgQW5hdG9saWEsIGl0IGlzIHN0aWxsIG5vdCBmdWxseSBhbmFseXplZCBhbmQgaXMgY29uc2lkZXJlZCBvbmUgb2YgdGhlIEluZG8tRXVyb3BlYW4gbGFuZ3VhZ2VzLiBUaHJvdWdob3V0IGhpc3RvcnksIFNpZGUgd2FzIHJ1bGVkIGJ5IHNldmVyYWwgZW1waXJlcywgaW5jbHVkaW5nIHRoZSBIaXR0aXRlcywgTHlkaWFucywgUGVyc2lhbnMsIFJvbWFucywgQnl6YW50aW5lcywgYW5kIE90dG9tYW5zLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDppbWFnZSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly93d3cua3VsdHVycG9ydGFsaS5nb3YudHIvY29udGVudHMvaW1hZ2VzLzIwMTgwOTA2MTU0NDE0NjcyX3NpZGUlMjBsb2dvbHUuanBnXCIgYWx0PVwiXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+UGhvdG86IFR1cmtleSBDdWx0dXJlIFBvcnRhbDwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaGlzdG9yeVwiPjxzdHJvbmc+SGlzdG9yeTwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5TaWRlIHdhcyBlc3RhYmxpc2hlZCBhcyBhIHNldHRsZW1lbnQgY2VudGVyIGluIHRoZSA3dGggY2VudHVyeSBCQy4gSXQgY2FtZSB1bmRlciB0aGUgcnVsZSBvZiB0aGUgTHlkaWFuIEtpbmdkb20gaW4gdGhlIDZ0aCBjZW50dXJ5IEJDLCBhbG9uZyB3aXRoIHRoZSByZXN0IG9mIFBhbXBoeWxpYS4gQWZ0ZXIgdGhlIGZhbGwgb2YgdGhlIEx5ZGlhbiBLaW5nZG9tIGluIDU0Ny80NiBCQywgaXQgd2FzIHJ1bGVkIGJ5IHRoZSBQZXJzaWFucy4gRHVyaW5nIHRoaXMgcGVyaW9kLCB0aGUgY2l0eSBtYW5hZ2VkIHRvIG1haW50YWluIHNvbWUgb2YgaXRzIGZyZWVkb20gYW5kIGV2ZW4gbWludGVkIGl0cyBvd24gY29pbnMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkluIDMzNCBCQywgU2lkZSB3ZWxjb21lZCB0aGUgTWFjZWRvbmlhbiBraW5nLCBBbGV4YW5kZXIgdGhlIEdyZWF0LCB3aXRob3V0IGFueSByZXNpc3RhbmNlIGR1cmluZyBoaXMgQW5hdG9saWFuIGNhbXBhaWduLiBMYXRlciwgaXQgYmVjYW1lIG9uZSBvZiB0aGUgbWFqb3IgY29pbiBtaW50aW5nIGNlbnRlcnMgZXN0YWJsaXNoZWQgYnkgQWxleGFuZGVyLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5BZnRlciBBbGV4YW5kZXIncyBkZWF0aCwgU2lkZSBjb25zdGFudGx5IGNoYW5nZWQgaGFuZHMgYmV0d2VlbiBkaWZmZXJlbnQga2luZ2RvbXMgZHVyaW5nIHRoZSBIZWxsZW5pc3RpYyBwZXJpb2QuIEl0IGNhbWUgdW5kZXIgdGhlIHJ1bGUgb2YgdGhlIFB0b2xlbWllcyBpbiB0aGUgM3JkIGNlbnR1cnkgQkMsIGFuZCBsYXRlciB1bmRlciB0aGUgU2VsZXVjaWRzIGluIDIxNS0xODkgQkMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkZvbGxvd2luZyB0aGUgU2VsZXVjaWRzJyBkZWZlYXQgaW4gdGhlIHdhciBhZ2FpbnN0IHRoZSBSb21hbnMsIHRoZSBBcGFtZWlhIFBlYWNlIHRyZWF0eSBvZiAxODggQkMgZ3JhbnRlZCBQYW1waHlsaWEgYW5kIFNpZGUgdG8gdGhlIEJlcmdhbWEgS2luZ2RvbS4gSG93ZXZlciwgU2lkZSByZWdhaW5lZCBpdHMgaW5kZXBlbmRlbmNlIGFmdGVyIHNvbWUgdGltZSBhbmQgZXhwZXJpZW5jZWQgb25lIG9mIHRoZSBicmlnaHRlc3QgcGVyaW9kcyBpbiBpdHMgaGlzdG9yeS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aW1hZ2UgLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vd3d3Lmt1bHR1cnBvcnRhbGkuZ292LnRyL2NvbnRlbnRzL2ltYWdlcy9BTlRBTFlBLS1TJWM0JWIwREUtJTIwU0VSVkVUJTIwVVlHVU4lMjAyMDE5MDUxM18yJTIwKDQpLmpwZ1wiIGFsdD1cIlwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlBob3RvOiBTZXJ2ZXQgVXlndW48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SXQgaXMgd29ydGggbm90aW5nIHRoYXQgU2lkZSB3YXMgYW4gaW1wb3J0YW50IGN1bHR1cmFsIGNlbnRlciBpbiB0aGUgRWFzdGVybiBNZWRpdGVycmFuZWFuIGR1cmluZyBpdHMgdGltZS4gVW5mb3J0dW5hdGVseSwgdGhpcyBwZXJpb2Qgb2YgcHJvc3Blcml0eSBkaWQgbm90IGxhc3QgbG9uZy4gUGlyYWN5IGJlZ2FuIHRvIHNwcmVhZCBpbiB0aGUgcmVnaW9ucyBvZiBQaXNpZGlhIGFuZCB0aGUgbW91bnRhaW5vdXMgQ2lsaWNpYSBkdXJpbmcgdGhlIDFzdCBjZW50dXJ5IEJDLCB0aGVuIGl0IHNwcmVhZCB0byBQYW1waHlsaWEgYW5kIGV2ZW50dWFsbHkgcmVhY2hlZCBTaWRlLiBUaGUgU2lkZWxpcyB3ZXJlIHVuYWJsZSB0byBmaWdodCB0aGUgcGlyYXRlcyBhbmQgaGFkIHRvIGFsbG93IHRoZW0gdG8gdXNlIHRoZWlyIGhhcmJvcnMgYW5kIG1hcmtldHMuIEZpbmFsbHksIGluIDc4IEJDLCB0aGUgUm9tYW4gQ29uc3VsIFB1YmxpdXMgU2VydmlsaXVzIHNhdmVkIHRoZSByZWdpb24gZnJvbSBwaXJhdGVzLCBhbmQgU2lkZSwgbGlrZSBvdGhlciBjaXRpZXMgaW4gUGFtcGh5bGlhLCB3YXMgaW5jb3Jwb3JhdGVkIGludG8gdGhlIFJvbWFuIEVtcGlyZS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aW1hZ2UgLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vd3d3Lmt1bHR1cnBvcnRhbGkuZ292LnRyL2NvbnRlbnRzL2ltYWdlcy9BTlRBTFlBLVMlYzQlYjBERS1HJWMzJTljTENBTkFDQVIlMjAoNTIpLmpwZ1wiIGFsdD1cIlwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlBob3RvOiBHXHUwMGZjbGNhbiBBY2FyPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkluIDI1IEJDLCBBdWd1c3R1cyBlc3RhYmxpc2hlZCBQYW1waHlsaWEgYXMgYSBwcm92aW5jZSB1bmRlciBoaXMgZGlyZWN0IGF1dGhvcml0eS4gQXMgYSByZXN1bHQsIFNpZGUgYmVjYW1lIGEgY2l0eSBvZiB0aGUgUm9tYW4gcHJvdmluY2UuIER1cmluZyB0aGUgMm5kIGFuZCAzcmQgY2VudHVyaWVzIEFELCBTaWRlIGZsb3VyaXNoZWQsIGJ1dCBieSB0aGUgNHRoIGNlbnR1cnksIGl0IGhhZCBiZWNvbWUgYSBwb29yIENocmlzdGlhbiBjaXR5LiBTaWRlJ3MgdGhpcmQgYW5kIGZpbmFsIHBlcmlvZCBvZiBwcm9zcGVyaXR5IG9jY3VycmVkIGR1cmluZyB0aGUgNXRoIGFuZCA2dGggY2VudHVyaWVzLCB3aGVuIGl0IGJlY2FtZSB0aGUgY2FwaXRhbCBvZiB0aGUgRWFzdGVybiBQYW1waHlsaWEgTWV0cm9wb2xpdGFuYXRlLiBIb3dldmVyLCBpbiB0aGUgOXRoIGFuZCAxMHRoIGNlbnR1cmllcywgQXJhYiByYWlkcyB3ZWFrZW5lZCB0aGUgY2l0eSwgYW5kIGl0IHdhcyByZWZlcnJlZCB0byBhcyBhIFwibmVzdCBvZiBwaXJhdGVzXCIgYnkgQnl6YW50aW5lIEVtcGVyb3IgQ29uc3RhbnRpbm9zIFBvcnBoeXJvZ2VubmV0b3MgaW4gaGlzIHdvcmsgXCJEZSBUaGVtYXRpYnVzXCIuIFRoZSBBcmFiIGdlb2dyYXBoZXIgSWRyaXNpIGNhbGxlZCBTaWRlIFwiQnVybnQgQW50YWx5YVwiIGFuZCByZXBvcnRlZCB0aGF0IGl0cyBpbmhhYml0YW50cyBoYWQgYmVlbiByZWxvY2F0ZWQgdG8gXCJOZXcgQW50YWx5YVwiLCB0d28gZGF5cyBhd2F5LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgdmlsbGFnZSBvZiBTZWxpbWl5ZSBWaWxsYWdlIHdhcyBlc3RhYmxpc2hlZCBieSBHeXJneXJpYW4gaW1taWdyYW50cyBpbiB0aGUgZWFybHkgMjB0aCBjZW50dXJ5IG9uIHRoZSBydWlucyBvZiB0aGUgYW5jaWVudCBjaXR5IGtub3duIGFzIFNpZGUuIFRoZSBjaXR5IG9mIFNpZGUgd2FzIGJ1aWx0IG9uIGEgcGVuaW5zdWxhIGFuZCBpcyBjaGFyYWN0ZXJpemVkIGJ5IGEgbW9udW1lbnRhbCBzdHJlZXQgdGhhdCBiZWdpbnMgZnJvbSB0aGUgbWFpbiBnYXRlIG9mIHRoZSBjaXR5IGFuZCBleHRlbmRzIGFsb25nIHRoZSBwZW5pbnN1bGEuIFRoaXMgbWFpbiBzdHJlZXQgcnVucyBhbG1vc3Qgc3RyYWlnaHQgZXhjZXB0IGZvciB0aGUgY3VydmUgaW4gZnJvbnQgb2YgdGhlIFRoZWF0ZXIsIGFuZCBlbmRzIHdpdGggYSBsYXJnZSBzcXVhcmUgbmVhciB0aGUgdGVtcGxlcy4gVGhlIGNpdHkncyBzZWNvbmQgbWFqb3Igc3RyZWV0IGV4dGVuZHMgZnJvbSB0aGUgXCJHcmVhdCBHYXRlXCIgdG93YXJkcyB0aGUgc291dGggb2YgdGhlIGNpdHksIGFuZCBib3RoIHN0cmVldHMgYXJlIGxpbmVkIHdpdGggY29sb25uYWRlZCBwb3J0aWNvcyB3aXRoIENvcmludGhpYW4gY2FwaXRhbHMgb24gYm90aCBzaWRlcyBhbmQgYSByb3cgb2Ygc2hvcHMgYmVoaW5kIHRoZW0uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmltYWdlIC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlXCI+PGltZyBzcmM9XCJodHRwczovL3d3dy5rdWx0dXJwb3J0YWxpLmdvdi50ci9jb250ZW50cy9pbWFnZXMvQU5UQUxZQS1TJWM0JWIwREUtRyVjMyU5Y0xDQU5BQ0FSJTIwKDU4KS5qcGdcIiBhbHQ9XCJcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiZGV0YWlscy1hYm91dC10aGUtbW9udW1lbnRzXCI+PHN0cm9uZz5EZXRhaWxzIGFib3V0IHRoZSBNb251bWVudHM8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5BZnRlciBsZWF2aW5nIHRoZSBtYWluIHJvYWQsIHlvdSB3aWxsIGVudGVyIHRocm91Z2ggdGhlIG1haW4gZ2F0ZSBvZiB0aGUgbGFuZCB3YWxscyB0aGF0IHN1cnJvdW5kIHRoZSBjaXR5LiBUaGVzZSB3YWxscyBkYXRlIGJhY2sgdG8gdGhlIDJuZCBjZW50dXJ5IEJDIGFuZCBhcmUgcHJvdGVjdGVkIGJ5IHR3byB0b3dlcnMgbG9jYXRlZCBuZWFyYnkuIE9uY2UgeW91IHBhc3MgdGhyb3VnaCB0aGUgZ2F0ZSwgeW91IHdpbGwgc2VlIHRoZSA5IHJ1bm5pbmcgZm91bnRhaW5zIG9mIHRoZSBtb251bWVudGFsIGZvdW50YWluIChOeW1waGFldW0pLCB3aGljaCBoYXMgdGhyZWUgbGFyZ2UgbmljaGVzIG9uIHRoZSByb2Fkc2lkZS4gVGhlIHN0cnVjdHVyZSwga25vd24gYXMgdGhlIDkgZm91bnRhaW5zLCBnZXRzIGl0cyBvcmlnaW4gZnJvbSB0aGUgTWFuYXZnYXQgU3RyZWFtLiBUaGUgYnVpbGRpbmcgaXMgMjAgbWV0ZXJzIGhpZ2ggYW5kIDUyIG1ldGVycyB3aWRlLCBidXQgZHVlIHRvIGVhcnRocXVha2VzLCBpdHMgaGVpZ2h0IGhhcyBkZWNyZWFzZWQgdG8gMTIgbWV0ZXJzLiBEZXNwaXRlIHRoZSByZXN0b3JhdGlvbiB3b3JrLCB0aGUgZm91bnRhaW4gZG9lcyBub3QgZmxvdywgYnV0IGl0IGlzIHN0aWxsIGEgZmFzY2luYXRpbmcgc2lnaHQgdG8gc2VlIGluIGl0cyByb3VnaGx5IGZpbmlzaGVkIGZvcm0uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlJpZ2h0IG5leHQgdG8gdGhlIGZvdW50YWluIHlvdSBjYW4gc2VlIDIgY29sb25uYWRlZCByb2Fkcy4gVGhlIG1haW4gY29sb25uYWRlZCByb2FkIGlzIG9jY3VwaWVkIGJ5IHRyYWZmaWMgYW5kIGlmIHlvdSBjb250aW51ZSBvbiB0aGlzIHJvYWQsIHNtYWxsIHNtYWxsIHNob3BzLCBhZ29yYSwgdGhlYXRlciwgYmF0aHMgYW5kIGhvdXNlcyBvbiB0aGUgc2lkZXMgdGFrZSB5b3UgdG8gdGhlIHBvcnQgb2YgdGhlIGNpdHkuIFRoZSBzZWNvbmQgb25lIHN0YXJ0cyBqdXN0IHRvIHRoZSBsZWZ0IG9mIHRoZSBmb3VudGFpbiBhbmQgZW5kcyBhdCB0aGUgaGFyYm9yIGFuZCB0aGUgdGVtcGxlcy4gSXNuJ3QgaXQgYW4gaW50ZXJlc3RpbmcgY29pbmNpZGVuY2UgdGhhdCBib3RoIGNvbG9ubmFkZWQgc3RyZWV0cyBpbnRlcnNlY3QgdGhlIGhhcmJvcj8gPSk8L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxNDMsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc2lkZS1hbnRpay0xMDI0eDEwMjQuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xNDNcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5BcyB3ZSBjb250aW51ZSBvbiB0aGUgbWFpbiBjb2xvbm5hZGVkIHJvYWQsIHdlIGNvbWUgYWNyb3NzIHRoZSBWZXNwYXNpYW51cyBmb3VudGFpbiBhbmQgZ2V0IHRvIHNlZSB0aGUgc2hvcHMgYW5kIGhvdXNlcyBvZiB0aGUgdGltZS4gVGhlIFZlc3Bhc2lhbnVzIGZvdW50YWluIGlzIGxvY2F0ZWQgYXQgdGhlIG5hcnJvd2VzdCBwb2ludCBvZiB0aGUgcGVuaW5zdWxhLCBhbmQgbmV4dCB0byBpdCBzdGFuZHMgYSAxNS1tZXRlci1oaWdoIGFyY2gsIHdoaWNoIGlzIG9uZSBvZiB0aGUgZmV3IHN0cnVjdHVyZXMgdGhhdCBoYXZlIHN1cnZpdmVkIGluIGFsbCBpdHMgc3BsZW5kb3IuIFVuZm9ydHVuYXRlbHksIHRvZGF5LCB0cmFmZmljIGZsb3dzIHRocm91Z2ggdGhpcyBnYXRlLCB3aGljaCBpcyByZWFsbHkgc2FkIGR1ZSB0byBnZW9ncmFwaGljYWwgaW5hZGVxdWFjeSBhbmQgdGVjaG5pY2FsIGltcG9zc2liaWxpdGllcy4gSG93ZXZlciwgaXQgaXMgdmVyeSBkaWZmaWN1bHQgdG8gY2hhbmdlIHRoaXMgc2l0dWF0aW9uLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5PbmNlIHlvdSBwYXNzIHRocm91Z2ggdGhpcyBhcmNoLCB5b3Ugd2lsbCBzZWUgdGhlIHRoZWF0ZXIsIHdoaWNoIGlzIG9uZSBvZiB0aGUgcmFyZSBzdHJ1Y3R1cmVzIG9mIFNpZGUuIFRoZSB0aGVhdGVyIGRhdGVzIGJhY2sgdG8gdGhlIDJuZCBjZW50dXJ5IEFEIGFuZCBpcyAyMCBtZXRlcnMgaGlnaCwgd2l0aCBhIGNhcGFjaXR5IG9mIGFwcHJveGltYXRlbHkgMTUsMDAwIHBlb3BsZS4gVGhlIHN0YWdlIGJ1aWxkaW5nIGhhcyB0aHJlZSBmbG9vcnMsIGFuZCB3aGF0IG1ha2VzIHRoaXMgdGhlYXRlciB1bmlxdWUgaXMgdGhhdCBpdCB3YXMgYnVpbHQgb24gYXJjaGVzIGR1ZSB0byBpdHMgZ2VvZ3JhcGhpY2FsIGxvY2F0aW9uLCB3aGVyZWFzIGFsbCBvdGhlciB0aGVhdGVycyB3ZXJlIGJ1aWx0IGJlaGluZCB0aGUgbW91bnRhaW4uIEluIHRoZSBSb21hbiBwZXJpb2QsIHRoZSBvcmNoZXN0cmEgcGFydCB3YXMgc3Vycm91bmRlZCBieSByYWlsaW5ncyBmb3IgZ2xhZGlhdG9yIGFuZCB3aWxkIGFuaW1hbCBzdHJ1Z2dsZXMsIGFuZCBpbiB0aGUgQnl6YW50aW5lIHBlcmlvZCwgdGhlIHRoZWF0ZXIgd2FzIHVzZWQgZm9yIENocmlzdGlhbiByaXR1YWxzIGFuZCBoYWQgYXJjaGl0ZWN0dXJhbGx5IHJpY2ggb3JuYW1lbnRzLiBPdXRzaWRlIHRoZSB0aGVhdGVyLCB0aGVyZSBpcyBhIGdhbGxlcnkgd2l0aCAxNCBzaG9wcyBhbmQgNSBlbnRyYW5jZXMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmltYWdlIC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlXCI+PGltZyBzcmM9XCJodHRwczovL3d3dy5rdWx0dXJwb3J0YWxpLmdvdi50ci9jb250ZW50cy9pbWFnZXMvQU5UQUxZQS1TJWM0JWIwREUtRyVjMyU5Y0xDQU5BQ0FSJTIwKDU1KS5qcGdcIiBhbHQ9XCJcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5Mb2NhdGVkIG5leHQgdG8gdGhlIHRoZWF0ZXIsIHRoZSBiYXRoaG91c2Ugd2FzIGNvbnN0cnVjdGVkIGluIHRoZSA1dGggY2VudHVyeSBBRC4gQWZ0ZXIgYmVpbmcgcmVzdG9yZWQgaW4gMTk2MiwgaXQgd2FzIGNvbnZlcnRlZCBpbnRvIGEgbXVzZXVtLiBUaGUgYmF0aGhvdXNlIGNvbnNpc3RzIG9mIGZvdXIgcGFydHM6IGRyZXNzaW5nIHJvb21zIChBcG9keXRlcml1bSksIHdhcm0gcm9vbSAoVGVwaWRhcml1bSksIGhvdCByb29tIChDYWxkYXJpdW0pLCBhbmQgY29sZCByb29tIChGcmlnaWRhcml1bSkuIFVwb24gZW50ZXJpbmcgdGhlIG11c2V1bSwgd2hpY2ggaXMgYWxzbyBrbm93biBhcyB0aGUgaGFtbWFtLCB5b3UgY2FuIG9ic2VydmUgdGhlIGhvdCB3YXRlciBwaXBlcyB1bmRlciB0aGUgd2FsbHMuIFRoaXMgdHJhZGl0aW9uIGhhcyBjb250aW51ZWQgZnJvbSBCeXphbnRpbmUgdG8gT3R0b21hbiB0aW1lcyBhbmQgaGFzIHN1cnZpdmVkIHRvIHRoZSBwcmVzZW50IGRheS4gTWFueSBhcnRpZmFjdHMgYmVsb25naW5nIHRvIHRoZSBIZWxsZW5pc3RpYywgUm9tYW4sIGFuZCBCeXphbnRpbmUgcGVyaW9kcyBzdWNoIGFzIGluc2NyaXB0aW9ucywgc2N1bHB0dXJlcywgc2FyY29waGFnaSwgcG9ydHJhaXRzLCBhbXBob3JhcywgYW5kIHRvbWIgc3RlbGVzIGFyZSBleGhpYml0ZWQgaW4gdGhlIG11c2V1bS4gTW9zdCBvZiB0aGVzZSBhcnRpZmFjdHMgd2VyZSBleGNhdmF0ZWQgYnkgUHJvZi4gRHIuIEFyaWYgTVx1MDBmY2ZpZCBNYW5zZWwuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkFkamFjZW50IHRvIHRoZSB0aGVhdGVyLCB5b3UgY2FuIGFsc28gZmluZCB0aGUgVGVtcGxlIG9mIERpb255c3VzLiBUaGlzIHRlbXBsZSwgYmVsb25naW5nIHRvIHRoZSBlYXJseSBSb21hbiBwZXJpb2QsIGlzIHNpdHVhdGVkIHJpZ2h0IG5leHQgdG8gdGhlIFZlc3Bhc2lhbnVzIG1vbnVtZW50LiBBbHRob3VnaCB0aGVyZSBpcyBsaXR0bGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGJ1aWxkaW5nLCBpdCBpcyBiZWxpZXZlZCB0byBkYXRlIGJhY2sgdG8gdGhlIEhlbGxlbmlzdGljIHBlcmlvZC4gV2l0aCB0aGUgc3ByZWFkIG9mIENocmlzdGlhbml0eSwgdGhlIHRlbXBsZSBsb3N0IGl0cyBzaWduaWZpY2FuY2UgZHVyaW5nIHRoZSBCeXphbnRpbmUgcGVyaW9kIGFuZCB3YXMgdXNlZCBmb3Igb3RoZXIgcHVycG9zZXMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBhZ29yYSwgd2hpY2ggcGxheWVkIGEgc2lnbmlmaWNhbnQgcm9sZSBpbiBkZWNpc2lvbiBtYWtpbmcgZHVyaW5nIHRob3NlIHRpbWVzLCBjYW4gYmUgc2VlbiBmcm9tIHRoZSB0aGVhdGVyIGJ1dCBpcyBjdXJyZW50bHkgdW5hdmFpbGFibGUgZm9yIGVudHJ5IGR1ZSB0byBvbmdvaW5nIGV4Y2F2YXRpb25zLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5BcyB5b3UgZW50ZXIgdGhlIGNpdHksIHlvdSB3aWxsIG5vdGljZSB0d28gY29sb25uYWRlZCByb2Fkcy4gT25jZSB5b3UgZW50ZXIgdGhlIGNvbG9ubmFkZWQgcm9hZCwgd2hpY2ggZXh0ZW5kcyBmcm9tIHRoZSBtb251bWVudGFsIGZvdW50YWluLCB5b3Ugd2lsbCBiZSBncmVldGVkIGJ5IHRoZSBHeW1uYXNpdW0uIENvdmVyaW5nIGEgbGFyZ2UgYXJlYSwgdGhpcyBpcyBvbmUgb2YgdGhlIHBsYWNlcyB0aGF0IGZ1bGZpbGxzIHRoZSBzYXlpbmcgdGhhdCBhIHNvdW5kIG1pbmQgaXMgZm91bmQgaW4gYSBzb3VuZCBib2R5LiBJdCBpcyBub3QgZGlmZmljdWx0IHRvIHNlZSB3aHksIGdpdmVuIGl0cyBzaXplLiBUaGUgdGVtcGxlIG9mIFR5Y2hlLCB0aGUgZ29kZGVzcyBvZiBsdWNrIGFuZCB0aGUgcGF0cm9uIGdvZGRlc3Mgb2YgdGhlIGNpdHksIGlzIHNpdHVhdGVkIHJpZ2h0IGluIHRoZSBtaWRkbGUgb2YgdGhlIEd5bW5hc2l1bSBhbmQgdGhlIFRoZWF0ZXIuIFRoaXMgdGVtcGxlIGlzIHF1aXRlIHVuaXF1ZSBpbiBpdHMgc3RydWN0dXJlLCB3aGljaCBpcyBub3QgY29tbW9ubHkgc2VlbiBpbiBBbmF0b2xpYS4gSXQgaXMgYmVsaWV2ZWQgdG8gYmUgYSBjb3B5IG9mIHRoZSB0ZW1wbGUgaW4gdGhlIGNpdHkgb2YgQW50aW9jaCBhbmQgd2FzIGJ1aWx0IGluIHRoZSAybmQgY2VudHVyeSBBLkQuIEhvd2V2ZXIsIHdlIGNhbm5vdCBhbnN3ZXIgd2h5IHRoZSB0ZW1wbGUgd2FzIG5vdCBidWlsdCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBjaXR5IGxpa2UgdGhlIFJvbWFuIGFnb3Jhcy4gVGhlIHRlbXBsZSBzaXRzIG9uIGEgMi1tZXRlciBwbGF0Zm9ybSBhbmQgaXMgc3Vycm91bmRlZCBieSBhIGdhbGxlcnkgd2l0aCAxMiBjb2x1bW5zLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5BcyB5b3Ugd2FsayB0b3dhcmRzIHRoZSB0ZW1wbGVzIG9mIEF0aGVuYSBhbmQgQXBvbGxvIGluIHRoZSBhbmNpZW50IGNpdHkgb2YgU2lkZSwgeW91IG1heSBub3RpY2UgcG9tZWdyYW5hdGUgdHJlZXMgb24gZWl0aGVyIHNpZGUuIFNpZGUgaGFzIGEgY29ubmVjdGlvbiB3aXRoIHBvbWVncmFuYXRlcyBkdWUgdG8gYSBteXRob2xvZ2ljYWwgc3RvcnkuIFNpZGUsIHRoZSBnb2RkZXNzIG9mIG5hdHVyZSBhbmQgZmVydGlsaXR5LCB3ZW50IHRvIHRoZSBzaG9yZSBvZiBNZWxhcyAoTWFuYXZnYXQpIHdpdGggaGVyIGRhdWdodGVyIGFuZCBmb3Jlc3QgbnltcGhzIHRvIGNvbGxlY3QgZmxvd2Vycy4gU2hlIGJyb2tlIGEgYnJhbmNoIGZyb20gYSBjb2xvcmZ1bCB0cmVlIHRvIGdpdmUgdGhlIGZsb3dlcnMgdG8gaGVyIGRhdWdodGVyLCBub3QgcmVhbGl6aW5nIHRoYXQgdGhlIHRyZWUgd2FzIGFjdHVhbGx5IGEgZ29kZGVzcyB3aG8gaGFkIHR1cm5lZCBpbnRvIGEgdHJlZSB0byBwcm90ZWN0IGhlcnNlbGYgZnJvbSBoYXJtLiBBcyBhIHJlc3VsdCwgU2lkZSB3YXMgdW5hYmxlIHRvIG1vdmUgYW5kIGJlY2FtZSByb290ZWQgdG8gdGhlIGdyb3VuZCwgd2l0aCBsZWF2ZXMgc3Byb3V0aW5nIGZyb20gaGVyIGZpbmdlcnMuIDwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwic3ltYm9sLW9mLXNpZGUtYW5jaWVudC1jaXR5XCI+PHN0cm9uZz5TeW1ib2wgb2YgU2lkZSBBbmNpZW50IENpdHk8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgZm9yZXN0IG55bXBocyBjcmllZCBhbmQgd2V0IFNpZGUncyBmZWV0IHdpdGggdGhlaXIgdGVhcnMuIFNpZGUgdGhlbiBkZWNsYXJlZCB0aGF0IHNoZSB3b3VsZCBiZWNvbWUgdGhlIHN5bWJvbCBvZiBuYXR1cmUgYW5kIGxpZmUgd2l0aCBoZXIgYmxvb2QtY29sb3JlZCBmcnVpdHMsIGFuZCBhc2tlZCB0aGF0IGhlciBkYXVnaHRlciB2aXNpdCBvZnRlbiBhbmQgcGxheSBpbiBoZXIgc2hhZGUgd2l0aG91dCBwaWNraW5nIGFueSBmbG93ZXJzLCB0byByZXNwZWN0IGFsbCB0cmVlcyBhbmQgZmxvd2VycyBhcyBwb3NzaWJsZSBnb2RkZXNzZXMgaW4gZGlzZ3Vpc2UuIFRoaXMgaXMgd2h5IFNpZGUgaXMgZnVsbCBvZiBwb21lZ3JhbmF0ZSB0cmVlcy4gQWx0aG91Z2ggdGhlIHN5bWJvbCBvZiB0aGUgY2l0eSBpcyB0aGUgcG9tZWdyYW5hdGUsIHRoZSB0ZW1wbGUgb2YgQXBvbGxvIGlzIHdoYXQgaXMgdXN1YWxseSBzaG93biBvbiBwb3N0Y2FyZHMuIFRoaXMgdGVtcGxlLCBkZWRpY2F0ZWQgdG8gdGhlIGdvZCBvZiBsaWdodCwgYmVhdXR5LCBhbmQgYXJ0LCBoYXMgYmVlbiByZXN0b3JlZCBhbmQgc3RpbGwgc3RhbmRzIHRvZGF5IHdpdGggNSBjb2x1bW5zIGFuZCBDb3JpbnRoaWFuIGNhcGl0YWxzLiBUaGUgdGVtcGxlIHdhcyBkaXNtYW50bGVkIGJ5IHRoZSBCeXphbnRpbmVzIHRvIGJlIHVzZWQgaW4gdGhlIGNvbnN0cnVjdGlvbiBvZiBhIGJhc2lsaWNhLCBidXQgaXQgcmVtYWlucyBhIHdvcnRod2hpbGUgaGVyaXRhZ2Ugc2l0ZSB0byB2aXNpdC4gWW91IGNhbiBhbHNvIHNlZSB0aGUgcnVpbnMgb2YgdGhlIHRlbXBsZSBkZWRpY2F0ZWQgdG8gdGhlIG1vb24gZ29kIE1lbiBpbiBTaWRlLCB3aGljaCB3YXMgYmVsaWV2ZWQgaW4gYmVmb3JlIEF0aGVuYSBhbmQgQXBvbGxvLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+PHN0cm9uZz5Tb3VyY2U6PC9zdHJvbmc+Jm5ic3A7U2lkZSwgQW50YWx5YSBmcm9tIFllc3RlcmRheSB0byBUb2RheSBWb2x1bWUgSUksIEFudGFseWEgUHJvdmluY2lhbCBEaXJlY3RvcmF0ZSBvZiBDdWx0dXJlIGFuZCBUb3VyaXNtICgyMDEyKTwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT4iLCJwb3N0X3RpdGxlIjoiU2lkZSBBbmNpZW50IENpdHkgJiM4MjExOyBBbnRhbHlhIiwicG9zdF9saW5rIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3NpZGUtYW5jaWVudC1jaXR5LWFudGFseWEvMTA1LyIsInBvc3RfZmVhdHVyZWRfaW1hZ2UiOiI8ZGl2IGNsYXNzPVwiZmMtZmVhdHVyZS1pbWdcIj48aW1nIGxvYWRpbmc9XCJsYXp5XCIgZGVjb2Rpbmc9XCJhc3luY1wiIGFsdD1cIlNpZGUgQW5jaWVudCBDaXR5ICYjODIxMTsgQW50YWx5YVwiIHdpZHRoPVwiMjk3XCIgaGVpZ2h0PVwiMzAwXCIgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3NpZGUtYW5jaWVudC1jaXR5LWRyb25lLXBob3RvLTEtMjk3eDMwMC5qcGdcIiBjbGFzcz1cIndwLXBvc3QtaW1hZ2UgICB3cGdtcF9mZWF0dXJlZF9pbWFnZVwiID48L2Rpdj4iLCJwb3N0X2NhdGVnb3JpZXMiOiJUaGluZ3MgdG8gZG8gaW4gQW50YWx5YSwgVGhpbmdzIHRvIGRvIGluIFRVUktFWSIsInBvc3RfdGFncyI6IkFudGFseWEsIEN1bHR1cmUgVG91cmlzbSwgaGlzdG9yaWNhbCBzaXRlLCBTaWRlLCBTaWRlIFNpZ2h0c2VlaW5ncyIsIiVfZWRpdF9sb2NrJSI6IjE3MDc0NzU2NTM6MSIsIiVfZWRpdF9sYXN0JSI6IjEiLCIlX3lvYXN0X3dwc2VvX3ByaW1hcnlfY2F0ZWdvcnklIjoiODkiLCIlX3lvYXN0X3dwc2VvX2NvbnRlbnRfc2NvcmUlIjoiMzAiLCIlX3lvYXN0X3dwc2VvX2luY2x1c2l2ZV9sYW5ndWFnZV9zY29yZSUiOiI5MCIsIiVfeW9hc3Rfd3BzZW9fZXN0aW1hdGVkLXJlYWRpbmctdGltZS1taW51dGVzJSI6IjExIiwiJV95b2FzdF93cHNlb193b3JkcHJvb2ZfdGltZXN0YW1wJSI6IiIsIiVwb3N0X3ZpZXdzX2NvdW50JSI6IjU2IiwiJV90aHVtYm5haWxfaWQlIjoiMTQ1IiwiJV9vZW1iZWRfODZiYmJmODZjYWYxNGYwZGNkM2IzZDcwNDcwODJlMTglIjoiPGlmcmFtZSB0aXRsZT1cIlNJREUgPz8/Pz8/Pz8gXHUwM2EzXHUwM2FmXHUwM2I0XHUwM2I3IERyb25lIDRLIEFlcmlhbCB8IFR1cmtleSBUXHUwMGZjcmtpeWUgVHVya2VpXCIgd2lkdGg9XCI2OTZcIiBoZWlnaHQ9XCIzOTJcIiBzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC81TDNEOF9OY2RFOD9mZWF0dXJlPW9lbWJlZFwiIGZyYW1lYm9yZGVyPVwiMFwiIGFsbG93PVwiYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPiIsIiVfb2VtYmVkX3RpbWVfODZiYmJmODZjYWYxNGYwZGNkM2IzZDcwNDcwODJlMTglIjoiMTcwNjIxNjU5MiIsIiVmb290bm90ZXMlIjoiIiwiJV9tb25zdGVyaW5zaWdodHNfc2tpcF90cmFja2luZyUiOiIiLCIlX21vbnN0ZXJpbnNpZ2h0c19zaXRlbm90ZV9hY3RpdmUlIjoiIiwiJXRkbV9zdGF0dXMlIjoiIiwiJXRkbV9ncmlkX3N0YXR1cyUiOiIiLCIlQXR0cmFjdGlvbiBUeXBlJSI6Ikhpc3RvcmljYWwgU2l0ZSIsIiVfQXR0cmFjdGlvbiBUeXBlJSI6ImZpZWxkXzY1YjkwNDhkNzAyYzMiLCIlYmVzdF90aW1lX3RvX3Zpc2l0JSI6IkFsbCBTZWFzb25zIiwiJV9iZXN0X3RpbWVfdG9fdmlzaXQlIjoiZmllbGRfNjViOTA2NzdhMTBkYSIsIiVhdmFyZWdlX3JlcXVpcmVkX3RpbWVfJSI6IjEiLCIlX2F2YXJlZ2VfcmVxdWlyZWRfdGltZV8lIjoiZmllbGRfNjViOTA2ZmJjMDgxYiIsIiVvcGVuc19hdCUiOiIiLCIlX29wZW5zX2F0JSI6ImZpZWxkXzY1YjkwODEzYzA4MWMiLCIlY2xvc2VkX2F0JSI6IiIsIiVfY2xvc2VkX2F0JSI6ImZpZWxkXzY1YjkwODc4NDliNWQiLCIlZW50cmFuY2VfZmVlJSI6IjExIiwiJV9lbnRyYW5jZV9mZWUlIjoiZmllbGRfNjViOTA4YjI2MzllZiIsIiVkcmVzc19jb2RlJSI6IkNhc3VhbCIsIiVfZHJlc3NfY29kZSUiOiJmaWVsZF82NWI5MGE3YzQ0NDI3IiwiJW90aGVyX3RpcHMlIjoiVGhlIFNpZGUgTXVzZXVtIGNhbiBiZSB2aXNpdGVkIHdpdGggdGhlIHNhbWUgdGlja2V0LiBBdWRpbyBHdWlkYW5jZSBTZXJ2aWNlIEF2YWlsYWJsZSIsIiVfb3RoZXJfdGlwcyUiOiJmaWVsZF82NWI5MTAzM2JjOWNkIiwiJWNpdHklIjoiQW50YWx5YSIsIiVfY2l0eSUiOiJmaWVsZF82NWMxMWY1OTMyYWM3IiwiJVF1YWxpdHlfU2NvcmUlIjoiMTAwMDAiLCIlX1F1YWxpdHlfU2NvcmUlIjoiZmllbGRfNjViN2Q1MTllZGUxMyIsIiVyYW5rX21hdGhfYW5hbHl0aWNfb2JqZWN0X2lkJSI6IjE5IiwiJXJhbmtfbWF0aF9zZW9fc2NvcmUlIjoiNzUiLCIlcmFua19tYXRoX3ByaW1hcnlfY2F0ZWdvcnklIjoiODkiLCIlcmFua19tYXRoX2ludGVybmFsX2xpbmtzX3Byb2Nlc3NlZCUiOiIxIiwiJV9jbXBsel9zY2FubmVkX3Bvc3QlIjoiMSIsIiVBdmFyZWdlIFZpc2l0aW5nIFRpbWUlIjoiMiIsIiVfQXZhcmVnZSBWaXNpdGluZyBUaW1lJSI6ImZpZWxkXzY1YjkwNmZiYzA4MWIiLCIlT3BlbiBkYXlzJSI6Ik9wZW4gRXZlcnlkYXkiLCIlX09wZW4gZGF5cyUiOiJmaWVsZF82NWI5MDgxM2MwODFjIiwiJU9wZW5zIGF0JSI6IjA4OjAwOjAwIiwiJV9PcGVucyBhdCUiOiJmaWVsZF82NWI5MDg3ODQ5YjVkIiwiJUNsb3NlZCBhdCUiOiIxNzowMDowMCIsIiVfQ2xvc2VkIGF0JSI6ImZpZWxkXzY1YmVhNTY5NzViYWMiLCIlTG9jYXRpb24lIjoiU2lkZSwgTGltYW4gQ2FkZGVzaSBObzoyLCBNYW5hdmdhdC9BbnRhbHlhLCBUXHUwMGZjcmtpeWUsIDM2Ljc2NzkwNjgsIDMxLjM5MDQzNzYsIDE0LCBDaElKcjNJZEY5ZGJ3eFFSRU5HWlQzWkxUeFEsIExpbWFuIENkLiBObzoyLCAyLCBMaW1hbiBDYWRkZXNpLCBMaW1hbiBDZC4sIEFudGFseWEsIDA3MzMwLCBUXHUwMGZjcmtpeWUsIFRSIiwiJV9Mb2NhdGlvbiUiOiJmaWVsZF82NWI5MTEwN2EwNGRlIiwiJXJhbmslIjoiMDYwMyIsIiVfcmFuayUiOiJmaWVsZF82NWI3ZDUxOWVkZTEzIiwiJV93cGdtcF9sb2NhdGlvbl9hZGRyZXNzJSI6IlNpZGUsIExpbWFuIENkLiBObzoyLCAwNzMzMCBNYW5hdmdhdC9BbnRhbHlhLCBUXHUwMGZjcmtpeWUiLCIlX3dwZ21wX2xvY2F0aW9uX2NpdHklIjoiIiwiJV93cGdtcF9sb2NhdGlvbl9zdGF0ZSUiOiJBbnRhbHlhIiwiJV93cGdtcF9sb2NhdGlvbl9jb3VudHJ5JSI6IlRcdTAwZmNya2l5ZSIsIiVfd3BnbXBfbWV0YWJveF9sYXRpdHVkZSUiOiIzNi43Njc5MDY4IiwiJV93cGdtcF9tZXRhYm94X2xvbmdpdHVkZSUiOiIzMS4zOTA0Mzc2IiwiJV93cGdtcF9tZXRhYm94X2xvY2F0aW9uX3JlZGlyZWN0JSI6Im1hcmtlciIsIiVfd3BnbXBfbWV0YWJveF9jdXN0b21fbGluayUiOiIiLCIlX3dwZ21wX21hcF9pZCUiOiJhOjE6e2k6MDtzOjE6XCIxXCI7fSIsIiVfd3BnbXBfbWV0YWJveF9tYXJrZXJfaWQlIjoiYToxOntpOjA7czoxOlwiNlwiO30iLCIlX3dwZ21wX21ldGFib3hfdGF4b21vbWllc190ZXJtcyUiOiIiLCIlX3dwZ21wX2V4dGVuc2lvbnNfZmllbGRzJSI6IiIsIiVjbXBsel9oaWRlX2Nvb2tpZWJhbm5lciUiOiIiLCIlX2JyZWFrZGFuY2VfaGlkZV9pbl9kZXNpZ25fc2V0JSI6IiIsIiVfYnJlYWtkYW5jZV90YWdzJSI6IiIsIiVtdXNldW1fcGFzc18lIjoiWWVzIEluY2x1ZGVkIiwiJV9tdXNldW1fcGFzc18lIjoiZmllbGRfNjVjNTM2MzQ0NjQ4NSIsIiV0ZWw6JSI6Iis5MDI0Mjc1MzE1NDIiLCIlX3RlbDolIjoiZmllbGRfNjVjNTNkZTcxM2Q2NyIsIiVlbWFpbCUiOiJzaWRlQG11emUuZ292LnRyIiwiJV9lbWFpbCUiOiJmaWVsZF82NWM1M2UxNjEzZDY5IiwiJWFkZHJlc3M6JSI6IlNpZGUgTWFoYWxsZXNpIExpbWFuIENhZGRlc2kgTm86MiBNYW5hdmdhdCAvIEFudGFseWEiLCIlX2FkZHJlc3M6JSI6ImZpZWxkXzY1YzUzZTBhMTNkNjgiLCIlcmFua19tYXRoX2ZvY3VzX2tleXdvcmQlIjoiU2lkZSBhbmNpZW50IGNpdHkiLCJ0YXhvbm9teT1jYXRlZ29yeSI6IlRoaW5ncyB0byBkbyBpbiBBbnRhbHlhLCBUaGluZ3MgdG8gZG8gaW4gVFVSS0VZIiwidGF4b25vbXk9cG9zdF90YWciOiJBbnRhbHlhLCBDdWx0dXJlIFRvdXJpc20sIGhpc3RvcmljYWwgc2l0ZSwgU2lkZSwgU2lkZSBTaWdodHNlZWluZ3MiLCJ0YXhvbm9teT1wb3N0X2Zvcm1hdCI6IiJ9LCJpY29uIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1nb29nbGUtbWFwLWdvbGQvYXNzZXRzL2ltYWdlcy9pY29ucy9tdXNldW0taGlzdG9yaWNhbC5wbmcifSwiaWQiOjEwNSwiaW5mb3dpbmRvd19kaXNhYmxlIjpmYWxzZSwiY2F0ZWdvcmllcyI6W3siaWNvbiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvbXVzZXVtLWhpc3RvcmljYWwucG5nIiwibmFtZSI6Ik11c2V1bSIsImlkIjoiNiIsInR5cGUiOiJjYXRlZ29yeSIsImV4dGVuc2lvbl9maWVsZHMiOnsiY2F0X29yZGVyIjoiIn19XX1dLCJtYXBfcHJvcGVydHkiOnsibWFwX2lkIjoiMSIsImRlYnVnX21vZGUiOmZhbHNlfSwibWFwX21hcmtlcl9zcGlkZXJmaWVyX3NldHRpbmciOnsibWluaW11bV9tYXJrZXJzIjoiMCJ9LCJzaGFwZXMiOnsiZHJhd2luZ19lZGl0YWJsZSI6ZmFsc2V9LCJmaWx0ZXJzIjp7ImZpbHRlcnNfY29udGFpbmVyIjoiW2RhdGEtY29udGFpbmVyPVwid3BnbXAtZmlsdGVycy1jb250YWluZXJcIl0ifSwibWFya2VyX2NhdGVnb3J5X2ljb25zIjp7IjEiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL2NpdHlzcXVhcmUucG5nIiwiMiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvYW5jaWVudG1vbnVtZW50LnBuZyIsIjMiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL21vc3F1ZS5wbmciLCI0IjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1nb29nbGUtbWFwLWdvbGQvYXNzZXRzL2ltYWdlcy9pY29ucy9jaHVyY2gyLnBuZyIsIjUiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL2JlYXV0aWZ1bC5wbmciLCI2IjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1nb29nbGUtbWFwLWdvbGQvYXNzZXRzL2ltYWdlcy9pY29ucy9tdXNldW0taGlzdG9yaWNhbC5wbmcifX0=

The interesting legend of Suleymaniye Mosque

Here is the untold story of the Suleymaniye Mosque, which has survived over a hundred earthquakes in Istanbul without any damage to its walls:

The Süleymaniye Mosque and its complex were constructed by Suleiman the Magnificent to emphasize the power and glory of the Ottoman Empire. During the construction, Suleiman felt troubled by the never-ending work, and rumors began to rise.

One day, the Sultan decided to visit the Süleymaniye Mosque to evaluate the situation himself. As he entered the grand mosque, he spotted Mimar Sinan sitting in the center of the mosque, smoking his hookah. The Sultan asked, “What is happening here?” But, to his surprise, there was no tobacco in the hookah as the Master Architect was smoking only water.

Architect Sinan measured the mosque’s acoustics by listening to the bubbling of the hookah, in order to distribute the voice of the imam evenly throughout the entire mosque.

To achieve even sound distribution throughout the hundreds of square meters of space, the architect arranged 65 large hollow cubes at the base of the dome with their openings facing outward. These cubes were brought from various parts of Anatolia. Sultan, who was initially displeased, later understood the architect’s intentions and forgave his master.

In addition to this, Architect Sinan constructed an air corridor within the Suleymaniye Mosque. Since there was no electricity available yet, he illuminated the mosque with 275 large oil lamps.

Sinan built a small chamber above the main door of the mosque to protect it from the soot produced by the lamps. The soot was collected in a special room using cavities placed in different parts of the building. Sinan also installed a humidification system in this chamber, which was called the Soot Chamber. The soot collected was then used to make high-quality ink.

The walls of the Süleymaniye mosque are adorned with breathtaking pen works, writings, and decorations. What makes these even more impressive is that they were created using ink distilled from the soot of the mosque’s lamps, employing the science and technology of 458 years ago.

suleymaniye mosque Suleymaniye Mosque Suleymaniye Mosque Istanbul

Suleymaniye Mosque Drone Video

“Experience the breathtaking beauty of Suleymaniye Mosque like never before with our exclusive drone video footage. Don’t miss out on this incredible opportunity to witness the stunning architecture and intricate details of one of Istanbul’s most iconic landmarks.”

Suleymaniye Mosque Photos

Heartbreaking Story of broken rosebud branch engraved on the tombstone

The Süleymaniye Mosque, constructed between 1551 and 1557, houses a remarkable tombstone in its treasury. This tombstone is not just a testament to superb craftsmanship, but it also commemorates the life of a young girl named Fatima Müşerref, who died at a young age. The tombstone features a broken rosebud, symbolizing her death at the tender age of 17. Fatima was the daughter of Mustafa Fevzi Bey from Thessaloniki.

The Celi talik inscription on the tombstone is 11 lines long and reads as follows: “Dear visitor, lying beneath this stone is one of the purest, most intelligent, and beautiful young girls. Death took her away at the age of 17. This young flower was taken from her parents’ love very early and was intelligent, knowledgeable, and exceptional. Let us pray for a moral, respectable, and innocent soul. Written on Wednesday, January 13, 1325 (Gregorian 1910).”

The tombstone has a broken rosebud carved in relief on its headstone, symbolizing the girl’s untimely demise. On the foot tomb, a veil drapes down in waves, representing her wedding attire. The tomb’s pedestal bears the signature of the Greek master P.C. Pascalidi, who was responsible for creating this deeply moving tombstone.

Why is Suleymaniye Mosque important?

The Süleymaniye Mosque, built by the great architect Koca Sinan on the order of Sultan Suleiman the Magnificent, is considered one of the most important examples of Classical Ottoman architecture. Though Sinan humbly referred to it as a “journeyman’s work”, he meticulously calculated every detail of the structure.

The mosque’s 53-meter-high dome is supported by four minarets, each of which stands 75 meters tall and features three balconies. These minarets symbolize the four sultans who ascended to the throne following the conquest of Istanbul.

The construction of the mosque, which began on June 13, 1550, was completed in just seven years despite the limited resources of the time. The mosque opened to the public on June 7, 1557, with a grand ceremony led by Mimar Sinan, attracting visitors from all around the world.

The Architecture and Cost of Suleymaniye Mosque

The temple, also known as the Süleymaniye Mosque, is estimated to have cost 59 million akçe or 700,000 duka gold during its construction, which would be equivalent to more than $65 billion in today’s money. The mosque was damaged by fire in 1660 and was repaired, but it was defaced during the reign of Sultan Mecid instead of being properly repaired. The engineer Fossati, who was brought from abroad to repair the Hagia Sophia, used oil paint and putty to ruin the elephant’s feet to the arches, which later required a great deal of effort to clean. The inner courtyard of the mosque was used as a saddlery during the First World War. The mosque survived another fire and was finally substantially repaired by the Foundations in 1956, which included the minarets, domes, and arches.

The temple is comprised of a main dome, two half domes, two quarter domes, and ten small domes. The main dome is supported by four pillars, while the dome arches rest on four large granite columns. The 32-window dome has a diameter of 27.25 meters and is 53 meters above the ground. There are 64 cubes, each 50 cm tall, placed inside the dome and in the corners with their mouths open to the inside to enhance acoustics.

Suleymaniye Mosque Interior

The mosque has an interior area of around 3500 square meters, measuring 59 meters in length and 58 meters in width. It is illuminated by 238 windows and features a hünkâr and muezzin mahfis resting on valuable granite and marble columns. The minbar and mihrab are particularly noteworthy for their exquisite marble craftsmanship.

The area to the right of the muezzin’s cloister was formerly used as a library until 1918. The existing books were later moved to the General Library established in Süleymaniye Madrasahs. The front part of the mosque has five doors and beautiful colored windows above the mihrab. These windows were the work of the well-known master of the period, İbrahim Us-ta, and the sunlight entering through them was likened to the Sehper-i Jibril by Sinan the Architect.

The mosque has four very precious granite columns, one of which was brought from Alexandria and the other from Baalbek by special ships. The remaining two were taken from Kıztaşı in Istanbul and the Saray-ı Amire. These four columns, each 9.02 meters high, 1.14 meters in diameter, and weighing 40-50 tonnes, are likened by Mimar Sinan to the Four Caliphs.

Suleymaniye Mosque Interior

The Suleymaniye Mosque has a large inner courtyard surrounded by 28 domed porticoes. The aforementioned dome arches rest on 24 columns, 12 of which are granite, 10 are marble, and two are Somali marble columns. The floor of the courtyard is paved with marble, and there is a fountain in the middle of the courtyard, with an area of 2500 square meters. The mosque also has four minarets and ten balconies built in a style suitable for its magnificence. The minarets rising towards the sky resemble a person who raises both hands in prayer.

“The tombs and madrasas located inside the Süleymaniye Mosque.”

The mosque features beautifully engraved writings by the famous calligrapher Ahmet Karahisarî and his pupil Hasan Çelebi. The tomb in front of the mihrab belongs to Suleiman the Magnificent, who had the mosque built with his own money, and the tomb next to it belongs to his wife, Hürrem Sultan. Sinan the Architect is buried in a modest tomb next to the Istanbul Mufti’s Office outside the mosque garden.

The mosque garden is spread over 6000 square metres and has 11 gates. Seven madrasas, called Süleymaniye Madrasas, have been established around the garden. The buildings around the mosque have been converted into various institutions over the years, such as the Süleymaniye Library, a maternity home, a military printing house, and a Girls’ Qur’an Course.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments

The Suleymaniye Mosque was built by the world-famous Ottoman architect Mimar Sinan between 1551 and 1558, by order of the Ottoman Sultan Suleiman the Magnificent. It is widely regarded as an architectural masterpiece and is a must-see for anyone visiting Istanbul. Although some believe...Suleymaniye Mosque Istanbul