Sunday, April 28, 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+IiwicG9zdF9jYXRlZ29yaWVzIjoiVGhpbmdzIHRvIGRvIGluIElTVEFOQlVMLCBUaGluZ3MgdG8gZG8gaW4gVFVSS0VZIiwicG9zdF90YWdzIjoiaGlzdG9yaWNhbCBzaXRlLCBpc3RhbmJ1bCwgbXVzZXVtIiwiJV9lZGl0X2xvY2slIjoiMTcwNzQ5Njg5NDoxIiwiJXJhbmtfbWF0aF9pbnRlcm5hbF9saW5rc19wcm9jZXNzZWQlIjoiMSIsIiVyYW5rX21hdGhfc2VvX3Njb3JlJSI6IjgyIiwiJXJhbmtfbWF0aF9mb2N1c19rZXl3b3JkJSI6ImJhc2lsaWNhIGNpc3Rlcm4sc3Vua2VuIHBhbGFjZSBjaXN0ZXJuLHN1bmtlbiBwYWxhY2UgdHVya2V5LHVuZGVyZ3JvdW5kIGNpc3Rlcm4sdGhlIGJhc2lsaWNhIGNpc3Rlcm4sY2lzdGVybiBpc3RhbmJ1bCxpc3RhbmJ1bCBjaXN0ZXJuLG1lZHVzYSBoZWFkIiwiJV9lZGl0X2xhc3QlIjoiMSIsIiVBdHRyYWN0aW9uIFR5cGUlIjoiSGlzdG9yaWNhbCBTaXRlLCBNdXNldW0iLCIlX0F0dHJhY3Rpb24gVHlwZSUiOiJmaWVsZF82NWI5MDQ4ZDcwMmMzIiwiJWVudHJhbmNlX2ZlZSUiOiIyMSIsIiVfZW50cmFuY2VfZmVlJSI6ImZpZWxkXzY1YjkwOGIyNjM5ZWYiLCIlYmVzdF90aW1lX3RvX3Zpc2l0JSI6IkFsbCBTZWFzb25zIiwiJV9iZXN0X3RpbWVfdG9fdmlzaXQlIjoiZmllbGRfNjViOTA2NzdhMTBkYSIsIiVBdmFyZWdlIFZpc2l0aW5nIFRpbWUlIjoiMSIsIiVfQXZhcmVnZSBWaXNpdGluZyBUaW1lJSI6ImZpZWxkXzY1YjkwNmZiYzA4MWIiLCIlT3BlbiBkYXlzJSI6IkV2ZXJ5ZGF5IiwiJV9PcGVuIGRheXMlIjoiZmllbGRfNjViOTA4MTNjMDgxYyIsIiVPcGVucyBhdCUiOiIwOTowMDowMCIsIiVfT3BlbnMgYXQlIjoiZmllbGRfNjViOTA4Nzg0OWI1ZCIsIiVDbG9zZWQgYXQlIjoiMTk6MDA6MDAiLCIlX0Nsb3NlZCBhdCUiOiJmaWVsZF82NWJlYTU2OTc1YmFjIiwiJWRyZXNzX2NvZGUlIjoiQ2FzdWFsIiwiJV9kcmVzc19jb2RlJSI6ImZpZWxkXzY1YjkwYTdjNDQ0MjciLCIlb3RoZXJfdGlwcyUiOiJUaGUgQmFzaWxpY2EgQ2lzdGVybiBpcyBhbHNvIHVzZWQgYXMgYSB2ZW51ZSBmb3IgYWxsIGtpbmRzIG9mIGV2ZW50cyBkdWUgdG8gaXRzIGZhbnRhc3RpYyBhY291c3RpY3MgYW5kIG1hZ25pZmljZW50IHN1cnJvdW5kaW5ncy4gSWYgeW91IGhhdmUgdGhlIHJhcmUgb3Bwb3J0dW5pdHkgdG8gYXR0ZW5kIGEgY29uY2VydCBoZXJlLCBkb24ndCBtaXNzIGl0ISIsIiVfb3RoZXJfdGlwcyUiOiJmaWVsZF82NWI5MTAzM2JjOWNkIiwiJUxvY2F0aW9uJSI6IiIsIiVfTG9jYXRpb24lIjoiZmllbGRfNjViOTExMDdhMDRkZSIsIiVjaXR5JSI6IklTVEFOQlVMIiwiJV9jaXR5JSI6ImZpZWxkXzY1YzExZjU5MzJhYzciLCIlcmFuayUiOiIwMDAyIiwiJV9yYW5rJSI6ImZpZWxkXzY1YjdkNTE5ZWRlMTMiLCIlX3dwZ21wX2xvY2F0aW9uX2FkZHJlc3MlIjoiQWxlbWRhciwgWWVyZWJhdGFuIENkLiAxLzMsIDM0MTEwIEZhdGloL1x1MDEzMHN0YW5idWwsIFRcdTAwZmNya2l5ZSIsIiVfd3BnbXBfbG9jYXRpb25fY2l0eSUiOiIiLCIlX3dwZ21wX2xvY2F0aW9uX3N0YXRlJSI6Ilx1MDEzMHN0YW5idWwiLCIlX3dwZ21wX2xvY2F0aW9uX2NvdW50cnklIjoiVFx1MDBmY3JraXllIiwiJV93cGdtcF9tZXRhYm94X2xhdGl0dWRlJSI6IjQxLjAwODM4NDAwMDAwMDAxIiwiJV93cGdtcF9tZXRhYm94X2xvbmdpdHVkZSUiOiIyOC45Nzc4NzgiLCIlX3dwZ21wX21ldGFib3hfbG9jYXRpb25fcmVkaXJlY3QlIjoibWFya2VyIiwiJV93cGdtcF9tZXRhYm94X2N1c3RvbV9saW5rJSI6IiIsIiVfd3BnbXBfbWFwX2lkJSI6ImE6MTp7aTowO3M6MTpcIjFcIjt9IiwiJV93cGdtcF9tZXRhYm94X21hcmtlcl9pZCUiOiJhOjE6e2k6MDtzOjE6XCIyXCI7fSIsIiVfd3BnbXBfbWV0YWJveF90YXhvbW9taWVzX3Rlcm1zJSI6IiIsIiVfd3BnbXBfZXh0ZW5zaW9uc19maWVsZHMlIjoiIiwiJWNtcGx6X2hpZGVfY29va2llYmFubmVyJSI6IiIsIiVyYW5rX21hdGhfZGVzY3JpcHRpb24lIjoiQmFzaWxpY2EgQ2lzdGVybiBBS0EgU3Vua2FuIFBhbGFjZSBDaXN0ZXJuIGlzIGEgbXVzdC1zZWUgcGxhY2UgaW4gSXN0YW5idWwgYmVjYXVzZTsgSGlzdG9yeSwgQ3VsdHVyZSwgTGVnZW5kcyBhbmQgdGhlIGJyZWF0aHRha2luZyBhdG1vc3BoZXJlIGluc2lkZSBCYXNpbGljYSBDaXN0ZXJuLiIsIiVyYW5rX21hdGhfcHJpbWFyeV9jYXRlZ29yeSUiOiI1NiIsIiVfdGh1bWJuYWlsX2lkJSI6IjE0NDciLCIlcmFua19tYXRoX2FuYWx5dGljX29iamVjdF9pZCUiOiI4MyIsIiVwb3N0X3ZpZXdzX2NvdW50JSI6IjE3MCIsIiV0ZG1fc3RhdHVzJSI6IiIsIiV0ZG1fZ3JpZF9zdGF0dXMlIjoiIiwiJWZvb3Rub3RlcyUiOiIiLCIlX2JyZWFrZGFuY2VfaGlkZV9pbl9kZXNpZ25fc2V0JSI6IiIsIiVfYnJlYWtkYW5jZV90YWdzJSI6IiIsIiVfY21wbHpfc2Nhbm5lZF9wb3N0JSI6IjEiLCIlYnVyc3RfdG90YWxfcGFnZXZpZXdzX2NvdW50JSI6IjIiLCJ0YXhvbm9teT1jYXRlZ29yeSI6IlRoaW5ncyB0byBkbyBpbiBJU1RBTkJVTCwgVGhpbmdzIHRvIGRvIGluIFRVUktFWSIsInRheG9ub215PXBvc3RfdGFnIjoiaGlzdG9yaWNhbCBzaXRlLCBpc3RhbmJ1bCwgbXVzZXVtIiwidGF4b25vbXk9cG9zdF9mb3JtYXQiOiIifSwiaWNvbiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvYW5jaWVudG1vbnVtZW50LnBuZyJ9LCJpZCI6MTQzOCwiY3VzdG9tX2ZpbHRlcnMiOltdLCJpbmZvd2luZG93X2Rpc2FibGUiOmZhbHNlLCJjYXRlZ29yaWVzIjpbeyJpY29uIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1nb29nbGUtbWFwLWdvbGQvYXNzZXRzL2ltYWdlcy9pY29ucy9hbmNpZW50bW9udW1lbnQucG5nIiwibmFtZSI6Ikhpc3RvcmljYWwgUGxhY2VzIiwiaWQiOiIyIiwidHlwZSI6ImNhdGVnb3J5IiwiZXh0ZW5zaW9uX2ZpZWxkcyI6eyJjYXRfb3JkZXIiOiIifX1dfSx7InNvdXJjZSI6InBvc3QiLCJ0aXRsZSI6IkhhZ2lhIFNvcGhpYSBpbiBJc3RhbmJ1bCIsImluZm93aW5kb3dfY29udGVudCI6IjxkaXYgY2xhc3M9XCJmYy1tYWluXCI+PGRpdiBjbGFzcz1cImZjLWl0ZW0tdGl0bGVcIj5IYWdpYSBTb3BoaWEgaW4gSXN0YW5idWwgPHNwYW4gY2xhc3M9XCJmYy1iYWRnZSBpbmZvXCI+VGhpbmdzIHRvIGRvIGluIElTVEFOQlVMLCBUaGluZ3MgdG8gZG8gaW4gVFVSS0VZPC9zcGFuPjwvZGl2PiA8ZGl2IGNsYXNzPVwiZmMtaXRlbS1mZWF0dXJlZF9pbWFnZVwiPjxkaXYgY2xhc3M9XCJmYy1mZWF0dXJlLWltZ1wiPjxpbWcgbG9hZGluZz1cImxhenlcIiBkZWNvZGluZz1cImFzeW5jXCIgYWx0PVwiSGFnaWEgU29waGlhIGluIElzdGFuYnVsXCIgd2lkdGg9XCIzMDBcIiBoZWlnaHQ9XCIxNzZcIiBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLTItMS0zMDB4MTc2LnBuZ1wiIGNsYXNzPVwid3AtcG9zdC1pbWFnZSAgIHdwZ21wX2ZlYXR1cmVkX2ltYWdlXCIgPjwvZGl2PiA8L2Rpdj5IYWdpYSBTb3BoaWEgaXMgb25lIG9mIHRoZSBtb3N0IGltcG9ydGFudCBtb251bWVudHMgb2Ygd29ybGQgYXJjaGl0ZWN0dXJhbCBoaXN0b3J5IHRvIGhhdmUgc3Vydml2ZWQgdG8gdGhlIHByZXNlbnQgZGF5LiBIYWdpYSBTb3BoaWEgTWFwLCBEaXJlY3Rpb25zLCBOZWlnaGJvdXJob29kcyBIYWdpYSBTb3BoaWEgd2FzIGEgZ3JhbmRlc3QgcGxhY2Ugb2Ygd29yc2hpcCBmb3Igb3ZlciA5MDAgeWVhcnMsIGFuZCBhcmd1YWJseSB0aGUgbW9zdCBwZXJmZWN0IGFuZCBiZWF1dGlmdWwgY2h1cmNoIHRoYXQgaGFzIGJlZW4gZXJlY3RlZCBieSBhbnkgQ2hyaXN0aWFuIHBlb3BsZS4gSGFnaWEgU29waGlhIFsmaGVsbGlwO108YWRkcmVzcz48Yj5BZGRyZXNzIDogPC9iPnttYXJrZXJfYWRkcmVzc308L2FkZHJlc3M+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgIGNsYXNzPVwiZmMtYnRuIGZjLWJ0bi1zbWFsbCBmYy1idG4tcmVkXCIgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5L1wiPlJlYWQgTW9yZS4uLjwvYT48L2Rpdj4iLCJjb250ZW50IjoiSGFnaWEgU29waGlhIGlzIG9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgbW9udW1lbnRzIG9mIHdvcmxkIGFyY2hpdGVjdHVyYWwgaGlzdG9yeSB0byBoYXZlIHN1cnZpdmVkIHRvIHRoZSBwcmVzZW50IGRheS4gSGFnaWEgU29waGlhIE1hcCwgRGlyZWN0aW9ucywgTmVpZ2hib3VyaG9vZHMgSGFnaWEgU29waGlhIHdhcyBhIGdyYW5kZXN0IHBsYWNlIG9mIHdvcnNoaXAgZm9yIG92ZXIgOTAwIHllYXJzLCBhbmQgYXJndWFibHkgdGhlIG1vc3QgcGVyZmVjdCBhbmQgYmVhdXRpZnVsIGNodXJjaCB0aGF0IGhhcyBiZWVuIGVyZWN0ZWQgYnkgYW55IENocmlzdGlhbiBwZW9wbGUuIEhhZ2lhIFNvcGhpYSBbJmhlbGxpcDtdIiwiYWRkcmVzcyI6IlN1bHRhbiBBaG1ldCwgQXlhc29meWEgTWV5ZGFuXHUwMTMxIE5vOjEsIDM0MTIyIEZhdGloL1x1MDEzMHN0YW5idWwsIFRcdTAwZmNya2l5ZSIsImxvY2F0aW9uIjp7ImxhdCI6IjQxLjAwODU4MyIsInN0YXRlIjoiXHUwMTMwc3RhbmJ1bCIsImNvdW50cnkiOiJUXHUwMGZjcmtpeWUiLCJsbmciOiIyOC45ODAxNzUiLCJvbmNsaWNrX2FjdGlvbiI6InBvc3QiLCJyZWRpcmVjdF9wZXJtYWxpbmsiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8iLCJ6b29tIjo1LCJleHRyYV9maWVsZHMiOnsicG9zdF9leGNlcnB0IjoiSGFnaWEgU29waGlhIGlzIG9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgbW9udW1lbnRzIG9mIHdvcmxkIGFyY2hpdGVjdHVyYWwgaGlzdG9yeSB0byBoYXZlIHN1cnZpdmVkIHRvIHRoZSBwcmVzZW50IGRheS4gSGFnaWEgU29waGlhIE1hcCwgRGlyZWN0aW9ucywgTmVpZ2hib3VyaG9vZHMgSGFnaWEgU29waGlhIHdhcyBhIGdyYW5kZXN0IHBsYWNlIG9mIHdvcnNoaXAgZm9yIG92ZXIgOTAwIHllYXJzLCBhbmQgYXJndWFibHkgdGhlIG1vc3QgcGVyZmVjdCBhbmQgYmVhdXRpZnVsIGNodXJjaCB0aGF0IGhhcyBiZWVuIGVyZWN0ZWQgYnkgYW55IENocmlzdGlhbiBwZW9wbGUuIEhhZ2lhIFNvcGhpYSBbJmhlbGxpcDtdIiwicG9zdF9jb250ZW50IjoiPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5IYWdpYSBTb3BoaWEgaXMgb25lIG9mIHRoZSBtb3N0IGltcG9ydGFudCBtb251bWVudHMgb2Ygd29ybGQgYXJjaGl0ZWN0dXJhbCBoaXN0b3J5IHRvIGhhdmUgc3Vydml2ZWQgdG8gdGhlIHByZXNlbnQgZGF5LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiPkhhZ2lhIFNvcGhpYSBNYXAsIERpcmVjdGlvbnMsIE5laWdoYm91cmhvb2RzPC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMTg5LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS0yLTEtMTAyNHg2MDAucG5nXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMTg5XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SGFnaWEgU29waGlhIHdhcyBhIGdyYW5kZXN0IHBsYWNlIG9mIHdvcnNoaXAgZm9yIG92ZXIgOTAwIHllYXJzLCBhbmQgYXJndWFibHkgdGhlIG1vc3QgcGVyZmVjdCBhbmQgYmVhdXRpZnVsIGNodXJjaCB0aGF0IGhhcyBiZWVuIGVyZWN0ZWQgYnkgYW55IENocmlzdGlhbiBwZW9wbGUuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkhhZ2lhIFNvcGhpYSBpcyBhIGhpc3RvcmljYWwgcGhlbm9tZW5vbiBpbiB0aGUgbGlzdCBvZiB3b3JsZCBoZXJpdGFnZSBzaXRlcyBieSBVTkVTQ08uIFRoZSBoaXN0b3J5IG9mIEhhZ2lhIFNvcGhpYSBkYXRlcyBiYWNrIHRvIGFuY2llbnQgdGltZXMuIEhhZ2lhIFNvcGhpYSwgb25lIG9mIHRoZSBtb3N0IGltcG9ydGFudCBwbGFjZXMgb2Ygd29yc2hpcCBvZiB0aGUgRWFzdGVybiBSb21hbiBFbXBpcmUgaW4gaXRzIHRpbWUsIHNlcnZlcyBhcyBhIG1vc3F1ZSB0b2RheS4gSGFnaWEgU29waGlhIGlzIGEgaGlzdG9yaWNhbCBtb3NxdWUgcmVjb2duaXplZCBhcyBhIFdvcmxkIEhlcml0YWdlIHNpdGUgYnkgVU5FU0NPLiBJdHMgaGlzdG9yeSBkYXRlcyBiYWNrIHRvIGFuY2llbnQgdGltZXMgYW5kIHdhcyBvbmNlIGFuIGltcG9ydGFudCBwbGFjZSBvZiB3b3JzaGlwIGZvciB0aGUgRWFzdGVybiBSb21hbiBFbXBpcmUuIFRvZGF5LCBpdCBzZXJ2ZXMgYXMgYSBtb3NxdWUgYW5kIGNvbnRpbnVlcyB0byBob2xkIGdyZWF0IHNpZ25pZmljYW5jZS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiPjxzdHJvbmc+U1VNTUFSWTwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOmxpc3QgLS0+XG48dWw+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5BdHRyYWN0aW9uIFR5cGUgOjwvc3Ryb25nPkhpc3RvcmljYWwgU2l0ZSwgTXVzZXVtLCBNb3NxdWUsIENodXJjaCAvIE1vbmFzdGVyeTwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxzdHJvbmc+RW50cmFuY2UgRmVlPC9zdHJvbmc+IChBcHByLlVTRCkgOjI3PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PHN0cm9uZz5WaXNpdGluZyBUaW1lPC9zdHJvbmc+IChob3Vycyk6IDI8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPkRyZXNzIENvZGU8L3N0cm9uZz46IENsZWFuIHNvY2tzIC8gUHJvcGVyIGRyZXNzIGZvciBMYWRpZXMgcHJvdmlkZWQgYXQgdGhlIGVudHJhbmNlIChCb2R5IGFuZCBIZWFkIG11c3QgYmUgY292ZXJlZCkgLyBNZW46IGF0IGxlYXN0IHQtc2hpcnQgYW5kIFBhbnRzIHVuZGVyIGtuZWUgbGV2ZWw8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPlNwZWNpYWwgVGlwczwvc3Ryb25nPjpDcm93ZGVkIGF0IHByYXllciB0aW1lczwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxzdHJvbmc+T3Blbjwvc3Ryb25nPjogRXZlcnlkYXkgICA5OjAwIGFtLTY6MDAgcG08L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+XG48IS0tIC93cDpsaXN0IC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCI+VGFibGUgb2YgQ29udGVudHM8L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpsaXN0IC0tPlxuPHVsPjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaXMtaGFnaWEtc29waGlhLWNodXJjaC1vci1tb3NxdWVcIj5JcyBIYWdpYSBTb3BoaWEgQ2h1cmNoIG9yIE1vc3F1ZT88L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWEtbWVhbmluZy1hbmQtZGVmaW5pdGlvblwiPkhhZ2lhIFNvcGhpYSBtZWFuaW5nIGFuZCBkZWZpbml0aW9uPC9hPjwhLS0gd3A6bGlzdCAtLT5cbjx1bD48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI3NhaW50LXNvcGhpYVwiPlNhaW50IFNvcGhpYTwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+XG48IS0tIC93cDpsaXN0IC0tPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLXBob3Rvc1wiPkhhZ2lhIFNvcGhpYSBQaG90b3M6PC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLWRyb25lLXNob3QtdmlkZW9cIj5IYWdpYSBTb3BoaWEgRHJvbmUgU2hvdCBWaWRlbzwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI3doZXJlLWlzLWhhZ2lhLXNvcGhpYS1sb2NhdGVkXCI+V2hlcmUgaXMgSGFnaWEgU29waGlhIGxvY2F0ZWQ/PC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jd2h5LWlzLWhhZ2lhLXNvcGhpYS1zby1pbXBvcnRhbnRcIj5XaHkgaXMgSGFnaWEgU29waGlhIHNvIGltcG9ydGFudD88L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoaXN0b3J5LW9mLWhhZ2lhLXNvcGhpYVwiPkhpc3Rvcnkgb2YgSGFnaWEgU29waGlhPC9hPjwhLS0gd3A6bGlzdCAtLT5cbjx1bD48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2ZpcnN0LWhhZ2lhLXNvcGhpYVwiPkZpcnN0IEhhZ2lhIFNvcGhpYTwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI3NlY29uZC1oYWdpYS1zb3BoaWFcIj5TZWNvbmQgSGFnaWEgU29waGlhPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jdG9kYXlzLWhhZ2lhLXNvcGhpYS10aGlyZC1oYWdpYS1zb3BoaWFcIj5Ub2RheVx1MjAxOXMgSGFnaWEgU29waGlhOiBUaGlyZCBIYWdpYSBTb3BoaWE8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWEtYWZ0ZXItdGhlLWNvbnF1ZXN0LW9mLWlzdGFuYnVsXCI+SGFnaWEgU29waGlhIGFmdGVyIHRoZSBjb25xdWVzdCBvZiBJc3RhbmJ1bDwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2hhZ2lhLXNvcGhpYXMtYmVjb21pbmctYS1tdXNldW0tYW5kLXRoZW4tYS1tb3NxdWUtYWdhaW5cIj5IYWdpYSBTb3BoaWFcdTIwMTlzIGJlY29taW5nIGEgbXVzZXVtIGFuZCB0aGVuIGEgbW9zcXVlIGFnYWluPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD5cbjwhLS0gL3dwOmxpc3QgLS0+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNmYWN0cy1hYm91dC1oYWdpYS1zb3BoaWEtYXJjaGl0ZWN0dXJlLWFuZC1zdHJ1Y3R1cmVcIj5GYWN0cyBBYm91dCBIYWdpYSBTb3BoaWEgQXJjaGl0ZWN0dXJlIGFuZCBTdHJ1Y3R1cmU8L2E+PCEtLSB3cDpsaXN0IC0tPlxuPHVsPjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jY29sdW1ucy1hbmQtbWFyYmxlcy1vZi1oYWdpYS1zb3BoaWEtYnJvdWdodC1mcm9tLWFuY2llbnQtY2l0aWVzXCI+Q29sdW1ucyBhbmQgbWFyYmxlcyBvZiBIYWdpYSBTb3BoaWEgYnJvdWdodCBmcm9tIGFuY2llbnQgY2l0aWVzPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLWRvbWVcIj5IYWdpYSBTb3BoaWEgRG9tZTwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2dhdGUtb2YtdGhlLWVtcGVyb3JzXCI+R2F0ZSBvZiB0aGUgRW1wZXJvcnM8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPlxuPCEtLSAvd3A6bGlzdCAtLT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2hhZ2lhLXNvcGhpYS1pbnRlcmlvci1wYXJ0c1wiPkhhZ2lhIFNvcGhpYSBJbnRlcmlvciBQYXJ0czwvYT48IS0tIHdwOmxpc3QgLS0+XG48dWw+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNhcHNlLW1vc2FpYy1pbi1oYWdpYS1zb3BoaWFcIj5BcHNlIE1vc2FpYyBpbiBIYWdpYSBTb3BoaWE8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyN0d28tYW5nZWxzLWluLXRoZS1hcHNlXCI+VHdvIEFuZ2VscyBpbiB0aGUgQXBzZTwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI3Zpa2luZy13cml0aW5nLWluLWhhZ2lhLXNvcGhpYVwiPlZpa2luZyBXcml0aW5nIGluIEhhZ2lhIFNvcGhpYTwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2xlb24tdmktbW9zYWljXCI+TGVvbiBWSSBNb3NhaWM8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNvZmZlcmluZy1tb3NhaWNcIj5PZmZlcmluZyBNb3NhaWM8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNhbmdlbC1kZXBpY3Rpb25zLW9uLXRoZS1kb21lLW9mLWhhZ2lhLXNvcGhpYVwiPkFuZ2VsIERlcGljdGlvbnMgb24gdGhlIERvbWUgb2YgSGFnaWEgU29waGlhPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jcGF0cmlhcmNoLW1vc2FpY3MtaW4tdHltcGFub25cIj5QYXRyaWFyY2ggTW9zYWljcyBpbiBUeW1wYW5vbjwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2VtcGVyb3ItYWxleGFuZGVyLW1vc2FpY1wiPkVtcGVyb3IgQWxleGFuZGVyIE1vc2FpYzwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI3pvZS1hbmQta29tbmVub3MtbW9zYWljc1wiPlpvZSBhbmQgS29tbmVub3MgTW9zYWljczwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2RlaXNpcy1jb21wb3NpdGlvbi1pbi1oYWdpYS1zb3BoaWFcIj5EZWlzaXMgQ29tcG9zaXRpb24gaW4gSGFnaWEgU29waGlhPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jb21waGFsaW9uLWluLWhhZ2lhLXNvcGhpYVwiPk9tcGhhbGlvbiBpbiBIYWdpYSBTb3BoaWE8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWEtd2lzaC1jb2x1bW5cIj5IYWdpYSBTb3BoaWEgV2lzaCBDb2x1bW48L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWEtbWluYXJldHNcIj5IYWdpYSBTb3BoaWEgTWluYXJldHM8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWEtYnV0dHJlc3Nlc1wiPkhhZ2lhIFNvcGhpYSBCdXR0cmVzc2VzPC9hPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8jaGFnaWEtc29waGlhLW1hcmJsZS1jdWJlc1wiPkhhZ2lhIFNvcGhpYSBNYXJibGUgQ3ViZXM8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWEtbWluYmFyXCI+SGFnaWEgU29waGlhIE1pbmJhcjwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2h1bmthci1tYWhmaWxpLXN1bHRhbnMtZ2F0aGVyaW5nLXBsYWNlXCI+SFx1MDBmY25rXHUwMGUyciBNYWhmaWxpIChTdWx0YW5zIEdhdGhlcmluZyBQbGFjZSk8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNoYWdpYS1zb3BoaWEtbWlocmFiXCI+SGFnaWEgU29waGlhIE1paHJhYjwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI3RpbGVzLWFyb3VuZC10aGUtbWlocmFiXCI+VGlsZXMgQXJvdW5kIHRoZSBNaWhyYWI8L2E+PC9saT5cbjwhLS0gL3dwOmxpc3QtaXRlbSAtLT5cblxuPCEtLSB3cDpsaXN0LWl0ZW0gLS0+XG48bGk+PGEgaHJlZj1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy9oYWdpYS1zb3BoaWEtaW4taXN0YW5idWwvMzY5LyNjYWxsaWdyYXBoeS1wbGF0ZXMtaW4tdGhlLW1paHJhYi1zZWN0aW9uXCI+Q2FsbGlncmFwaHkgUGxhdGVzIGluIHRoZSBNaWhyYWIgU2VjdGlvbjwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI2hhZ2lhLXNvcGhpYS1mb3VudGFpblwiPkhhZ2lhIFNvcGhpYSBGb3VudGFpbjwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvI21vc2FpYy10dWdocmEtb2Ytc3VsdGFuLWFiZHVsbWVjaWQtaW4taGFnaWEtc29waGlhXCI+TW9zYWljIFR1Z2hyYSBvZiBTdWx0YW4gQWJkXHUwMGZjbG1lY2lkIGluIEhhZ2lhIFNvcGhpYTwvYT48L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+XG48IS0tIC93cDpsaXN0IC0tPjwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD5cbjwhLS0gL3dwOmxpc3QgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImlzLWhhZ2lhLXNvcGhpYS1jaHVyY2gtb3ItbW9zcXVlXCI+PHN0cm9uZz5JcyBIYWdpYSBTb3BoaWEgQ2h1cmNoIG9yIE1vc3F1ZT88L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5IYWdpYSBTb3BoaSBoYWQgYmVlbiBzZXJ2aW5nIGFzIGEgY2h1cmNoIGZvciA5MTYgeWVhcnMgYW5kIHdhcyBjb252ZXJ0ZWQgaW50byBhIG1vc3F1ZSBhZnRlciBNZWhtZWQgdGhlIENvbnF1ZXJvciBjb25xdWVyZWQgSXN0YW5idWwgaW4gMTQ1My4gSXQgd2FzIHVzZWQgYXMgYSBtb3NxdWUgZm9yIDQ4MiB5ZWFycyB1bnRpbCBpdCB3YXMgY29udmVydGVkIGludG8gYSBtdXNldW0gaW4gMTkzNSBieSB0aGUgb3JkZXIgb2YgQXRhdFx1MDBmY3JrIGFuZCB0aGUgZGVjaXNpb24gb2YgdGhlIENvdW5jaWwgb2YgTWluaXN0ZXJzLiBIb3dldmVyLCBpbiAyMDIwLCZuYnNwOzxtYXJrPlByZXNpZGVudCBSZWNlcCBUYXl5aXAgRXJkb1x1MDExZmFuPC9tYXJrPiZuYnNwO29yZGVyZWQgaXQgdG8gYmUmbmJzcDs8YSBocmVmPVwiaHR0cHM6Ly93d3cuZm94bmV3cy5jb20vd29ybGQvaGFnaWEtc29waGlhLWxhbmRtYXJrLWNvbnZlcnRlZC1jaHVyY2gtbW9zcXVlLW11c2V1bS1tb3NxdWUtYWdhaW5cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub3JlZmVycmVyIG5vb3BlbmVyXCI+Y29udmVydGVkIGJhY2sgaW50byBhIG1vc3F1ZTwvYT4mbmJzcDthbmQgb3BlbmVkIGZvciB3b3JzaGlwIGJ5IE11c2xpbXMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtbWVhbmluZy1hbmQtZGVmaW5pdGlvblwiPjxzdHJvbmc+SGFnaWEgU29waGlhIG1lYW5pbmc8L3N0cm9uZz4mbmJzcDs8c3Ryb25nPmFuZCBkZWZpbml0aW9uPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+V2hlbiB0aGUgSGFnaWEgU29waGlhIHdhcyBvcmlnaW5hbGx5IGNvbnN0cnVjdGVkLCBpdCB3YXMgcmVmZXJyZWQgdG8gYXMgdGhlJm5ic3A7PHN0cm9uZz5HcmVhdCBDaHVyY2ggb3IgTWVnYWxlIEVra2xlc2lhPC9zdHJvbmc+LiBIb3dldmVyLCBpdCBiZWNhbWUgbW9yZSBjb21tb25seSBrbm93biBhcyBTb3BoaWEgZHVyaW5nIHRoZSBmaWZ0aCBjZW50dXJ5LiBEZXNwaXRlIHRoaXMsIHRoZSBnZW5lcmFsIHB1YmxpYyBjb250aW51ZWQgdG8gcmVmZXIgdG8gaXQgYXMgdGhlIEdyZWF0IENodXJjaC4gRm9sbG93aW5nIHRoZSBPdHRvbWFuIGNvbnF1ZXN0IG9mIENvbnN0YW50aW5vcGxlIGluIDE0NTMsIHRoZSBuYW1lIHdhcyBjaGFuZ2VkIHRvIFx1MjAxY0hhZ2lhIFNvcGhpYSxcdTIwMWQgd2hpY2ggaXMgdGhlIG5hbWUgaXQgaXMgc3RpbGwga25vd24gdG9kYXkuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInNhaW50LXNvcGhpYVwiPjxzdHJvbmc+U2FpbnQgU29waGlhPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIGlkZWEgdGhhdCB0aGUgYnVpbGRpbmcgd2FzIGRlZGljYXRlZCB0byBhIHNhaW50IG5hbWVkIFNvcGhpYSBpcyB3cm9uZy4gVGhlIGNodXJjaCB3YXMgZGVkaWNhdGVkIHRvIFRoZWlhIFNvcGhpYSwgSG9seSBXaXNkb20sIHRoZSBzZWNvbmQgZWxlbWVudCBvZiB0aGUgQ2hyaXN0aWFuIHRyaW5pdHkuIFRoZSBjdXJyZW50IG5hbWU7IEhhZ2lhIFNvcGhpYSwgaXMgY29tcG9zZWQgb2YgdGhlIHdvcmRzIEF5YSAoaG9seSwgc2FpbnQpIGFuZCBTb3Bob3MgKHdpc2RvbSksIHdoaWNoPHN0cm9uZz4mbmJzcDttZWFucyBob2x5L2RpdmluZSB3aXNkb208L3N0cm9uZz4uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtcGhvdG9zXCI+PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz4mbmJzcDs8c3Ryb25nPlBob3Rvczwvc3Ryb25nPjo8L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpnYWxsZXJ5IHtcImxpbmtUb1wiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1nYWxsZXJ5IGhhcy1uZXN0ZWQtaW1hZ2VzIGNvbHVtbnMtZGVmYXVsdCBpcy1jcm9wcGVkXCI+PCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMDAsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLTIyMjMyMzUtS29weWEuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjAwXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjAyLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS0yMjIzMjM1MDk1Njg3NjA5MzQ3Njg5NzUtMi5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMDJcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMDMsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLWFmdGVyLWNvbnF1ZXN0LW9mLWlzdGFuYnVsLTEuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjAzXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjEzLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1hcHNlLW1vc2FpYy1Lb3B5YS5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMTNcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMDYsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLWludGVyaW9yLS5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMDZcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMDQsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLWludGVyaW9yLW1pbmJhci5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMDRcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMDUsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLWludGVyaW9yLW1vc2FpY3MxNzM2NDY3MzgyMzc2NDM3ODI5LmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTIwNVwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTIxMCxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtbGlicmFyeS5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMTBcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMTEsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLWxpYnJhcnk3OTM0NTY4OTIzNDc2NTkyMDgzNzQ4OS5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMTFcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMDksXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLWxpYnJhcnktdGlsZXMuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjA5XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjA3LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1tb3NxdWUuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjA3XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjA4LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1tb3NxdWVfNTM1MzUzNTM1MzQ1LmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTIwOFwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTIxNixcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtbW9zcXVlX2RvbWUuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjE2XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxMjEyLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyL2hhZ2lhLXNvcGhpYS1tb3NxdWVfZG9tZTY3MzI2NDk3MTIzNTQ5Njg3LmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTIxMlwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTIxNyxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtbW9zcXVlMTIzMTMyNC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMTdcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMTQsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLW1vc3F1ZTA4OTcwNzk2OS5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTEyMTRcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT48L2ZpZ3VyZT5cbjwhLS0gL3dwOmdhbGxlcnkgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhhZ2lhLXNvcGhpYS1kcm9uZS1zaG90LXZpZGVvXCI+PHN0cm9uZz5IYWdpYSBTb3BoaWEgRHJvbmUgU2hvdCBWaWRlbzwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOmVtYmVkIHtcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1KcXJXSE1Lb2R0a1wiLFwidHlwZVwiOlwidmlkZW9cIixcInByb3ZpZGVyTmFtZVNsdWdcIjpcInlvdXR1YmVcIixcInJlc3BvbnNpdmVcIjp0cnVlLFwiY2xhc3NOYW1lXCI6XCJ3cC1lbWJlZC1hc3BlY3QtMTYtOSB3cC1oYXMtYXNwZWN0LXJhdGlvXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWVtYmVkIGlzLXR5cGUtdmlkZW8gaXMtcHJvdmlkZXIteW91dHViZSB3cC1ibG9jay1lbWJlZC15b3V0dWJlIHdwLWVtYmVkLWFzcGVjdC0xNi05IHdwLWhhcy1hc3BlY3QtcmF0aW9cIj48ZGl2IGNsYXNzPVwid3AtYmxvY2stZW1iZWRfX3dyYXBwZXJcIj5cbmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9SnFyV0hNS29kdGtcbjwvZGl2PjwvZmlndXJlPlxuPCEtLSAvd3A6ZW1iZWQgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cIndoZXJlLWlzLWhhZ2lhLXNvcGhpYS1sb2NhdGVkXCI+PHN0cm9uZz5XaGVyZSBpcyBIYWdpYSBTb3BoaWEgbG9jYXRlZD88L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgZWFzaWVzdCB3YXkgdG8gcmVhY2ggSGFnaWEgU29waGlhIE1vc3F1ZSBpcyB2aWEgTWFybWFyYXkgYW5kIHRyYW0gbGluZXMgZm9yIGJvdGggc2lkZXMgb2YgSXN0YW5idWwuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPjxzdHJvbmc+VHJhbTo8L3N0cm9uZz4mbmJzcDtZb3UgY2FuIHRha2UgdGhlIEJhXHUwMTFmY1x1MDEzMWxhci1LYWJhdGFcdTAxNWYgZGlyZWN0aW9uIHRyYW0gbGluZSBhbmQgZ2V0IG9mZiBhdCBTdWx0YW5haG1ldCBzdG9wLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD48c3Ryb25nPk1hcm1hcmF5OiZuYnNwOzwvc3Ryb25nPllvdSBjYW4gZ2V0IG9mZiBhdCB0aGUgU2lya2VjaSBzdG9wIGFuZCBlaXRoZXIgd2FsayBvciB0YWtlIHRoZSB0cmFtIHlvdSB3aWxsIHNlZSBhdCB0aGUgZXhpdCBhbmQgY29udGludWUgb24geW91ciB3YXkuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPjxzdHJvbmc+RmVycnkgYW5kIE1vdG9yYm9hdDo8L3N0cm9uZz4mbmJzcDtZb3UgY2FuIGNob29zZSBhbiBlYXN5IHRyYW5zcG9ydGF0aW9uIGJ5IHNlYSBmcm9tIHRoZSBBbmF0b2xpYW4gU2lkZSB0byB0aGUgRXVyb3BlYW4gU2lkZS4gWW91IGNhbiB0YWtlIHRoZSBmZXJyaWVzIGZyb20gS2FkXHUwMTMxa1x1MDBmNnkgb3IgXHUwMGRjc2tcdTAwZmNkYXIgdG8gRW1pblx1MDBmNm5cdTAwZmMuIFdoZW4geW91IGdldCBvZmYsIHlvdSBjYW4gZWl0aGVyIHdhbGsgb3IgdXNlIHRoZSB0cmFtLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5BcnJpdmluZyBieSBjYXIgY291bGQgYmUgYSBwcm9ibGVtIGZvciB0aGlzIHJlZ2lvbi4gQWx0aG91Z2ggdGhlcmUgYXJlIHBhcmtpbmcgbG90cyBpbiBIaXN0b3JpY2FsIFBlbmluc3VsYSBzdWNoIGFzIHRoZSBTaXJrZWNpIGFuZCZuYnNwOzxhIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvdG9wa2FwaS1wYWxhY2UtbXVzZXVtLWluLWlzdGFuYnVsLXR1cmtleS8xODkvXCI+VG9wa2FwaSBQYWxhY2U8L2E+LCB3aGljaCBhcmUgdmVyeSBidXN5IGVzcGVjaWFsbHkgb24gd2Vla2VuZHMsIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBsZWF2ZSBhcyBlYXJseSBhcyBwb3NzaWJsZS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cIndoeS1pcy1oYWdpYS1zb3BoaWEtc28taW1wb3J0YW50XCI+PHN0cm9uZz5XaHkgaXMgSGFnaWEgU29waGlhIHNvIGltcG9ydGFudD88L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyMjUsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaXN0YW5idWwtNzc1OTI2XzEyODAtMTAyNHg3NjguanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjI1XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SGFnaWEgU29waGlhIGlzIGEgaGlzdG9yaWNhbCBtb251bWVudCBvZiBncmVhdCBpbXBvcnRhbmNlLiBJdCBob2xkcyB0aGUgZGlzdGluY3Rpb24gb2YgYmVpbmcgdGhlIHdvcmxkXHUyMDE5cyBvbGRlc3QgYW5kIGZhc3Rlc3QtYnVpbHQgY2F0aGVkcmFsLiBGb3IgMTAwMCB5ZWFycyBhZnRlciBpdHMgY29uc3RydWN0aW9uLCBpdCByZW1haW5lZCB0aGUgbGFyZ2VzdCBjYXRoZWRyYWwgdW50aWwgdGhlIGNvbXBsZXRpb24gb2YgdGhlIFNldmlsbGUgQ2F0aGVkcmFsIGluIFNwYWluIGluIDE1MjAuIEl0IGlzIG9mdGVuIHJlZmVycmVkIHRvIGFzIFx1MjAxY3RoZSA4dGggd29uZGVyIG9mIHRoZSB3b3JsZFx1MjAxZCwgd2hpY2ggaXMgbm90IGFuIGV4YWdnZXJhdGlvbiBjb25zaWRlcmluZyBpdHMgaW50ZXJuYXRpb25hbCBpbXBvcnRhbmNlIGFuZCBhZHZhbmNlZCBhcmNoaXRlY3R1cmUuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBtb251bWVudCBpcyBvbmUgb2YgdGhlIG1vc3QgdmFsdWFibGUgYXJ0aXN0aWMgYW5kIGFyY2hpdGVjdHVyYWwgbW9udW1lbnRzIGluIHRoZSB3b3JsZCwgd2l0aCByZWxpZ2lvdXMgc2lnbmlmaWNhbmNlIHRoYXQgYWRkcyB0byBpdHMgY3VsdHVyYWwgdmFsdWUuIEFzIGEgcmVzdWx0LCBpdCBpcyBvbmUgb2YgdGhlIG1vc3QgdmlzaXRlZCB0b3VyaXN0IGF0dHJhY3Rpb25zIGluIHRoZSB3b3JsZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SG93ZXZlciwgZGVzcGl0ZSBpdHMgcG9wdWxhcml0eSwgbWFueSBwZW9wbGUgaGF2ZSBhIHN1cGVyZmljaWFsIHVuZGVyc3RhbmRpbmcgb2YgSGFnaWEgU29waGlhLCB3aGljaCBpcyBhIHBsYWNlIG9mIGdyZWF0IGRldGFpbCBhbmQgbXlzdGVyeS4gVGhlIGF2ZXJhZ2UgcGVyc29uXHUyMDE5cyBrbm93bGVkZ2Ugb2YgdGhpcyBCeXphbnRpbmUgbW9udW1lbnQgaXMgbGltaXRlZCB0byB0aGUgZmFjdCB0aGF0IGl0IHdhcyB0aGUgbGFyZ2VzdCBidWlsZGluZyBpbiB0aGUgd29ybGQgaW4gaXRzIHRpbWUsIHRoYXQgaXQgd2FzIGNvbnZlcnRlZCBpbnRvIGEgbW9zcXVlIGFmdGVyIHRoZSBjb25xdWVzdCBvZiBJc3RhbmJ1bCwgdGhhdCBpdCBzZXJ2ZWQgYXMgYSBtdXNldW0sIGFuZCB0aGF0IGl0IGlzIG5vdyBhIG1vc3F1ZSBhZ2Fpbi48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhpc3Rvcnktb2YtaGFnaWEtc29waGlhXCI+PHN0cm9uZz5IaXN0b3J5IG9mIEhhZ2lhIFNvcGhpYTwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkhhZ2lhIFNvcGhpYSB3YXMgYnVpbHQgbm90IG9uY2UgYnV0IDMgdGltZXMgaW4gdGhlIHNhbWUgcGxhY2UgdW50aWwgaXQgdG9vayBpdHMgY3VycmVudCBmb3JtLiBBZnRlciBpdCB3YXMgYnVpbHQgZm9yIHRoZSBsYXN0IHRpbWUsIGl0IHJlbWFpbmVkIHRoZSBsYXJnZXN0IGNhdGhlZHJhbCBpbiB0aGUgd29ybGQgZm9yIDEwMDAgeWVhcnMuIEl0IHdhcyB0aGUgY2VudGVyIG9mIHJlbGlnaW91cyBsaWZlIGluIElzdGFuYnVsLCB0aGUgY2FwaXRhbCBvZiBib3RoIHRoZSBSb21hbiBhbmQgT3R0b21hbiBFbXBpcmVzLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5XaGlsZSB0aGUgdHdvIEhhZ2lhIFNvcGhpYXMgYmVmb3JlIHRoZSBsYXN0IG9uZSB3ZXJlIGRlc3Ryb3llZCBieSBmaXJlcyBpbiByaW90cywgdGhlIGRvbWUgb2YgdGhlIGN1cnJlbnQgSGFnaWEgU29waGlhIHdhcyBkZXN0cm95ZWQgYnkgYW4gZWFydGhxdWFrZSBhbmQgcmVidWlsdC4gTm93IHdlIHdpbGwgYnJpZWZseSB0YWxrIGFib3V0IHRoZSBoaXN0b3J5IG9mIHRoZSAzIEhhZ2lhIFNvcGhpYVx1MjAxOXM6PC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImZpcnN0LWhhZ2lhLXNvcGhpYVwiPjxzdHJvbmc+Rmlyc3QgSGFnaWEgU29waGlhPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIGNvbnN0cnVjdGlvbiBvZiB0aGUgZmlyc3QgY2h1cmNoIHdhcyBpbml0aWF0ZWQgYnkgQ29uc3RhbnRpbmUgdGhlIEdyZWF0IChDb25zdGFudGluZSBJLCAyNzIgQUQgMzM3IEFEKSwgd2hvIG1hZGUgQ29uc3RhbnRpbm9wbGUgdGhlIGNhcGl0YWwgb2YgdGhlIFJvbWFuIEVtcGlyZSwgbGliZXJhbGl6ZWQgQ2hyaXN0aWFuaXR5IHdpdGggdGhlIEVkaWN0IG9mIE1pbGFuIGFuZCBsZWQgdGhlIHdheSB0byB0aGUgQ291bmNpbCBvZiBOaWNhZWEsIHdoZXJlIHRoZSBiaW5kaW5nIHJ1bGVzIG9mIENocmlzdGlhbml0eSB3ZXJlIGVzdGFibGlzaGVkLiBJdCB3YXMgY29tcGxldGVkIGFuZCBvcGVuZWQgZm9yIHdvcnNoaXAgaW4gMzYwIEFEIGJ5IGhpcyBzb24gQ29uc3RhbnRpdXMuIFRoZSBmaXJzdCBjaHVyY2ggd2FzIGNhbGxlZCBNZWdhbG8gRWtsZXNpYSwgd2hpY2ggbWVhbnMgR3JlYXQgQ2h1cmNoIGluIEdyZWVrLCBidXQgaXQgd2FzIGJ1cm5lZCBkb3duIGluIGEgcG9wdWxhciB1cHJpc2luZyBpbiA0MDQgQUQgYW5kIG5vdCBtdWNoIHdhcyBsZWZ0LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJzZWNvbmQtaGFnaWEtc29waGlhXCI+PHN0cm9uZz5TZWNvbmQgSGFnaWEgU29waGlhPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIDJuZCBjaHVyY2gsIHdoaWNoIHdhcyBidWlsdCBieSBFbXBlcm9yIFRoZW9kb3NpdXMgSUkgKDQwOC00NTAgQUQpIGluIDQxNSwgd2FzIGRlc3Ryb3llZCBkdXJpbmcgdGhlIEVtcGVyb3IgSnVzdGluaWFuXHUyMDE5cyAoNTI3LTU2NSBBRCkgcmVpZ24gaW4gNTMyIEFEIGR1cmluZyB0aGUgZ3JlYXQgcG9wdWxhciB1cHJpc2luZyBrbm93biBpbiBoaXN0b3J5IGFzIHRoZSBOaWthIFJldm9sdC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+V2hhdCByZW1haW5zIG9mIHRoZSAybmQgY2h1cmNoIGFyZSB0aGUgY29sdW1ucyBpbiB0aGUgY291cnR5YXJkIGFuZCBnYXJkZW4uIEluIGFkZGl0aW9uLCBleGNhdmF0aW9ucyBpbiAxOTM1IHVuY292ZXJlZCB0aGUgc3RhaXJzIG9mIHRoZSBtb251bWVudGFsIGVudHJhbmNlIG9mIHRoZSBzZWNvbmQgY2h1cmNoLCBhYm91dCB0d28gbWV0ZXJzIGJlbG93IHRoZSBmbG9vciBvZiB0aGUgcHJlc2VudCBjaHVyY2gsIGFuZCBmcmFnbWVudHMgb2YgdGhlIGZyaWV6ZSBkZWNvcmF0ZWQgd2l0aCByZWxpZWZzIG9mIHNoZWVwIHN5bWJvbGl6aW5nIHRoZSAxMiBhcG9zdGxlcy4gWW91IGNhbiBleGFtaW5lIGFsbCBvZiB0aGVzZSBieSBzcGVuZGluZyBzb21lIHRpbWUgaW4gdGhlIGdhcmRlbiBvZiB0aGUgSGFnaWEgU29waGlhIGJlZm9yZSBlbnRlcmluZyB0aGUgYnVpbGRpbmcuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInRvZGF5cy1oYWdpYS1zb3BoaWEtdGhpcmQtaGFnaWEtc29waGlhXCI+PHN0cm9uZz5Ub2RheVx1MjAxOXMgSGFnaWEgU29waGlhOiBUaGlyZCBIYWdpYSBTb3BoaWE8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgdGhpcmQgSGFnaWEgU29waGlhLCB3aGljaCBoYXMgc3Vydml2ZWQgdG8gdGhlIHByZXNlbnQgZGF5LCB3YXMgYnVpbHQgYnkmbmJzcDs8YSBocmVmPVwiaHR0cHM6Ly93d3cuYnJpdGFubmljYS5jb20vYmlvZ3JhcGh5L0p1c3Rpbmlhbi1JXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9yZWZlcnJlciBub29wZW5lclwiPkVtcGVyb3IgSnVzdGluaWFuPC9hPiZuYnNwOyg1MjctNTY1IEEuRC4pIGZvciB0aGUgcGh5c2ljaXN0IElzaWRvcm9zIG9mIE1pbGV0dXMgYW5kIHRoZSBtYXRoZW1hdGljaWFuIEFudGVtaW9zIG9mIFRyYWxlcywgbm93IEF5ZFx1MDEzMW4uIFRoZSBjb25zdHJ1Y3Rpb24gYmVnYW4gb24gRmVicnVhcnkgMjMsIDUzMiBhbmQgd2FzIGNvbXBsZXRlZCBpbiA1IHllYXJzIGFuZCBvcGVuZWQgZm9yIHdvcnNoaXAgb24gRGVjZW1iZXIgMjYsIDUzNy4gQW50ZW1pb3MgZGllZCBpbiB0aGUgc2Vjb25kIHllYXIgb2YgY29uc3RydWN0aW9uLCBidXQgSXNpZG9yb3MgY29tcGxldGVkIHRoZSBidWlsZGluZy4gVGhlIGNvbnN0cnVjdGlvbiBpbnZvbHZlZCAxMDAwIGNyYWZ0c21lbiBhbmQgY3JhZnRzbWVuIGFuZCAxMCwwMDAgd29ya2Vycy4gSGFnaWEgU29waGlhLCB0aGUgb2xkZXN0IGNhdGhlZHJhbCBpbiB0aGUgd29ybGQsIGlzIGFsc28gdGhlIGZhc3Rlc3QgYnVpbHQgY2F0aGVkcmFsIGluIHRoZSB3b3JsZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+PHN0cm9uZz5TYWNrZWQgZHVyaW5nIGEgY3J1c2FkZTwvc3Ryb25nPjo8YnI+RHVyaW5nIHRoZSBGb3VydGggQ3J1c2FkZSwgdGhlIENydXNhZGVycyB1bmRlciB0aGUgY29tbWFuZCBvZiBFbnJpY28gRGFuZG9sbywgdGhlIDQxc3QgRG9qYSBvZiB0aGUgVmVuZXRpYW4gUmVwdWJsaWMsIGNhcHR1cmVkIENvbnN0YW50aW5vcGxlIGFuZCBzYWNrZWQgdGhlIEhhZ2lhIFNvcGhpYS4gRHVyaW5nIHRoaXMgcGVyaW9kLCBIYWdpYSBTb3BoaWEgc3VmZmVyZWQgZ3JlYXQgZGVzdHJ1Y3Rpb24uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhhZ2lhLXNvcGhpYS1hZnRlci10aGUtY29ucXVlc3Qtb2YtaXN0YW5idWxcIj48c3Ryb25nPkhhZ2lhIFNvcGhpYSBhZnRlciB0aGUgY29ucXVlc3Qgb2YgSXN0YW5idWw8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyNTMsXCJ3aWR0aFwiOlwiODY5cHhcIixcImhlaWdodFwiOlwiYXV0b1wifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBpcy1yZXNpemVkXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLWFmdGVyLWNvbnF1ZXN0LW9mLWlzdGFuYnVsLmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMTI1M1wiIHN0eWxlPVwid2lkdGg6ODY5cHg7aGVpZ2h0OmF1dG9cIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5JbiAxNDUzLCB3aXRoIHRoZSBjb25xdWVzdCBvZiBJc3RhbmJ1bCwmbmJzcDs8YSBocmVmPVwiaHR0cHM6Ly93d3cuYXlhc29meWFjYW1paS5nb3YudHIvZW4vYXlhc29meWEtdGFyaWhpXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9yZWZlcnJlciBub29wZW5lclwiPkhhZ2lhIFNvcGhpYSB3YXMgY29udmVydGVkIGludG8gYSBtb3NxdWU8L2E+Jm5ic3A7YW5kIElzbGFtaWMgZWxlbWVudHMgd2VyZSBhZGRlZCB0byB0aGUgc3RydWN0dXJlLiBUaGUgZmlyc3QgbWluYXJldCB3YXMgYnVpbHQgaW4gSGFnaWEgU29waGlhIGR1cmluZyB0aGUgcmVpZ24gb2YgRmF0aWggU3VsdGFuIE1laG1ldC4gVGhpcyB3b29kZW4gbWluYXJldCBkb2VzIG5vdCBzdXJ2aXZlIHRvIHRoaXMgZGF5LiBMYXRlciwgZHVyaW5nIHRoZSByZWlnbiBvZiBTdWx0YW4gQmF5ZXppZCBJSSwgYW5vdGhlciBtaW5hcmV0IHdhcyBhZGRlZCB0byB0aGUgYnVpbGRpbmcuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkR1cmluZyB0aGUgcmVpZ24gb2YgU2VsaW0gSUkgKDE1NjYtMTU3NCksIFNpbmFuIHRoZSBBcmNoaXRlY3QgcmVpbmZvcmNlZCB0aGUgSGFnaWEgU29waGlhIGFuZCBpdHMgZG9tZSB3aXRoIGJ1dHRyZXNzZXMgYW5kIGFyY2hlcyBhbmQgYWRkZWQgYSBtaW5hcmV0LCB0aGUgaFx1MDBmY25rYXIgbWFoZmlsaSBhbmQgU2VsaW0gSUlcdTIwMTlzIHRvbWIuIEluIHRoZSAxNjAwcywgdGhlIG1hdXNvbGV1bXMgb2YgTXVyYXQgSUkgYW5kIE1laG1lZCBJSUkgd2VyZSBhZGRlZCB0byB0aGUgYnVpbGRpbmcuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkR1cmluZyB0aGUgT3R0b21hbiBwZXJpb2QsIG1hbnkgbW9yZSBhZGRpdGlvbnMgd2VyZSBtYWRlIHRvIHRoZSBidWlsZGluZywgc3VjaCBhcyB0aGUgbWFyYmxlIHB1bHBpdCwgdGhlIGdhbGxlcnkgbGVhZGluZyB0byB0aGUga2hcdTAwZmNua2FyIG1haGZpbCwgdGhlIG11ZXp6aW4gbWFoZmlsLCBhbmQgdGhlIHNlcm1vbiBwdWxwaXQuIE11cmFkIElJSSBwbGFjZXMgdHdvIGN1YmVzIG1hZGUgb2YgXHUyMDFjYmVrdGFzaGkgc3RvbmVcdTIwMWQgZnJvbSB0aGUgSGVsbGVuaXN0aWMgcGVyaW9kLCBleGNhdmF0ZWQgZnJvbSB0aGUgYW5jaWVudCBjaXR5IG9mIFBlcmdhbW9uLCBpbiB0aGUgbWFpbiBoYWxsIG9mIEhhZ2lhIFNvcGhpYS4gTWFobXVkIEkgYWRkZWQgYSBsaWJyYXJ5LCBhIG1hZHJhc2FoLCBhbiBhbG1zaG91c2UgYW5kIGEgZm91bnRhaW4gdG8gdGhlIGJ1aWxkaW5nLiBUaHVzLCBIYWdpYSBTb3BoaWEgdHVybnMgaW50byBhIGNvbXBsZXguPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkR1cmluZyB0aGUgcmVpZ24gb2YgQWJkXHUwMGZjbG1lY2l0LCBIYWdpYSBTb3BoaWEgdW5kZXJnb2VzIG9uZSBvZiB0aGUgbW9zdCBmYW1vdXMgcmVzdG9yYXRpb25zIG9mIHRoZSBPdHRvbWFuIHBlcmlvZC4gQmV0d2VlbiAxODQ3IGFuZCAxODQ5LCB0aGUgSXRhbGlhbi1ib3JuIEZvc3NhdGkgYnJvdGhlcnMgcmVpbmZvcmNlZCB0aGUgZG9tZSwgdmF1bHRzIGFuZCBjb2x1bW5zIG9mIHRoZSBidWlsZGluZyBhbmQgb3ZlcmhhdWxlZCBpdHMgaW50ZXJpb3IgYW5kIGV4dGVyaW9yIGRlY29yYXRpb24uIFRoZXkgY2xlYW5lZCB0aGUgbW9zYWljcyBvbiB0aGUgdXBwZXIgZmxvb3IgYW5kIGNvdmVyZWQgdGhlIGJhZGx5IGRhbWFnZWQgb25lcyB3aXRoIHBsYXN0ZXIuIFRoZXkgYWxzbyBwYWludGVkIHRoZSBtb3NhaWMgbW90aWZzIHVuZGVybmVhdGggb24gdGhpcyBwbGFzdGVyLiBUaGUgZ2lhbnQgcm91bmQgcGFpbnRpbmdzIG9mIGltcG9ydGFudCBuYW1lcyB3cml0dGVuIGluIGNhbGxpZ3JhcGh5IGJ5IEthemFza2VyIE11c3RhZmEgXHUwMTMwenplZCBFZmVuZGkgKDE4MDEtMTg3NykgYXJlIGJlaW5nIHJlbm92YXRlZCBhbmQgaHVuZyBvbiB0aGUgY29sdW1ucy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaGFnaWEtc29waGlhcy1iZWNvbWluZy1hLW11c2V1bS1hbmQtdGhlbi1hLW1vc3F1ZS1hZ2FpblwiPjxzdHJvbmc+SGFnaWEgU29waGlhXHUyMDE5cyBiZWNvbWluZyBhIG11c2V1bSBhbmQgdGhlbiBhIG1vc3F1ZSBhZ2Fpbjwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkhhZ2lhIFNvcGhpYSBiZWNhbWUgYSBtdXNldW0gb24gRmVicnVhcnkgMSwgMTkzNSBhbmQgd2FzIGluc2NyaWJlZCBvbiB0aGUgVU5FU0NPIFdvcmxkIEhlcml0YWdlIExpc3QgaW4gMTk4NSBhcyBwYXJ0IG9mIHRoZSBcdTIwMWNBcmNoYWVvbG9naWNhbCBQYXJrXHUyMDFkLCB3aGljaCBpbmNsdWRlcyBIYWdpYSBTb3BoaWEsIEhpcHBvZHJvbWUsIEhhZ2lhIElyZW5lLCBMaXR0bGUgSGFnaWEgU29waGlhIE1vc3F1ZSBhbmQgVG9wa2FwXHUwMTMxIFBhbGFjZS4gSXQgd2FzIGZpbmFsbHkgcmV2ZXJ0ZWQgYmFjayB0byBcdTIwMWNNb3NxdWVcdTIwMWQgc3RhdHVzIG9uIEp1bHkgMjQsIDIwMjAuIFRoZSBmbG9vciB3YXMgY2FycGV0ZWQgYW5kIHRoZSBtb3NhaWNzIGluIHRoZSBwcmF5ZXIgYXJlYSB3ZXJlIGNvdmVyZWQgd2l0aCBhbiBlbGVjdHJvbmljIHJhaWwgc3lzdGVtIGN1cnRhaW4gdGhhdCBvcGVucyBhbmQgY2xvc2VzIGluIDEgbWludXRlLiBUaGVzZSBjdXJ0YWlucyBhcmUgYWN0aXZhdGVkIGF0IHByYXllciB0aW1lcyBhbmQgd2hlbiB0aGUgcHJheWVyIGlzIG92ZXIsIHRoZSBtb3NhaWNzIGFyZSBvcGVuZWQgYWdhaW4uIEFtb25nIHRoZSBtb3NhaWNzIGFuZCBmcmVzY29lcyB0aGF0IGFyZSBjb3ZlcmVkIGR1cmluZyBwcmF5ZXIgYXJlIHRoZSBBYnNpcyBNb3NhaWMgKFRoZW90b2tvcyBNb3NhaWMpLCB0aGUgR2FicmllbCBtb3NhaWMgbmV4dCB0byBpdCBhbmQgdGhlIFNlcmFwaGltIEFuZ2VscyBmcmVzY29lcyBvbiB0aGUgcGVuZGFudHMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJmYWN0cy1hYm91dC1oYWdpYS1zb3BoaWEtYXJjaGl0ZWN0dXJlLWFuZC1zdHJ1Y3R1cmVcIj48c3Ryb25nPkZhY3RzIEFib3V0IEhhZ2lhIFNvcGhpYSBBcmNoaXRlY3R1cmUgYW5kIFN0cnVjdHVyZTwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MTI0OCxcIndpZHRoXCI6XCI3MDJweFwiLFwiaGVpZ2h0XCI6XCJhdXRvXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIGlzLXJlc2l6ZWRcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjQ4XCIgc3R5bGU9XCJ3aWR0aDo3MDJweDtoZWlnaHQ6YXV0b1wiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImNvbHVtbnMtYW5kLW1hcmJsZXMtb2YtaGFnaWEtc29waGlhLWJyb3VnaHQtZnJvbS1hbmNpZW50LWNpdGllc1wiPjxzdHJvbmc+Q29sdW1ucyBhbmQgbWFyYmxlcyBvZiBIYWdpYSBTb3BoaWEgYnJvdWdodCBmcm9tIGFuY2llbnQgY2l0aWVzPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+Rm9yIHRoZSByZWNvbnN0cnVjdGlvbiBvZiB0aGUgY2h1cmNoLCBJdXN0aW5pYW4gb3JkZXJlZCBtYXRlcmlhbHMgZnJvbSBhbGwgb3ZlciB0aGUgZW1waXJlLCBhbmQgaGUgYWxzbyBoYWQgbWF0ZXJpYWxzIGZyb20gb2xkIGJ1aWxkaW5ncyBjb2xsZWN0ZWQuIEVpZ2h0IGxhcmdlIHJlZCBwb3JwaHlyeSBjb2x1bW5zIHdlcmUgYnJvdWdodCBmcm9tIEhlbGlvcG9saXMgaW4gRWd5cHQsIGNvbHVtbnMgZnJvbSB0aGUgVGVtcGxlIG9mIEFydGVtaXMgaW4gRXBoZXNvcyBpbiB3ZXN0ZXJuIEFuYXRvbGlhLCBjb2x1bW5zIGZyb20gS3l6aWtvcyBhbmQgQmFcdTIwMTlsZWJlayBpbiBTeXJpYS4gSW4gYWRkaXRpb24sIG1hcmJsZXMgb2YgZGlmZmVyZW50IHR5cGVzIGFuZCBjb2xvcnMgZnJvbSBkaWZmZXJlbnQgcmVnaW9ucyB3ZXJlIHRyYW5zcG9ydGVkIGhlcmUuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhhZ2lhLXNvcGhpYS1kb21lXCI+PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz4mbmJzcDs8c3Ryb25nPkRvbWU8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjEyNjAsXCJ3aWR0aFwiOlwiNzM5cHhcIixcImhlaWdodFwiOlwiYXV0b1wifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBpcy1yZXNpemVkXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvaGFnaWEtc29waGlhLWludGVyaW9yLWRvbWUuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xMjYwXCIgc3R5bGU9XCJ3aWR0aDo3MzlweDtoZWlnaHQ6YXV0b1wiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBtb3N0IGltcG9ydGFudCBpbm5vdmF0aW9uIGluIHRoZSBhcmNoaXRlY3R1cmUgb2YgSGFnaWEgU29waGlhIHdhcyB0aGUgc2l6ZSBhbmQgaGVpZ2h0IG9mIHRoZSBkb21lIGRvbWluYXRpbmcgdGhlIGNlbnRyYWwgc3BhY2UsIHdoaWNoIHdhcyB1bnVzdWFsbHkgbGFyZ2UgZm9yIGEgY2h1cmNoLlRoZSBoZWlnaHQgb2YgdGhlIGRvbWUgY292ZXJpbmcgdGhlIG1haW4gc3BhY2UgaXMgNTUuNjAgbWV0ZXJzIGZyb20gdGhlIGdyb3VuZCwgYW5kIGl0cyBkaWFtZXRlciBpcyAzMS44NyBtZXRlcnMgaW4gdGhlIG5vcnRoLXNvdXRoIGRpcmVjdGlvbiBhbmQgMzAuODYgbWV0ZXJzIGluIHRoZSBlYXN0LXdlc3QgZGlyZWN0aW9uLldoZW4gSGFnaWEgU29waGlhIHdhcyBiZWluZyBidWlsdCwgbWFyYmxlLCBzdG9uZSBhbmQgYnJpY2tzIHdlcmUgdXNlZCBieSB0aGUgYXJjaGl0ZWN0cyBpbiB0aGUgY29uc3RydWN0aW9uIG9mIHRoZSBidWlsZGluZywgYW5kIGxpZ2h0IGFuZCBzdHJvbmcgYnJpY2tzIHNwZWNpYWxseSBwcm9kdWNlZCBmcm9tIFJob2RlcyBzb2lsIHdlcmUgdXNlZCBzbyB0aGF0IHRoZSBkb21lIHdvdWxkIG5vdCBjb2xsYXBzZSBlYXNpbHkgaW4gZWFydGhxdWFrZXMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImdhdGUtb2YtdGhlLWVtcGVyb3JzXCI+PHN0cm9uZz5HYXRlIG9mIHRoZSBFbXBlcm9yczwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkNhbGxlZCB0aGUgRW1wZXJvclx1MjAxOXMgR2F0ZSBiZWNhdXNlIGl0IHdhcyB1c2VkIG9ubHkgYnkgdGhlIEVtcGVyb3IgYW5kIGhpcyBlbnRvdXJhZ2UsIGl0IHByb3ZpZGVzIGFjY2VzcyBmcm9tIHRoZSBpbm5lciBuYXJ0aGV4IHRvIHRoZSBtYWluIHNwYWNlIGluIEhhZ2lhIFNvcGhpYS4gSXQgaXMgdGhlIGxhcmdlc3QgZG9vciBvZiBIYWdpYSBTb3BoaWEgYW5kIGlzIG1hZGUgb2Ygb2FrIHdvb2QsIDcgbWV0ZXJzIGhpZ2gsIHdpdGggYSBicm9uemUgZnJhbWUuIERhdGluZyB0byB0aGUgNnRoIGNlbnR1cnksIHRoZSB3aW5ncyBvZiB0aGUgZG9vciBhcmUgY292ZXJlZCB3aXRoIGJyb256ZSBwbGF0ZXMuIEVhc3Rlcm4gUm9tYW4gc291cmNlcyBjbGFpbSB0aGF0IGl0IHdhcyBtYWRlIGZyb20gdGhlIHdvb2Qgb2YgTm9haFx1MjAxOXMgQXJrLiBUaGUgbW9zYWljIG9uIGl0IGlzIHRoZSBmaXJzdCBtb3NhaWMgb2YgSGFnaWEgU29waGlhIHRvIGJlIHVuZWFydGhlZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhhZ2lhLXNvcGhpYS1pbnRlcmlvci1wYXJ0c1wiPjxzdHJvbmc+SGFnaWEgU29waGlhIEludGVyaW9yIFBhcnRzPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiYXBzZS1tb3NhaWMtaW4taGFnaWEtc29waGlhXCI+PHN0cm9uZz5BcHNlIE1vc2FpYzwvc3Ryb25nPiZuYnNwO2luJm5ic3A7PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5JdCBpcyB0aG91Z2h0IHRoYXQgYWxsIGZpZ3VyZWQgbW9zYWljcyBpbiB0aGUgYnVpbGRpbmcgd2VyZSByZW1vdmVkIHdpdGggdGhlIEljb25vY2xhc20gcGVyaW9kLiBJbiA4NDMsIGFmdGVyIHRoZSBlbmQgb2YgdGhpcyBwZXJpb2QsIHRoZSBmaXJzdCBmaWd1cmFsIG1vc2FpYywgdGhlIEFwc2UgTW9zYWljLCB3YXMgY3JlYXRlZCBpbiBIYWdpYSBTb3BoaWEuIEluIHRoZSBtb3NhaWM7IE1hcnkgaXMgZGVwaWN0ZWQgaW4gdGhlIGNlbnRlciwgc2l0dGluZyBvbiBhIGN1c2hpb25lZCB0aHJvbmUgZGVjb3JhdGVkIHdpdGggcHJlY2lvdXMgc3RvbmVzLiBJbiBoZXIgbGFwLCBzaGUgaG9sZHMgdGhlIGNoaWxkIEplc3VzLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ0d28tYW5nZWxzLWluLXRoZS1hcHNlXCI+PHN0cm9uZz5Ud28gQW5nZWxzIGluIHRoZSBBcHNlPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+T24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGFwc2UgaXMgYSBkZXBpY3Rpb24gb2YgR2FicmllbCBhbmQgb24gdGhlIGxlZnQgc2lkZSBpcyBhIGRlcGljdGlvbiBvZiBNaWNoYWVsLiBXaGlsZSB0aGUgZGVwaWN0aW9uIG9mIEdhYnJpZWwgaGFzIHN1cnZpdmVkIGZvciB0aGUgbW9zdCBwYXJ0LCB0aGUgaG9seSB3aW5nIHRpcCBhbmQgcGFydCBvZiB0aGUgZm9vdCBoYXZlIHN1cnZpdmVkIGluIHRoZSBkZXBpY3Rpb24gb2YgTWljaGFlbC4gSXQgaXMgdGhvdWdodCB0aGF0IHRoZSBkZXBpY3Rpb24gb2YgdGhlc2UgdHdvIGFuZ2VscyB3YXMgYWRkZWQgdG8gdGhlIGFwc2UgaW4gdGhlIHNlY29uZCBoYWxmIG9mIHRoZSA5dGggY2VudHVyeS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwidmlraW5nLXdyaXRpbmctaW4taGFnaWEtc29waGlhXCI+PHN0cm9uZz5WaWtpbmcgV3JpdGluZzwvc3Ryb25nPiZuYnNwO2luJm5ic3A7PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5JbiB0aGUgY2VudGVyIG9mIHRoZSBzb3V0aCBnYWxsZXJ5LCBhYm92ZSB0aGUgbWFyYmxlIHJhaWxpbmdzLCB0aGVyZSBpcyBhIFZpa2luZyBpbnNjcmlwdGlvbiB0aGF0IGFwcGVhcnMgdG8gZGF0ZSBmcm9tIHRoZSA5dGggY2VudHVyeS4gVGhpcyBpbnNjcmlwdGlvbiByZWFkcyBcdTIwMWNIYWx2ZGFuIHdhcyBoZXJlXHUyMDFkLiBJdCBpcyB0aG91Z2h0IHRvIGhhdmUgYmVlbiB3cml0dGVuIGJ5IGEgVmlraW5nIHNvbGRpZXIgd2hvIHdvcmtlZCBhcyBhIG1lcmNlbmFyeSBpbiB0aGUgRWFzdGVybiBSb21hbiBhcm15LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJsZW9uLXZpLW1vc2FpY1wiPjxzdHJvbmc+TGVvbiBWSSBNb3NhaWM8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5EYXRpbmcgdG8gdGhlIDEwdGggY2VudHVyeSwgdGhlIG1vc2FpYyBpcyBsb2NhdGVkIG9uIHRoZSBFbXBlcm9yXHUyMDE5cyBHYXRlLiBJbiB0aGUgY2VudGVyIG9mIHRoZSBzY2VuZSwgSmVzdXMgaXMgZGVwaWN0ZWQgaG9sZGluZyBhbiBvcGVuIEJpYmxlIGluIGhpcyBsZWZ0IGhhbmQuIFdpdGggaGlzIHJpZ2h0IGhhbmQsIGhlIGJsZXNzZXMgRW1wZXJvciBMZW9uIFZJICg4MTYtOTEyKSwgd2hvIGlzIGRlcGljdGVkIHByb3N0cmF0ZSBhdCBoaXMgZmVldC4gT24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIG1vc2FpYyBpcyBHYWJyaWVsIGluIGEgbWVkYWxsaW9uLCBhbmQgb24gdGhlIGxlZnQgc2lkZSBpcyBNYXJ5LCBhbHNvIGluIGEgbWVkYWxsaW9uLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJvZmZlcmluZy1tb3NhaWNcIj48c3Ryb25nPk9mZmVyaW5nIE1vc2FpYzwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkl0IGlzIGxvY2F0ZWQgYWJvdmUgdGhlIEJlYXV0aWZ1bCBHYXRlIG9uIHRoZSBzb3V0aCBzaWRlIG9mIHRoZSBpbm5lciBuYXJ0aGV4LiBUaGUgbW9zYWljIGFib3ZlIHRoZSBjZXJlbW9uaWFsIGRvb3IgdXNlZCBieSB0aGUgRW1waXJlIGFuZCBpdHMgZmFtaWx5IHdhcyB1bmVhcnRoZWQgYnkgRm9zc2F0aSBpbiAxODQ5IGR1cmluZyB0aGUgcmVzdG9yYXRpb24gb2YgSGFnaWEgU29waGlhLiBJbiB0aGUgY2VudGVyIG9mIHRoZSBwYW5lbCBjb25zaXN0aW5nIG9mIGdvbGQgbW9zYWljcywgTWFyeSBhbmQgdGhlIGNoaWxkIEplc3VzIGFyZSBkZXBpY3RlZC4gT24gdGhlIGxlZnQgc2lkZSBvZiBNYXJ5IGlzIENvbnN0YW50aW5lIHdpdGggYSBmaWd1cmUgc3ltYm9saXppbmcgQ29uc3RhbnRpbm9wbGUsIGFuZCBvbiB0aGUgcmlnaHQgc2lkZSBpcyBJdXN0aW5pYW51cyB3aXRoIGEgZmlndXJlIHN5bWJvbGl6aW5nIEhhZ2lhIFNvcGhpYS4gSXQgaXMgZXhwbGFpbmVkIGhlcmUgdGhhdCB0aGUgZW1wZXJvcnMgb2ZmZXJlZCB0aGUgY2l0eSBhbmQgdGhlIGNodXJjaCB0byBNYXJ5IHRvIHByb3RlY3QgdGhlIGNpdHkgYW5kIHRoZSBjaHVyY2guPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImFuZ2VsLWRlcGljdGlvbnMtb24tdGhlLWRvbWUtb2YtaGFnaWEtc29waGlhXCI+PHN0cm9uZz5BbmdlbCBEZXBpY3Rpb25zIG9uIHRoZSBEb21lPC9zdHJvbmc+Jm5ic3A7b2YmbmJzcDs8c3Ryb25nPkhhZ2lhIFNvcGhpYTwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkluIGVhY2ggY29ybmVyIG9mIHRoZSBwZW5kZW50aXZlcywgU2VyYXBoaW0gYW5nZWxzLCB3aG8gYXJlIGJlbGlldmVkIHRvIGd1YXJkIHRoZSB0aHJvbmUgb2YgR29kIGluIGhlYXZlbiwgYXJlIGRlcGljdGVkLiBUaGUgYW5nZWwgZGVwaWN0aW9ucyBpbiB0aGUgZWFzdGVybiBwYXJ0IGFyZSBtYWRlIG9mIG1vc2FpYy4gVGhlIG9uZXMgaW4gdGhlIHdlc3Qgd2VyZSByZW5vdmF0ZWQgYXMgZnJlc2NvZXMgYmVjYXVzZSB0aGV5IHdlcmUgZGFtYWdlZCBkdXJpbmcgdGhlIEVhc3Rlcm4gUm9tYW4gUGVyaW9kLiBUaGUgYW5nZWwgZGVwaWN0aW9ucyB3ZXJlIGNvdmVyZWQgZHVyaW5nIHRoZSBPdHRvbWFuIFBlcmlvZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwicGF0cmlhcmNoLW1vc2FpY3MtaW4tdHltcGFub25cIj48c3Ryb25nPlBhdHJpYXJjaCBNb3NhaWNzIGluIFR5bXBhbm9uPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+QWx0aG91Z2ggdGhlaXIgZXhhY3QgZGF0ZSBvZiBjb25zdHJ1Y3Rpb24gaXMgdW5rbm93biwgdGhlc2UgbW9zYWljcywgd2hpY2ggYXJlIHRob3VnaHQgdG8gaGF2ZSBiZWVuIG1hZGUgYmV0d2VlbiB0aGUgOXRoIGFuZCAxMHRoIGNlbnR1cmllcywgYXJlIGxvY2F0ZWQgaW4gaGFsZi1hcmNoZWQgbmljaGVzIGluIHRoZSB0eW1wYW5vbiB3YWxscyBvbiB0aGUgbm9ydGggc2lkZSBvZiB0aGUgYnVpbGRpbmcuIE9ubHkgdGhyZWUgb2YgdGhlIHBhdHJpYXJjaCBmaWd1cmVzIGRlcGljdGVkIGluIHRoZSBtb3NhaWNzIGhhdmUgc3Vydml2ZWQgaW4gZ29vZCBwcmVzZXJ2YXRpb24uIFRoZSBmaXJzdCBuaWNoZSBkZXBpY3RzIElnbmF0aW9zIHRoZSBZb3VuZ2VyLCBQYXRyaWFyY2ggb2YgQ29uc3RhbnRpbm9wbGUsIHRoZSBmb3VydGggbmljaGUgZGVwaWN0cyBTdC4gSW9hbm5lcyBDaHJ5c29zdG9tb3MsIFBhdHJpYXJjaCBvZiBDb25zdGFudGlub3BsZSwgYW5kIHRoZSBzaXh0aCBuaWNoZSBkZXBpY3RzIFN0LiBJZ25hdGlvcyBUaGVvcGhvcm9zLCBQYXRyaWFyY2ggb2YgQW50aW9jaGVpYS4gVGhlIGZpZ3VyZSBkZXBpY3RlZCBpbiB0aGUgc2V2ZW50aCBuaWNoZSBpcyB0aG91Z2h0IHRvIGJlIEF0aGFuYXNpdXMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImVtcGVyb3ItYWxleGFuZGVyLW1vc2FpY1wiPjxzdHJvbmc+RW1wZXJvciBBbGV4YW5kZXIgTW9zYWljPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIG1vc2FpYyBpbiB0aGUgc291dGh3ZXN0ZXJuIHBhcnQgb2YgdGhlIG5vcnRoIGdhbGxlcnkgZGVwaWN0cyBoaXMgYnJvdGhlciBFbXBlcm9yIEFsZXhhbmRlciAoOTEyLTkxMyksIHdob20gTGVvbiBWSSBtYWRlIGEgcGFydG5lciBpbiBoaXMgcmVpZ24uIERhdGVkIHRvIHRoZSAxMHRoIGNlbnR1cnksIGl0IGlzIG9uZSBvZiB0aGUgbW9zdCBpbnRhY3QgbW9zYWljcyBhbW9uZyB0aGUgSGFnaWEgU29waGlhIG1vc2FpY3MuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInpvZS1hbmQta29tbmVub3MtbW9zYWljc1wiPjxzdHJvbmc+Wm9lIGFuZCBLb21uZW5vcyBNb3NhaWNzPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIFpvZSBNb3NhaWMsIG9uZSBvZiB0aGVzZSBtb3NhaWNzIG9uIHRoZSB3YWxsIGF0IHRoZSBlYXN0ZXJuIGVuZCBvZiB0aGUgc291dGggZ2FsbGVyeSBvZiBIYWdpYSBTb3BoaWEsIGRhdGVzIHRvIHRoZSBmaXJzdCBoYWxmIG9mIHRoZSAxMXRoIGNlbnR1cnkuIEluIGl0cyBwcmVzZW50IGZvcm0sIGl0IGRlcGljdHMgQ2hyaXN0IHNlYXRlZCBpbiB0aGUgY2VudGVyIGFuZCBFbXByZXNzIFpvZSBhbmQgaGVyIGh1c2JhbmQgRW1wZXJvciBDb25zdGFudGluZSBJWCAoMTA0Mi0xMDU1KSBwbGFjZWQgb24gZWl0aGVyIHNpZGUgb2YgaGltLiBXaGlsZSB0aGUgcHJlc2VudCB2ZXJzaW9uIG9mIHRoZSBtb3NhaWMgZGVwaWN0cyBDb25zdGFudGluZSBJWCwgdGhlIG1vc2FpYyB3YXMgcHJvYmFibHkgZmlyc3QgcGFpbnRlZCBkdXJpbmcgdGhlIHJlaWduIG9mIFpvZVx1MjAxOXMgZmlyc3QgaHVzYmFuZCBSb21hbm9zIElJSSAoMTAyOC0xMDM0KS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIEtvbW5lbm9zIE1vc2FpYyBkZXBpY3RzIE1hcnkgc3RhbmRpbmcgaW4gdGhlIGNlbnRlciBob2xkaW5nIHRoZSBjaGlsZCBKZXN1cyBpbiBmcm9udCBvZiBoZXIgYW5kIEVtcGVyb3IgSW9hbm5lcyBJSSBLb21uZW5vcyAoMTExOC0xMTQzKSBhbmQgaGlzIHdpZmUgRW1wcmVzcyBFaXJlbmUgb24gZWl0aGVyIHNpZGUuIE9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBtb3NhaWMgaXMgdGhlaXIgc29uIEFsZXhpb3MuVGhlIHN1YmplY3Qgb2YgdGhlc2UgdHdvIG1vc2FpY3MgaXMgZ2VuZXJhbGx5IGFjY2VwdGVkIHRvIGJlIHRoZSBkb25hdGlvbnMgbWFkZSBieSB0aGUgZW1wZXJvcnMgdG8gSGFnaWEgU29waGlhLlRoZSBtb25leSBwb3VjaGVzIGluIHRoZSBoYW5kcyBvZiB0aGUgZW1wZXJvcnMgaW4gdGhlIG1vc2FpY3MgcHJvdmUgdGhpcy4xNS0gVG9tYnN0b25lIG9mIENvbW1hbmRlciBIZW5yaWN1cyBEYW5kb2xvVGhlIHRvbWJzdG9uZSBvcHBvc2l0ZSB0aGUgRGVpc2lzIE1vc2FpYyBiZWxvbmdzIHRvIENvbW1hbmRlciBIZW5yaWN1cyBEYW5kb2x1LCB3aG8gbGVkIHRoZSBJVnRoIENydXNhZGUgYW5kIGRpZWQgaW4gQ29uc3RhbnRpbm9wbGUgaW4gMTIwNS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiZGVpc2lzLWNvbXBvc2l0aW9uLWluLWhhZ2lhLXNvcGhpYVwiPjxzdHJvbmc+RGVpc2lzIENvbXBvc2l0aW9uPC9zdHJvbmc+Jm5ic3A7aW4mbmJzcDs8c3Ryb25nPkhhZ2lhIFNvcGhpYTwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBEZWlzaXMgTW9zYWljIG9uIHRoZSBwZWRpbWVudCBvZiB0aGUgZG9vciBsZWFkaW5nIHRvIHRoZSBnYWxsZXJ5IGluIHRoZSBwcmllc3RcdTIwMTlzIHJvb20gaXMgb25lIG9mIHRoZSBtb3N0IGZhbW91cyBtb3NhaWNzIG9mIEhhZ2lhIFNvcGhpYS5BbHRob3VnaCB0aGVyZSBhcmUgZGlmZmVyZW50IG9waW5pb25zIGFib3V0IGl0cyBkYXRpbmcsIHRoZSBtb3NhaWMsIHdoaWNoIGlzIGFjY2VwdGVkIHRvIGhhdmUgYmVlbiBtYWRlIGluIHRoZSAxM3RoIGNlbnR1cnksIGlzIGNvbnNpZGVyZWQgYW4gaW1wb3J0YW50IGJlZ2lubmluZyBpbiBFYXN0ZXJuIFJvbWFuIFBhaW50aW5nIEFydC5UaGUgbW9zYWljIGRlcGljdHMgSmVzdXMgaW4gdGhlIGNlbnRlciBvZiB0aGUgc2NlbmUgd2l0aCBJb2FubmVzIFByb2Ryb21vcyBvbiB0aGUgcmlnaHQgYW5kIE1hcnkgb24gdGhlIGxlZnQuIE1hcnkgYW5kIElvYW5uZXMgUHJvZHJvbW9zIGFyZSBkZXBpY3RlZCBhcyBwcmF5aW5nIHRvIEplc3VzIGZvciB0aGUgZm9yZ2l2ZW5lc3Mgb2YgaHVtYW5pdHkgb24gdGhlIERheSBvZiBKdWRnbWVudC4gQWxsIHRocmVlIGZpZ3VyZXMgcmVmbGVjdCB0aGUgSGVsbGVuaXN0aWMgUGVyaW9kIGRlcGljdGlvbiBhcnQuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cIm9tcGhhbGlvbi1pbi1oYWdpYS1zb3BoaWFcIj48c3Ryb25nPk9tcGhhbGlvbjwvc3Ryb25nPiZuYnNwO2luJm5ic3A7PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgb21waGFsaW9uLCB0aGUgcm9vbSB3aGVyZSB0aGUgZW1wZXJvcnMgd2VyZSBjZXJlbW9uaWFsbHkgY3Jvd25lZCBpbiBFYXN0ZXJuIFJvbWUsIGlzIGFuIGFyZWEgd2hlcmUgY2lyY2xlcyBvZiBkaWZmZXJlbnQgY29sb3JzIGFuZCBzaXplcyBhcm91bmQgYSBsYXJnZSBtYXJibGUgY2lyY2xlIGFuZCBvcHVzIHNlY3RpbGUgc3R5bGUgZGVjb3JhdGlvbiBhcmUgc2VlbiBpbiB0aGUgcGFydHMgd2hlcmUgdGhleSBtZWV0LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtd2lzaC1jb2x1bW5cIj48c3Ryb25nPkhhZ2lhIFNvcGhpYTwvc3Ryb25nPiZuYnNwOzxzdHJvbmc+V2lzaCBDb2x1bW48L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgbm9ydGh3ZXN0ZXJuIGNvbHVtbiB3aXRoIGEgY2FydmVkIGNlbnRlciBpcyBjYWxsZWQgdGhlIHN3ZWF0aW5nIGNvbHVtbiBvciB0aGUgd2lzaGluZyBjb2x1bW4uIFRoZXJlIGFyZSBzZXZlcmFsIHJ1bW9ycyBhYm91dCB0aGUgY29sdW1uLkFjY29yZGluZyB0byBvbmUgb2YgdGhlbTsgRW1wZXJvciBJdXN0aW5pYW51cywgd2hpbGUgd2Fsa2luZyBhcm91bmQgdGhlIGJ1aWxkaW5nIGluIGEgc2V2ZXJlIGhlYWRhY2hlLCByZWFsaXplZCB0aGF0IGhpcyBoZWFkYWNoZSB3YXMgZ29uZSBhcyBzb29uIGFzIGhlIGxlYW5lZCBhZ2FpbnN0IHRoaXMgY29sdW1uLCBhbmQgd2hlbiB0aGlzIGV2ZW50IHdhcyBoZWFyZCBhbW9uZyB0aGUgcGVvcGxlLCBpdCBiZWdhbiB0byBiZSBiZWxpZXZlZCB0aGF0IHRoaXMgY29sdW1uIHdhcyBoZWFsaW5nLiBBY2NvcmRpbmcgdG8gYW5vdGhlciBydW1vcjsgYWZ0ZXIgdGhlIGJ1aWxkaW5nIHdhcyBjb252ZXJ0ZWQgaW50byBhIG1vc3F1ZSwgdGhlIGZpcnN0IEZyaWRheSBwcmF5ZXIgdG8gYmUgcGVyZm9ybWVkIGhlcmUgY291bGQgbm90IGJlIHN0YXJ0ZWQgYmVjYXVzZSB0aGUgZGlyZWN0aW9uIG9mIHRoZSBidWlsZGluZyB3YXMgbm90IGZhY2luZyB0aGUgS2FhYmEsIGJ1dCBhdCB0aGF0IHRpbWUgXHUyMDFjSFx1MDEzMXpcdTAxMzFyIEFsYXloaXNzZWxhbVx1MjAxZCBjYW1lIGFuZCB0cmllZCB0byB0dXJuIHRoZSBkaXJlY3Rpb24gb2YgdGhlIGJ1aWxkaW5nIHRvIHRoZSBLYWFiYSBieSB0YWtpbmcgcG93ZXIgZnJvbSB0aGlzIGNvbHVtbi4gSG93ZXZlciwgaXQgaXMgc2FpZCB0aGF0IHRoaXMgaW5jaWRlbnQgd2FzIG5vdGljZWQgYnkgYSBtZW1iZXIgb2YgdGhlIHB1YmxpYyBhbmQgaGUgZGlzYXBwZWFyZWQgYmVmb3JlIGhlIGNvdWxkIHR1cm4gdGhlIG1vc3F1ZS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIGhhYml0IHRoYXQgaGFzIHN1cnZpdmVkIGZyb20gdGhlIHJ1bW9ycyB0byB0aGUgcHJlc2VudCBkYXkgaXMgdGhhdCBwZW9wbGUgbWFrZSBhIHdpc2ggYnkgcm90YXRpbmcgdGhlaXIgdGh1bWJzIGNsb2Nrd2lzZSBvbmUgZnVsbCB0dXJuIGluIHRoaXMgZ3Jvb3ZlIGluIHRoZSBwaWxsYXIuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhhZ2lhLXNvcGhpYS1taW5hcmV0c1wiPjxzdHJvbmc+SGFnaWEgU29waGlhPC9zdHJvbmc+Jm5ic3A7PHN0cm9uZz5NaW5hcmV0czwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkFmdGVyIHRoZSBIYWdpYSBTb3BoaWEgY2h1cmNoIHdhcyBjb252ZXJ0ZWQgaW50byBhIG1vc3F1ZSBhZnRlciB0aGUgY29ucXVlc3Qgb2YgSXN0YW5idWwsIGEgd29vZGVuIG1pbmFyZXQgd2FzIGJ1aWx0IGJ5IEZhdGloIG9uIG9uZSBvZiB0aGUgaGFsZiBkb21lcywgYnV0IHRoaXMgbWluYXJldCBoYXMgbm90IHN1cnZpdmVkIHRvIHRoZSBwcmVzZW50IGRheS5UaGUgbWluYXJldCBpbiB0aGUgc291dGhlYXN0IGJlbG9uZ3MgdG8gdGhlIHJlaWduIG9mIFN1bHRhbiBNZWhtZXQgdGhlIENvbnF1ZXJvciBvciBCYXllemlkIElJLiBUaGUgbWluYXJldCBvbiB0aGUgQmFiLVx1MDEzMSBIXHUwMGZjbWF5dW4gc2lkZSBpcyB0aG91Z2h0IHRvIGhhdmUgYmVlbiBidWlsdCBieSBNaW1hciBTaW5hbiBJSSBkdXJpbmcgdGhlIHJlaWduIG9mIFNlbGltIElJIGR1ZSB0byBpdHMgc2ltaWxhcml0eSB3aXRoIHRoZSBtaW5hcmV0cyBvZiB0aGUgU2VsaW1peWUgTW9zcXVlIGluIEVkaXJuZS5UaGUgdHdpbiBtaW5hcmV0cyBvbiB0aGUgc291dGh3ZXN0IGFuZCBub3J0aHdlc3Qgc2lkZXMgd2VyZSBidWlsdCBieSBNaW1hciBTaW5hbiBkdXJpbmcgdGhlIHJlaWduIG9mIFN1bHRhbiBNdXJhZCBJSUkuRHVyaW5nIHRoZSByZXBhaXJzIGluIHRoZSAxNXRoLCAxNnRoIGFuZCAxOXRoIGNlbnR1cmllcywgb3JuYW1lbnRzIHdlcmUgYWRkZWQgdG8gdGhlIG1pbmFyZXRzIGFjY29yZGluZyB0byB0aGUgc3R5bGUgb2YgdGhlIHBlcmlvZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaGFnaWEtc29waGlhLWJ1dHRyZXNzZXNcIj48c3Ryb25nPkhhZ2lhIFNvcGhpYTwvc3Ryb25nPiZuYnNwOzxzdHJvbmc+QnV0dHJlc3Nlczwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkR1ZSB0byB0aGUgd2VpZ2h0IG9mIHRoZSBkb21lLCB0aGUgd2FsbHMgb2YgdGhlIEhhZ2lhIFNvcGhpYSB3ZXJlIHN1YmplY3RlZCB0byBjZXJ0YWluIHN0cmVuZ3RoZW5pbmcgaW50ZXJ2ZW50aW9ucyBkdXJpbmcgdGhlIEVhc3Rlcm4gUm9tYW4gRW1waXJlIGFuZCB0aGUgT3R0b21hbiBQZXJpb2QgZHVlIHRvIHRoZSBvdXR3YXJkIGV4cGFuc2lvbiwgYnV0IHRoZXNlIHdlcmUgbm90IHN1ZmZpY2llbnQuIEZvciB0aGlzIHJlYXNvbiwgYm90aCB0aGUgRWFzdGVybiBSb21hbnMgYW5kIHRoZSBPdHRvbWFucyB0cmllZCB0byBwcmV2ZW50IHRoZSBwcmVzc3VyZSBvZiB0aGUgZG9tZSBieSBidWlsZGluZyBidXR0cmVzc2VzIGZyb20gdGhlIG91dHNpZGUgb2YgdGhlIGJ1aWxkaW5nLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5TaW5hbiB0aGUgQXJjaGl0ZWN0IGZvdW5kIGEgc29sdXRpb24gdG8gdGhpcyBwcm9ibGVtIGJ5IHN1cHBvcnRpbmcgdGhlIHN0cnVjdHVyZSB3aXRoIGFyY2ggYWRkaXRpb25zIGFuZCBoZWF2eSBzdXBwb3J0aW5nIHdhbGxzIGluIHRoZSBnYXBzIGJldHdlZW4gdGhlIHBpZXJzIGFuZCBzaWRlIHdhbGxzIGNhcnJ5aW5nIHRoZSBkb21lLlRoZSBzdXBwb3J0aW5nIHdhbGxzIGJ1aWx0IGR1cmluZyB0aGUgRWFzdGVybiBSb21hbiBwZXJpb2Qgd2VyZSByZWJ1aWx0IGFuZCBlbmNsb3NlZCBpbiBzdG9uZSBlbmNsb3N1cmVzLlNvbWUgb2YgdGhlIDI0IGJ1dHRyZXNzZXMsIDcgaW4gdGhlIEVhc3QsIDQgaW4gdGhlIFNvdXRoLCA0IGluIHRoZSBOb3J0aCwgNSBpbiB0aGUgV2VzdCBhbmQgNCBpbiB0aGUgd2VpZ2h0IHRvd2Vycywgd2VyZSBidWlsdCBpbiB0aGUgRWFzdGVybiBSb21hbiBwZXJpb2QgYW5kIHNvbWUgaW4gdGhlIE90dG9tYW4gcGVyaW9kLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtbWFyYmxlLWN1YmVzXCI+PHN0cm9uZz5IYWdpYSBTb3BoaWE8L3N0cm9uZz4mbmJzcDs8c3Ryb25nPk1hcmJsZSBDdWJlczwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlR3byBjdWJlcyBtYWRlIG9mIG1vbm9saXRoaWMgbWFyYmxlIGZyb20gdGhlIEhlbGxlbmlzdGljIFBlcmlvZCwgZm91bmQgaW4gdGhlIGFuY2llbnQgY2l0eSBvZiBQZXJnYW1vbiwgd2VyZSBicm91Z2h0IHRvIEhhZ2lhIFNvcGhpYSBkdXJpbmcgdGhlIHJlaWduIG9mIFN1bHRhbiBNdXJhZCBJSUkuIFRoZXJlIGFyZSBmYXVjZXRzIGF0IHRoZSBib3R0b20gb2YgdGhlIGN1YmVzLkNhcGFibGUgb2YgaG9sZGluZyAxMjUwIGxpdGVycyBvZiBsaXF1aWQsIHRoZXNlIGN1YmVzIHdlcmUgdXNlZCB0byBkaXN0cmlidXRlIHNoZXJiZXQgZHVyaW5nIHRoZSBsYW1wcyBhbmQgRWlkIHByYXllcnMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhhZ2lhLXNvcGhpYS1taW5iYXJcIj48c3Ryb25nPkhhZ2lhIFNvcGhpYTwvc3Ryb25nPiZuYnNwOzxzdHJvbmc+TWluYmFyPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIHB1bHBpdCwgYnVpbHQgZHVyaW5nIHRoZSByZWlnbiBvZiBTdWx0YW4gTXVyYWQgSUlJLCBpcyBsb2NhdGVkIHRvIHRoZSByaWdodCBvZiB0aGUgbWlocmFiLiBEYXRpbmcgYmFjayB0byB0aGUgMTZ0aCBjZW50dXJ5LCB0aGUgbWluYmFyIGlzIG9uZSBvZiB0aGUgbW9zdCBiZWF1dGlmdWwgZXhhbXBsZXMgb2YgbWFyYmxlIHdvcmttYW5zaGlwIG9mIHRoaXMgcGVyaW9kLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJodW5rYXItbWFoZmlsaS1zdWx0YW5zLWdhdGhlcmluZy1wbGFjZVwiPjxzdHJvbmc+SFx1MDBmY25rXHUwMGUyciBNYWhmaWxpPC9zdHJvbmc+Jm5ic3A7KFN1bHRhbnMgR2F0aGVyaW5nIFBsYWNlKTwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPldoZW4gU3VsdGFuIEFobWVkIElJSSBoYWQgSGFnaWEgU29waGlhIGNvbXBsZXRlbHkgb3ZlcmhhdWxlZCwgaGUgaGFkIHRoZSBIXHUwMGZjbmthciBNYWhmaWxpLCB3aGljaCBoZSBvcmRlcmVkIHdpdGggaGlzIG93biB0YXN0ZSwgYnVpbHQgaW4gMTcyOC5EdXJpbmcgdGhlIG1haW50ZW5hbmNlIGFuZCByZXBhaXIgd29yayBjYXJyaWVkIG91dCBieSBTdWx0YW4gQWJkXHUwMGZjbG1lY2lkIElJLCB0aGlzIG1haGZpbCB3YXMgcmVwbGFjZWQgd2l0aCBhIG5ldyBvbmUgaW4gMTg0Ny5UaGUgSFx1MDBmY25rXHUwMGUyciBNYWhmaWxpIGNvbnNpc3RzIG9mIGEgaGV4YWdvbmFsIHNlY3Rpb24gb24gZml2ZSBjb2x1bW5zIGFuZCBhIGNvcnJpZG9yIGFsc28gb24gY29sdW1ucy4gVGhlIGxvd2VyIHBhcnQgY29uc2lzdHMgb2YgYSBtYXJibGUgb3BlbndvcmsgYmFsdXN0cmFkZSBzbGFiLiBUaGVyZSBpcyBhIGdpbGRlZCB3b29kZW4gY2FnZSBhYm92ZSBpdC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaGFnaWEtc29waGlhLW1paHJhYlwiPjxzdHJvbmc+SGFnaWEgU29waGlhPC9zdHJvbmc+Jm5ic3A7PHN0cm9uZz5NaWhyYWI8L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgbWlocmFiLCBsb2NhdGVkIGluIHRoZSBzb3V0aC1lYXN0IG9mIHRoZSBtYWluIHNwYWNlLCB3YXMgcmVwYWlyZWQgYW5kIGFkZGVkIHRvIGJ5IHRoZSBPdHRvbWFuIHN1bHRhbnMgZnJvbSB0aW1lIHRvIHRpbWUuUmVub3ZhdGVkIGluIHRoZSAxOXRoIGNlbnR1cnksIHRoZSBtaWhyYWIgaGFzIGEgcG9seWdvbmFsIG5pY2hlIHdpdGggYSBzdW5idXJzdCBhbmQgc3RhciBtb3RpZnMgYW5kIGEgaGFsZi1kb21lZCBhcmNoLk1hbnkgZ29sZCBzdGFycyBhcmUgdXNlZCBvbiB0aGUgbWlocmFiIGFuZCBpdCBoYXMgYSBmbGFtYm95YW50IGNyb3duLiBPbiBib3RoIHNpZGVzIG9mIHRoZSBtaWhyYWIgYXJlIGNhbmRsZXN0aWNrcyBicm91Z2h0IGZyb20gdGhlIHBhbGFjZSBjaHVyY2ggb2YgSHVuZ2FyaWFuIEtpbmcgTWF0eWFzIEkgZHVyaW5nIHRoZSBjb25xdWVzdCBvZiBCdWRpbiBkdXJpbmcgdGhlIEh1bmdhcmlhbiBjYW1wYWlnbiBvZiBTdWxlaW1hbiB0aGUgTWFnbmlmaWNlbnQgKDE1MjAtMTU2NikuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInRpbGVzLWFyb3VuZC10aGUtbWlocmFiXCI+PHN0cm9uZz5UaWxlcyBBcm91bmQgdGhlIE1paHJhYjwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZXJlIGFyZSB0aWxlIHBhbmVscyBpbiB0aGUgY2xvaXN0ZXJzIHRvIHRoZSByaWdodCBhbmQgbGVmdCBvZiB0aGUgbWlocmFiLiBPbiB0aGUgbGVmdCBzaWRlLCB0aGVyZSBpcyBhIDE2dGggY2VudHVyeSBJem5payB0aWxlIHBhbmVsIHdpdGggcGxhbnQgbW90aWZzIGJlbG9uZ2luZyB0byB0aGUgT2xkIEhcdTAwZmNua2FyIE1haGZpbGkuT24gdGhlIHJpZ2h0IHNpZGUsIHRoZXJlIGlzIGEgZGVwaWN0aW9uIG9mIHRoZSBLYWFiYSBjb25zaXN0aW5nIG9mIGVpZ2h0IHBpZWNlcyBhbmQgYSBkZXBpY3Rpb24gc2hvd2luZyB0aGUgdG9tYiBvZiB0aGUgUHJvcGhldCBNdWhhbW1hZC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyB7XCJsZXZlbFwiOjN9IC0tPlxuPGgzIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiY2FsbGlncmFwaHktcGxhdGVzLWluLXRoZS1taWhyYWItc2VjdGlvblwiPjxzdHJvbmc+Q2FsbGlncmFwaHkgUGxhdGVzIGluIHRoZSBNaWhyYWIgU2VjdGlvbjwvc3Ryb25nPjwvaDM+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPk9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBtaWhyYWIgYXJlIGNhbGxpZ3JhcGh5IHBsYXRlcyBvZiBPdHRvbWFuIHN1bHRhbnMuRnJvbSB0b3AgdG8gYm90dG9tOyAxc3QgY2FsbGlncmFwaHkgcGxhdGUsIFN1bHRhbiBNYWhtdWQgSUkgKDE4MDgtMTgzOSksIDJuZCBjYWxsaWdyYXBoeSBwbGF0ZSwgU3VsdGFuIE1haG11ZCBJSSAoMTgwOC0xODM5KSwgM3JkIGNhbGxpZ3JhcGh5IHBsYXRlLCBTdWx0YW4gQWhtZWQgSUlJICgxNzAzLTE3MzApLCA0dGggY2FsbGlncmFwaHkgcGxhdGUsIFN1bHRhbiBNdXN0YWZhIElJICgxNjk1LTE3MDMpLCA1dGggY2FsbGlncmFwaHkgcGxhdGUsIFN1bHRhbiBNdXN0YWZhIElJICgxNjk1LTE3MDMpLiBPbiB0aGUgbGVmdCBzaWRlLCB0aGVyZSBhcmUgd29ya3MgYnkgTWVobWVkIFllc2FyaSBhbmQgU2hlaWtodWxpc2xhbSBWZWxpeVx1MDBmY2RkaW4gRWZlbmRpLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoYWdpYS1zb3BoaWEtZm91bnRhaW5cIj48c3Ryb25nPkhhZ2lhIFNvcGhpYTwvc3Ryb25nPiZuYnNwOzxzdHJvbmc+Rm91bnRhaW48L3N0cm9uZz48L2gzPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5JdCB3YXMgYnVpbHQgYnkgU3VsdGFuIE1haG11dCBJIGR1cmluZyB0aGUgcmVwYWlyIGFuZCBjb25zdHJ1Y3Rpb24gb2YgYWRkaXRpb25hbCBidWlsZGluZ3MgYXQgSGFnaWEgU29waGlhICgxNzQwLTE3NDEpLiBJdCB3YXMgYnVpbHQgb24gYSBsYXJnZSBzY2FsZSBpbiB0aGUgYXJlYSBiZXR3ZWVuIHRoZSBnYXRlIGFuZCB0aGUgU1x1MDEzMWJ5YW4gU2Nob29sLCB3aGljaCB3YXMgYnVpbHQgaW4gdGhlIGFyZWEgd2hlcmUgdGhlIHdlc3QgZW50cmFuY2Ugb2YgdGhlIGJ1aWxkaW5nIHdhcyBub3QgdXNlZCBmb3IgYSBsb25nIHRpbWUuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBmb3VudGFpbiBoYXMgYSBwb3J0aWNvIHdpdGggZWlnaHQgcG9pbnRlZCBhcmNoZXMgd2l0aCB3aWRlIG9wZW5pbmdzIGJhc2VkIG9uIGVpZ2h0IGNvbHVtbnMgd2l0aCBtdXFhcm5hcy5JbiB0aGUgY2VudGVyIG9mIHRoZSBzdHJ1Y3R1cmUgaXMgYSBtYXJibGUgd2F0ZXIgcG9vbCB3aXRoIDE2IHNlY3Rpb25zLkluIHRoZSBjZW50ZXIgb2YgdGhlIHBvb2wgaXMgYSBtYXJibGUgZm91bnRhaW4gYmVsbHkuQSBzbWFsbCBkb21lIHJpc2VzIGluIHRoZSBjZW50ZXIgb2YgdGhlIHdvb2RlbiBjYW5vcHkuIFRoZSBpbnNpZGUgb2YgdGhlIGRvbWUgaXMgZGl2aWRlZCBpbnRvIHNlY3Rpb25zIHdpdGggZ2lsZGVkIHNsYXRzIG9uIGEgYmx1ZSBiYWNrZ3JvdW5kLiBUaGUgZ2VuZXJhbCBhcmNoaXRlY3R1cmUgb2YgdGhlIGJ1aWxkaW5nIGFkaGVyZXMgdG8gdGhlIHRyYWRpdGlvbnMgb2YgY2xhc3NpY2FsIFR1cmtpc2ggc3R5bGUuIEluIHRoZSBvcm5hbWVudGF0aW9uLCB0aGVyZSBhcmUgbW90aWZzIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgVHVya2lzaCBhcnQgc3R5bGUgYXMgd2VsbCBhcyBtb3RpZnMgbWFkZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIEJhcm9xdWUgc3R5bGUuMjgtIFN1bHRhbiBNYWhtdWQgSSBMaWJyYXJ5PC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBTdWx0YW4gTWFobXVkIEkgTGlicmFyeSwgYWxzbyBrbm93biBhcyB0aGUgSGFnaWEgU29waGlhIExpYnJhcnksIHdhcyBmb3VuZGVkIGJ5IFN1bHRhbiBNYWhtdWQgSSBhbmQgaW5hdWd1cmF0ZWQgb24gQXByaWwgMjEsIDE3NDAuQWNjb3JkaW5nIHRvIGhpc3RvcmlhbiBTdWJoaSBNZWhtZXQsIHdoZW4gdGhlIGxpYnJhcnkgd2FzIGZvdW5kZWQsIGl0IGhhZCBhIGNvbGxlY3Rpb24gb2YgNDAwMCB3b3Jrcy5QYXJ0IG9mIHRoaXMgY29sbGVjdGlvbiBjb25zaXN0ZWQgb2YgYm9va3MgZnJvbSB0aGUgVHJlYXN1cnktaSBBbWlyZSwgd2hpbGUgdGhlIG90aGVyIHBhcnQgY29uc2lzdGVkIG9mIGJvb2tzIGdpZnRlZCB0byBNYWhtdWQgSSBieSB0aGUgR3JhbmQgVml6aWVyLCB0aGUgU2hlaWtodWxpc2xhbSwgdGhlIERhclx1MDBmY3NzYWFkZSBBZ2hhIGFuZCBvdGhlciBzdGF0ZXNtZW4uIFRoZSBjYXRhbG9nIG9mIHRoZSBib29rcyBoZXJlIGluY2x1ZGVzIGFuIGludHJvZHVjdGlvbiB0byBNYWhtdWQgSVx1MjAxOXMgZm91bmRpbmcgb2YgdGhlIGxpYnJhcnkgYW5kIHRoZSBzZWFscyBvZiBhcHByb3ZhbCBvZiB0aGUgaW5zcGVjdG9yIG9mIEhhcmVtZXluIGFuZCB0aGUgQW5hdG9saWFuIGFuZCBSdW1lbGkga2F6YXNrZXIuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcge1wibGV2ZWxcIjozfSAtLT5cbjxoMyBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cIm1vc2FpYy10dWdocmEtb2Ytc3VsdGFuLWFiZHVsbWVjaWQtaW4taGFnaWEtc29waGlhXCI+PHN0cm9uZz5Nb3NhaWMgVHVnaHJhIG9mIFN1bHRhbiBBYmRcdTAwZmNsbWVjaWQ8L3N0cm9uZz4mbmJzcDtpbiZuYnNwOzxzdHJvbmc+SGFnaWEgU29waGlhPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIHR1Z2hyYSBjYXJ2ZWQgaW4gbW9zYWljIG9uIGEgcm91bmQgcGxhdGUgb24gdGhlIHdhbGwgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGxhcmdlIGRvb3IgYmVsb25ncyB0byBTdWx0YW4gQWJkXHUwMGZjbG1lY2lkICgxODM5LTE4NjEpLiBUaGUgMTl0aCBjZW50dXJ5IE90dG9tYW4gc3VsdGFuXHUyMDE5cyB0dWdocmEgbWFkZSBvZiBtb3NhaWNzIGlzIGltcG9ydGFudCBhcyBpdCBpcyB0aGUgb25seSBzdWx0YW5cdTIwMTlzIHR1Z2hyYSBtYWRlIHdpdGggbW9zYWljIGdyYWlucyBpbiBUdXJraXNoIEFydC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+Rm9yIHRoZSBtb25vZ3JhbSBvZiBTdWx0YW4gQWJkXHUwMGZjbG1lY2lkLCB3aG8gd2FudGVkIHRoaXMgaW1wb3J0YW50IGJ1aWxkaW5nIHRvIGJlIHNlcmlvdXNseSByZXBhaXJlZCBhbmQgb3ZlcmhhdWxlZCwgdGhlIGFyY2hpdGVjdCBGb3NzYXRpLCB3aG8gd2FzIGNvbW1pc3Npb25lZCBmb3IgdGhlIHJlcGFpciBvZiBIYWdpYSBTb3BoaWEsIHNhdyBpdCBhcHByb3ByaWF0ZSB0byB1c2UgdGhlIG1vc2FpYyBncmFpbnMgdGhhdCB3ZXJlIHNwaWxsZWQgZHVyaW5nIHRoZSByZXBhaXIgb2YgSGFnaWEgU29waGlhIGFuZCB0aGVuIGNvbGxlY3RlZCBmb3IgdGhlIHN1bHRhblx1MjAxOXMgbW9ub2dyYW0uVGh1cywgaGUgY29tbWlzc2lvbmVkIHRoZSBJdGFsaWFuIG1vc2FpYyBhcnRpc3QgTGFuem9uaS4gTGFuem9uaSBlbmdyYXZlZCBBYmRcdTAwZmNsbWVjaWRcdTIwMTlzIG1vbm9ncmFtIG9uIGEgcm91bmQgcGxhcXVlIHdpdGggY29sb3JlZCBtb3NhaWMgZ3JhaW5zIG9uIGEgYmFja2dyb3VuZCBjb3ZlcmVkIHdpdGggZ29sZCBncmFpbnMuIEF0IHRoZSB0aW1lIG9mIGl0cyBjcmVhdGlvbiwgdGhpcyB3b3JrIGNvdWxkIG5vdCBiZSBwbGFjZWQgYW55d2hlcmUgYW5kIHdhcyBmb3Jnb3R0ZW4uTWFueSB5ZWFycyBsYXRlciwgdGhpcyB3b3JrIHdhcyBmb3VuZCBpbiB0aGUgd2FyZWhvdXNlIG9mIHRoZSBUb3BrYXBcdTAxMzEgUGFsYWNlIE11c2V1bS5MYXRlciwgdGhlIHR1Z2hyYSB3YXMgcGxhY2VkIG9uIHRoZSBzaWRlIHdhbGwgb2YgdGhlIG1haW4gZW50cmFuY2Uga25vd24gYXMgdGhlIEVtcGVyb3JcdTIwMTlzIEdhdGUsIHdoaWNoIG9wZW5zIHRvIHRoZSBtYWluIHNwYWNlIGluIEhhZ2lhIFNvcGhpYS4zMC0gRWlnaHQgTGFyZ2UgQ2FsbGlncmFwaHkgUGxhdGVzVGhlc2UgcGxhdGVzIHdlcmUgd3JpdHRlbiBpbiBnb2xkIGdpbGRpbmcgb24gYSBncmVlbiBiYWNrZ3JvdW5kIG1hZGUgb2YgaGVtcCBieSB0aGUgY2FsbGlncmFwaGVyIEthemFza2VyIE11c3RhZmEgXHUwMTMwenpldCBFZmVuZGkgZHVyaW5nIHRoZSByZXBhaXJzIG1hZGUgYmV0d2VlbiAxODQ3IGFuZCAxODQ5IGR1cmluZyB0aGUgcmVpZ24gb2YgU3VsdGFuIEFiZFx1MDBmY2xtZWNpZCAoMTgzOS0xODYxKS5UaGUgZWlnaHQgcGxhdGVzIHdpdGggdGhlIG5hbWVzIFx1MjAxY0FsbGFoLCBQcm9waGV0IE11aGFtbWFkLCBGb3VyIENhbGlwaHM7IFByb3BoZXQgQWJ1IEJha3IsIFByb3BoZXQgVW1hciwgUHJvcGhldCBPc21hbiwgUHJvcGhldCBBbGkgYW5kIFByb3BoZXQgTXVoYW1tYWRcdTIwMTlzIGdyYW5kc29ucyBQcm9waGV0IEhhc2FuIGFuZCBQcm9waGV0IEh1c3NlaW5cdTIwMWQgYXJlIGtub3duIHRvIGJlIGFtb25nIHRoZSBsYXJnZXN0IGNhbGxpZ3JhcGh5IHBsYXRlcyBpbiB0aGUgSXNsYW1pYyBXb3JsZC4gSXQgaXMga25vd24gdGhhdCB0aGUgcGxhdGVzIGluIEhhZ2lhIFNvcGhpYSwgd2hpY2ggdW5kZXJ3ZW50IGEgY2hhbmdlIGFmdGVyIHRoZSBjb25xdWVzdCwgY2hhbmdlZCB0aGVpciBjb3Vyc2UgaW4gbGluZSB3aXRoIHRoZSB3aXNoZXMgb2YgdGhlIHN1bHRhbnMgd2hvIGNhbWUgdG8gcnVsZS4gVGhlIGRpYW1ldGVyIG9mIHRoZSBnaWFudCBwbGF0ZXMgaXMgNy41IG1ldGVycyBhbmQgdGhlIGxldHRlciB0aGlja25lc3MgaXMgMzUgY20uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPiIsInBvc3RfdGl0bGUiOiJIYWdpYSBTb3BoaWEgaW4gSXN0YW5idWwiLCJwb3N0X2xpbmsiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvaGFnaWEtc29waGlhLWluLWlzdGFuYnVsLzM2OS8iLCJwb3N0X2ZlYXR1cmVkX2ltYWdlIjoiPGRpdiBjbGFzcz1cImZjLWZlYXR1cmUtaW1nXCI+PGltZyBsb2FkaW5nPVwibGF6eVwiIGRlY29kaW5nPVwiYXN5bmNcIiBhbHQ9XCJIYWdpYSBTb3BoaWEgaW4gSXN0YW5idWxcIiB3aWR0aD1cIjMwMFwiIGhlaWdodD1cIjE3NlwiIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMi9oYWdpYS1zb3BoaWEtMi0xLTMwMHgxNzYucG5nXCIgY2xhc3M9XCJ3cC1wb3N0LWltYWdlICAgd3BnbXBfZmVhdHVyZWRfaW1hZ2VcIiA+PC9kaXY+IiwicG9zdF9jYXRlZ29yaWVzIjoiVGhpbmdzIHRvIGRvIGluIElTVEFOQlVMLCBUaGluZ3MgdG8gZG8gaW4gVFVSS0VZIiwicG9zdF90YWdzIjoiY2h1cmNoIC8gbW9uYXN0ZXJ5LCBDdWx0dXJlIFRvdXJpc20sIGhpc3RvcmljYWwgc2l0ZSwgbW9zcXVlIC8gbWFzamlkIiwiJV9lZGl0X2xvY2slIjoiMTcwNzQyNjYxMzoxIiwiJXBvc3Rfdmlld3NfY291bnQlIjoiMjYxIiwiJV9lZGl0X2xhc3QlIjoiMSIsIiVfeW9hc3Rfd3BzZW9fcHJpbWFyeV9jYXRlZ29yeSUiOiIxIiwiJV95b2FzdF93cHNlb19jb250ZW50X3Njb3JlJSI6IjYwIiwiJV95b2FzdF93cHNlb19pbmNsdXNpdmVfbGFuZ3VhZ2Vfc2NvcmUlIjoiOTAiLCIlX3lvYXN0X3dwc2VvX2VzdGltYXRlZC1yZWFkaW5nLXRpbWUtbWludXRlcyUiOiI2IiwiJV95b2FzdF93cHNlb193b3JkcHJvb2ZfdGltZXN0YW1wJSI6IiIsIiVBdHRyYWN0aW9uIFR5cGUlIjoiSGlzdG9yaWNhbCBTaXRlLCBNdXNldW0sIE1vc3F1ZSwgQ2h1cmNoIC8gTW9uYXN0ZXJ5IiwiJV9BdHRyYWN0aW9uIFR5cGUlIjoiZmllbGRfNjViOTA0OGQ3MDJjMyIsIiViZXN0X3RpbWVfdG9fdmlzaXQlIjoiIiwiJV9iZXN0X3RpbWVfdG9fdmlzaXQlIjoiZmllbGRfNjViOTA2NzdhMTBkYSIsIiVhdmFyZWdlX3JlcXVpcmVkX3RpbWVfJSI6IjEuNSIsIiVfYXZhcmVnZV9yZXF1aXJlZF90aW1lXyUiOiJmaWVsZF82NWI5MDZmYmMwODFiIiwiJW9wZW5zX2F0JSI6IjA5OjAwOjAwIiwiJV9vcGVuc19hdCUiOiJmaWVsZF82NWI5MDgxM2MwODFjIiwiJWNsb3NlZF9hdCUiOiIxNzowMDowMCIsIiVfY2xvc2VkX2F0JSI6ImZpZWxkXzY1YjkwODc4NDliNWQiLCIlZW50cmFuY2VfZmVlJSI6IjI3IiwiJV9lbnRyYW5jZV9mZWUlIjoiZmllbGRfNjViOTA4YjI2MzllZiIsIiV0dXJraXllX3NpcmFsYW1hJSI6IjExIiwiJV90dXJraXllX3NpcmFsYW1hJSI6ImZpZWxkXzY1YjdkMzhmZWRlMTIiLCIlcmFua2luZ19pbl9pc3RhbmJ1bF9hdHRyYWN0aW9ucyUiOiIxMSIsIiVfcmFua2luZ19pbl9pc3RhbmJ1bF9hdHRyYWN0aW9ucyUiOiJmaWVsZF82NWI3ZDUxOWVkZTEzIiwiJWRyZXNzX2NvZGUlIjoiQ2xlYW4gc29ja3MgLyBQcm9wZXIgZHJlc3MgZm9yIExhZGllcyBwcm92aWRlZCBhdCB0aGUgZW50cmFuY2UgKEJvZHkgYW5kIEhlYWQgbXVzdCBiZSBjb3ZlcmVkKSAvIE1lbjogYXQgbGVhc3QgdC1zaGlydCBhbmQgUGFudHMgdW5kZXIga25lZSBsZXZlbCIsIiVfZHJlc3NfY29kZSUiOiJmaWVsZF82NWI5MGE3YzQ0NDI3IiwiJXRkX3Bvc3RfdGhlbWVfc2V0dGluZ3MlIjoiSGFnaWEgU29waGlhIHdhcyBhIGdyYW5kZXN0IHBsYWNlIG9mIHdvcnNoaXAgZm9yIG92ZXIgOTAwIHllYXJzLCBhbmQgYXJndWFibHkgdGhlIG1vc3QgcGVyZmVjdCBhbmQgYmVhdXRpZnVsIGNodXJjaCB0aGF0IGhhcyBiZWVuIGVyZWN0ZWQgYnkgYW55IENocmlzdGlhbiBwZW9wbGUuICIsIiVfb2VtYmVkXzM1ZDU5ODNlNTNiN2Q5NGJiNGIzZWJkMDVlN2M3NGIzJSI6Int7dW5rbm93bn19IiwiJW90aGVyX3RpcHMlIjoiQ3Jvd2RlZCBhdCBwcmF5ZXIgdGltZXMiLCIlX290aGVyX3RpcHMlIjoiZmllbGRfNjViOTEwMzNiYzljZCIsIiVjaXR5JSI6IklzdGFuYnVsIiwiJV9jaXR5JSI6ImZpZWxkXzY1YzExZjU5MzJhYzciLCIlUXVhbGl0eSBTY29yZSUiOiIxMDAwMCIsIiVfUXVhbGl0eSBTY29yZSUiOiJmaWVsZF82NWI3ZDUxOWVkZTEzIiwiJXJhbmtfbWF0aF9pbnRlcm5hbF9saW5rc19wcm9jZXNzZWQlIjoiMSIsIiVfb2VtYmVkX2IwYmQxYWZlOWIxMTE0MzU3NzdiNWU1OTZkOGU3NWYxJSI6Int7dW5rbm93bn19IiwiJV9vZW1iZWRfMTcxNWMwN2QyNTg1N2M1NDIwM2Y0OGQ5ODNkYWQwZDYlIjoiPGlmcmFtZSB0aXRsZT1cIkhhZ2lhIFNvcGhpYSA0Sy1SZWxheGF0aW9uIEZpbG0gV2l0aCBEcm9uZSAyMDIzIFtBZXJpYWwgVmlld11cIiB3aWR0aD1cIjY5NlwiIGhlaWdodD1cIjM5MlwiIHNyYz1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0pxcldITUtvZHRrP2ZlYXR1cmU9b2VtYmVkXCIgZnJhbWVib3JkZXI9XCIwXCIgYWxsb3c9XCJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmVcIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+IiwiJV9vZW1iZWRfdGltZV8xNzE1YzA3ZDI1ODU3YzU0MjAzZjQ4ZDk4M2RhZDBkNiUiOiIxNzA3MjQyOTM0IiwiJXJhbmtfbWF0aF9zY2hlbWFfQmxvZ1Bvc3RpbmclIjp7ImhlYWRsaW5lIjoiJXNlb190aXRsZSUiLCJkZXNjcmlwdGlvbiI6IiVzZW9fZGVzY3JpcHRpb24lIiwiZGF0ZVB1Ymxpc2hlZCI6IiVkYXRlKFktbS1kVEg6aTpzUCklIiwiZGF0ZU1vZGlmaWVkIjoiJW1vZGlmaWVkKFktbS1kVEg6aTpzUCklIiwiaW1hZ2UiOnsiQHR5cGUiOiJJbWFnZU9iamVjdCIsInVybCI6IiVwb3N0X3RodW1ibmFpbCUifSwiYXV0aG9yIjp7IkB0eXBlIjoiUGVyc29uIiwibmFtZSI6IiVuYW1lJSJ9LCJAdHlwZSI6IkJsb2dQb3N0aW5nIiwibWV0YWRhdGEiOnsidGl0bGUiOiJBcnRpY2xlIiwidHlwZSI6InRlbXBsYXRlIiwiaXNQcmltYXJ5Ijp0cnVlfX0sIiVyYW5rX21hdGhfc2NoZW1hX1ZpZGVvT2JqZWN0JSI6eyJAdHlwZSI6IlZpZGVvT2JqZWN0IiwibWV0YWRhdGEiOnsidGl0bGUiOiJWaWRlbyIsInR5cGUiOiJ0ZW1wbGF0ZSIsInNob3J0Y29kZSI6InMtNjVjMTFlYzJhNmZmNCIsImlzUHJpbWFyeSI6dHJ1ZSwicmV2aWV3TG9jYXRpb25TaG9ydGNvZGUiOiJbcmFua19tYXRoX3JpY2hfc25pcHBldF0iLCJjYXRlZ29yeSI6IiVjYXRlZ29yaWVzJSIsInRhZ3MiOiIldGFncyUiLCJpc0F1dG9HZW5lcmF0ZWQiOnRydWV9LCJuYW1lIjoiSGFnaWEgU29waGlhIDRLLVJlbGF4YXRpb24gRmlsbSBXaXRoIERyb25lIDIwMjMgW0FlcmlhbCBWaWV3XSIsImRlc2NyaXB0aW9uIjoiI0hhZ2lhU29waGlhICNIYWdpYVNvcGhpYUNvbnN0YW50aW5vcGxlICNDb25zdGFudGlub3BsZSAjSXN0YW5idWwgIzRrICNtb251bWVudHMgI2NocmlzdGlhbmNodXJjaGVzICNjaHJpc3RpYW5jaHVyY2hTdWJzY3JpYmU6IGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2MvS29ucy4uLiIsInVwbG9hZERhdGUiOiIyMDIyLTA4LTE1VDEyOjAwOjA4LTA3OjAwIiwidGh1bWJuYWlsVXJsIjoiJXBvc3RfdGh1bWJuYWlsJSIsImVtYmVkVXJsIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvSnFyV0hNS29kdGsiLCJjb250ZW50VXJsIjoiIiwiZHVyYXRpb24iOiJQVDlNMTNTIiwid2lkdGgiOiIxMjgwIiwiaGVpZ2h0IjoiNzIwIiwiaXNGYW1pbHlGcmllbmRseSI6dHJ1ZX0sIiVyYW5rX21hdGhfc2VvX3Njb3JlJSI6Ijg4IiwiJXJhbmtfbWF0aF9wcmltYXJ5X2NhdGVnb3J5JSI6IjU2IiwiJUF2YXJlZ2UgVmlzaXRpbmcgVGltZSUiOiIyIiwiJV9BdmFyZWdlIFZpc2l0aW5nIFRpbWUlIjoiZmllbGRfNjViOTA2ZmJjMDgxYiIsIiVPcGVuIGRheXMlIjoiRXZlcnlkYXkiLCIlX09wZW4gZGF5cyUiOiJmaWVsZF82NWI5MDgxM2MwODFjIiwiJU9wZW5zIGF0JSI6IjA5OjAwOjAwIiwiJV9PcGVucyBhdCUiOiJmaWVsZF82NWI5MDg3ODQ5YjVkIiwiJUNsb3NlZCBhdCUiOiIxODowMDowMCIsIiVfQ2xvc2VkIGF0JSI6ImZpZWxkXzY1YmVhNTY5NzViYWMiLCIlTG9jYXRpb24lIjoiU3VsdGFuIEFobWV0LCBIYWdpYSBTb3BoaWEsIEF5YXNvZnlhIE1leWRhblx1MDEzMSwgRmF0aWgvXHUwMTMwc3RhbmJ1bCwgVFx1MDBmY3JraXllLCA0MS4wMDg1ODMsIDI4Ljk4MDE3NSwgMTQsIENoSUpKeHdCa3I2NXloUVJyazlFTjI5dmJpTSwgSGFnaWEgU29waGlhLCBObzoxLCBBeWFzb2Z5YSBNZXlkYW5cdTAxMzEsIFx1MDEzMHN0YW5idWwsIDM0MTIyLCBUXHUwMGZjcmtpeWUsIFRSIiwiJV9Mb2NhdGlvbiUiOiJmaWVsZF82NWI5MTEwN2EwNGRlIiwiJVF1YWxpdHlfU2NvcmUlIjoiMTAwMDAiLCIlX1F1YWxpdHlfU2NvcmUlIjoiZmllbGRfNjViN2Q1MTllZGUxMyIsIiVjbXBsel9oaWRlX2Nvb2tpZWJhbm5lciUiOiIiLCIlcmFuayUiOiIwMDAxIiwiJV9yYW5rJSI6ImZpZWxkXzY1YjdkNTE5ZWRlMTMiLCIlcmFua19tYXRoX2ZvY3VzX2tleXdvcmQlIjoiaGFnaWEgc29waGlhIiwiJXJhbmtfbWF0aF9waWxsYXJfY29udGVudCUiOiJvbiIsIiVfdGh1bWJuYWlsX2lkJSI6IjExODkiLCIlcmFua19tYXRoX2FuYWx5dGljX29iamVjdF9pZCUiOiI3MSIsIiVfb2VtYmVkXzEyOWM0MGU1YThjZjZlMjE4YWE5YWYxZDlmNmNkYWJhJSI6IjxpZnJhbWUgdGl0bGU9XCJIYWdpYSBTb3BoaWEgNEstUmVsYXhhdGlvbiBGaWxtIFdpdGggRHJvbmUgMjAyMyBbQWVyaWFsIFZpZXddXCIgd2lkdGg9XCI1MDBcIiBoZWlnaHQ9XCIyODFcIiBzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9KcXJXSE1Lb2R0az9mZWF0dXJlPW9lbWJlZFwiIGZyYW1lYm9yZGVyPVwiMFwiIGFsbG93PVwiYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPiIsIiVfb2VtYmVkX3RpbWVfMTI5YzQwZTVhOGNmNmUyMThhYTlhZjFkOWY2Y2RhYmElIjoiMTcwNzE2NTI4MiIsIiVidXJzdF90b3RhbF9wYWdldmlld3NfY291bnQlIjoiMiIsIiVfd3BnbXBfbG9jYXRpb25fYWRkcmVzcyUiOiJTdWx0YW4gQWhtZXQsIEF5YXNvZnlhIE1leWRhblx1MDEzMSBObzoxLCAzNDEyMiBGYXRpaC9cdTAxMzBzdGFuYnVsLCBUXHUwMGZjcmtpeWUiLCIlX3dwZ21wX2xvY2F0aW9uX2NpdHklIjoiIiwiJV93cGdtcF9sb2NhdGlvbl9zdGF0ZSUiOiJcdTAxMzBzdGFuYnVsIiwiJV93cGdtcF9sb2NhdGlvbl9jb3VudHJ5JSI6IlRcdTAwZmNya2l5ZSIsIiVfd3BnbXBfbWV0YWJveF9sYXRpdHVkZSUiOiI0MS4wMDg1ODMiLCIlX3dwZ21wX21ldGFib3hfbG9uZ2l0dWRlJSI6IjI4Ljk4MDE3NSIsIiVfd3BnbXBfbWV0YWJveF9sb2NhdGlvbl9yZWRpcmVjdCUiOiJwb3N0IiwiJV93cGdtcF9tZXRhYm94X2N1c3RvbV9saW5rJSI6IiIsIiVfd3BnbXBfbWFwX2lkJSI6ImE6MTp7aTowO3M6MTpcIjFcIjt9IiwiJV93cGdtcF9tZXRhYm94X21hcmtlcl9pZCUiOiJhOjU6e2k6MDtzOjE6XCIxXCI7aToxO3M6MTpcIjJcIjtpOjI7czoxOlwiM1wiO2k6MztzOjE6XCI0XCI7aTo0O3M6MTpcIjVcIjt9IiwiJV93cGdtcF9tZXRhYm94X3RheG9tb21pZXNfdGVybXMlIjoiIiwiJV93cGdtcF9leHRlbnNpb25zX2ZpZWxkcyUiOiIiLCIlbXVzZXVtX3Bhc3NfJSI6IlllcyBJbmNsdWRlZCIsIiVfbXVzZXVtX3Bhc3NfJSI6ImZpZWxkXzY1YzUzNjM0NDY0ODUiLCIlX29lbWJlZF8zNWUwMmI1ZmQ5YTcwNWU5ZmEzOTBjYjU5N2Q4YmY3YSUiOiI8aWZyYW1lIHRpdGxlPVwiXHUwMzkxXHUwM2IzXHUwM2FmXHUwM2IxIFx1MDNhM1x1MDNiZlx1MDNjNlx1MDNhZlx1MDNiMSwgXHUwMzlhXHUwM2M5XHUwM2JkXHUwM2MzXHUwM2M0XHUwM2IxXHUwM2JkXHUwM2M0XHUwM2I5XHUwM2JkXHUwM2JmXHUwM2NkXHUwM2MwXHUwM2JmXHUwM2JiXHUwM2I3ICwgXHUwM2MwXHUwM2IxXHUwM2JkXHUwM2FkXHUwM2JjXHUwM2JmXHUwM2MxXHUwM2M2XHUwM2JmIFx1MDNiMlx1MDNhZlx1MDNiZFx1MDNjNFx1MDNiNVx1MDNiZiBcdTAzYmNcdTAzYjUgXHUwM2M0XHUwM2JmIFx1MDNiY1x1MDNiZlx1MDNiZFx1MDNiMVx1MDNiNFx1MDNiOVx1MDNiYVx1MDNjYyBcdTAzYjFcdTAzYzVcdTAzYzRcdTAzY2MgXHUwM2JjXHUwM2JkXHUwM2I3XHUwM2JjXHUwM2I1XHUwM2FmXHUwM2JmIVwiIHdpZHRoPVwiNTAwXCIgaGVpZ2h0PVwiMjgxXCIgc3JjPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvSnFyV0hNS29kdGs/ZmVhdHVyZT1vZW1iZWRcIiBmcmFtZWJvcmRlcj1cIjBcIiBhbGxvdz1cImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmU7IHdlYi1zaGFyZVwiIHJlZmVycmVycG9saWN5PVwic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpblwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4iLCIlX29lbWJlZF90aW1lXzM1ZTAyYjVmZDlhNzA1ZTlmYTM5MGNiNTk3ZDhiZjdhJSI6IjE3MTIwOTgwNzciLCJ0YXhvbm9teT1jYXRlZ29yeSI6IlRoaW5ncyB0byBkbyBpbiBJU1RBTkJVTCwgVGhpbmdzIHRvIGRvIGluIFRVUktFWSIsInRheG9ub215PXBvc3RfdGFnIjoiY2h1cmNoIC8gbW9uYXN0ZXJ5LCBDdWx0dXJlIFRvdXJpc20sIGhpc3RvcmljYWwgc2l0ZSwgbW9zcXVlIC8gbWFzamlkIiwidGF4b25vbXk9cG9zdF9mb3JtYXQiOiIifSwiaWNvbiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvYmVhdXRpZnVsLnBuZyJ9LCJpZCI6MzY5LCJpbmZvd2luZG93X2Rpc2FibGUiOmZhbHNlLCJjYXRlZ29yaWVzIjpbeyJpY29uIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1nb29nbGUtbWFwLWdvbGQvYXNzZXRzL2ltYWdlcy9pY29ucy9jaXR5c3F1YXJlLnBuZyIsIm5hbWUiOiJJc3RhbmJ1bCIsImlkIjoiMSIsInR5cGUiOiJjYXRlZ29yeSIsImV4dGVuc2lvbl9maWVsZHMiOnsiY2F0X29yZGVyIjoiIn19LHsiaWNvbiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvYW5jaWVudG1vbnVtZW50LnBuZyIsIm5hbWUiOiJIaXN0b3JpY2FsIFBsYWNlcyIsImlkIjoiMiIsInR5cGUiOiJjYXRlZ29yeSJ9LHsiaWNvbiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvbW9zcXVlLnBuZyIsIm5hbWUiOiJNb3NxdWUiLCJpZCI6IjMiLCJ0eXBlIjoiY2F0ZWdvcnkifSx7Imljb24iOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL2NodXJjaDIucG5nIiwibmFtZSI6IkNodXJjaCIsImlkIjoiNCIsInR5cGUiOiJjYXRlZ29yeSJ9LHsiaWNvbiI6Imh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3BsdWdpbnMvd3AtZ29vZ2xlLW1hcC1nb2xkL2Fzc2V0cy9pbWFnZXMvaWNvbnMvYmVhdXRpZnVsLnBuZyIsIm5hbWUiOiJzaWdodHNlZWluZyIsImlkIjoiNSIsInR5cGUiOiJjYXRlZ29yeSJ9XX0seyJzb3VyY2UiOiJwb3N0IiwidGl0bGUiOiJTdWxleW1hbml5ZSBNb3NxdWUgSXN0YW5idWwiLCJpbmZvd2luZG93X2NvbnRlbnQiOiI8ZGl2IGNsYXNzPVwiZmMtbWFpblwiPjxkaXYgY2xhc3M9XCJmYy1pdGVtLXRpdGxlXCI+U3VsZXltYW5peWUgTW9zcXVlIElzdGFuYnVsIDxzcGFuIGNsYXNzPVwiZmMtYmFkZ2UgaW5mb1wiPlRoaW5ncyB0byBkbyBpbiBJU1RBTkJVTCwgVGhpbmdzIHRvIGRvIGluIFRVUktFWTwvc3Bhbj48L2Rpdj4gPGRpdiBjbGFzcz1cImZjLWl0ZW0tZmVhdHVyZWRfaW1hZ2VcIj48ZGl2IGNsYXNzPVwiZmMtZmVhdHVyZS1pbWdcIj48aW1nIGxvYWRpbmc9XCJsYXp5XCIgZGVjb2Rpbmc9XCJhc3luY1wiIGFsdD1cIlN1bGV5bWFuaXllIE1vc3F1ZSBJc3RhbmJ1bFwiIHdpZHRoPVwiMjQwXCIgaGVpZ2h0PVwiMzAwXCIgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3N1bGV5bWFuaXllLW1vc3F1ZS1uaWdodHZpZXctMjQweDMwMC5qcGdcIiBjbGFzcz1cIndwLXBvc3QtaW1hZ2UgICB3cGdtcF9mZWF0dXJlZF9pbWFnZVwiID48L2Rpdj4gPC9kaXY+VGhlIFN1bGV5bWFuaXllIE1vc3F1ZSB3YXMgYnVpbHQgYnkgdGhlIHdvcmxkLWZhbW91cyBPdHRvbWFuIGFyY2hpdGVjdCBNaW1hciBTaW5hbiBiZXR3ZWVuIDE1NTEgYW5kIDE1NTgsIGJ5IG9yZGVyIG9mIHRoZSBPdHRvbWFuIFN1bHRhbiBTdWxlaW1hbiB0aGUgTWFnbmlmaWNlbnQuIEl0IGlzIHdpZGVseSByZWdhcmRlZCBhcyBhbiBhcmNoaXRlY3R1cmFsIG1hc3RlcnBpZWNlIGFuZCBpcyBhIG11c3Qtc2VlIGZvciBhbnlvbmUgdmlzaXRpbmcgSXN0YW5idWwuIEFsdGhvdWdoIHNvbWUgYmVsaWV2ZSB0aGF0IHRoaXMgbW9zcXVlIHdhcyBjb25zdHJ1Y3RlZCBkdXJpbmcgU2luYW4mIzgyMTc7cyBhcHByZW50aWNlIHBlcmlvZCBhbmQgdGhhdCBbJmhlbGxpcDtdPGFkZHJlc3M+PGI+QWRkcmVzcyA6IDwvYj57bWFya2VyX2FkZHJlc3N9PC9hZGRyZXNzPjxhIHRhcmdldD1cIl9ibGFua1wiICBjbGFzcz1cImZjLWJ0biBmYy1idG4tc21hbGwgZmMtYnRuLXJlZFwiIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvc3VsZXltYW5peWUtbW9zcXVlLWlzdGFuYnVsLzMyMy9cIj5SZWFkIE1vcmUuLi48L2E+PC9kaXY+IiwiY29udGVudCI6IlRoZSBTdWxleW1hbml5ZSBNb3NxdWUgd2FzIGJ1aWx0IGJ5IHRoZSB3b3JsZC1mYW1vdXMgT3R0b21hbiBhcmNoaXRlY3QgTWltYXIgU2luYW4gYmV0d2VlbiAxNTUxIGFuZCAxNTU4LCBieSBvcmRlciBvZiB0aGUgT3R0b21hbiBTdWx0YW4gU3VsZWltYW4gdGhlIE1hZ25pZmljZW50LiBJdCBpcyB3aWRlbHkgcmVnYXJkZWQgYXMgYW4gYXJjaGl0ZWN0dXJhbCBtYXN0ZXJwaWVjZSBhbmQgaXMgYSBtdXN0LXNlZSBmb3IgYW55b25lIHZpc2l0aW5nIElzdGFuYnVsLiBBbHRob3VnaCBzb21lIGJlbGlldmUgdGhhdCB0aGlzIG1vc3F1ZSB3YXMgY29uc3RydWN0ZWQgZHVyaW5nIFNpbmFuJiM4MjE3O3MgYXBwcmVudGljZSBwZXJpb2QgYW5kIHRoYXQgWyZoZWxsaXA7XSIsImFkZHJlc3MiOiJTXHUwMGZjbGV5bWFuaXllLCBQcm9mLiBTXHUwMTMxZGRcdTAxMzFrIFNhbWkgT25hciBDZC4gTm86MSwgMzQxMTYgRmF0aWgvXHUwMTMwc3RhbmJ1bCwgVFx1MDBmY3JraXllIiwibG9jYXRpb24iOnsibGF0IjoiNDEuMDE2MDQ3Iiwic3RhdGUiOiJcdTAxMzBzdGFuYnVsIiwiY291bnRyeSI6IlRcdTAwZmNya2l5ZSIsImxuZyI6IjI4Ljk2Mzk3MTEiLCJvbmNsaWNrX2FjdGlvbiI6InBvc3QiLCJyZWRpcmVjdF9wZXJtYWxpbmsiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvc3VsZXltYW5peWUtbW9zcXVlLWlzdGFuYnVsLzMyMy8iLCJ6b29tIjo1LCJleHRyYV9maWVsZHMiOnsicG9zdF9leGNlcnB0IjoiVGhlIFN1bGV5bWFuaXllIE1vc3F1ZSB3YXMgYnVpbHQgYnkgdGhlIHdvcmxkLWZhbW91cyBPdHRvbWFuIGFyY2hpdGVjdCBNaW1hciBTaW5hbiBiZXR3ZWVuIDE1NTEgYW5kIDE1NTgsIGJ5IG9yZGVyIG9mIHRoZSBPdHRvbWFuIFN1bHRhbiBTdWxlaW1hbiB0aGUgTWFnbmlmaWNlbnQuIEl0IGlzIHdpZGVseSByZWdhcmRlZCBhcyBhbiBhcmNoaXRlY3R1cmFsIG1hc3RlcnBpZWNlIGFuZCBpcyBhIG11c3Qtc2VlIGZvciBhbnlvbmUgdmlzaXRpbmcgSXN0YW5idWwuIEFsdGhvdWdoIHNvbWUgYmVsaWV2ZSB0aGF0IHRoaXMgbW9zcXVlIHdhcyBjb25zdHJ1Y3RlZCBkdXJpbmcgU2luYW4mIzgyMTc7cyBhcHByZW50aWNlIHBlcmlvZCBhbmQgdGhhdCBbJmhlbGxpcDtdIiwicG9zdF9jb250ZW50IjoiPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgU3VsZXltYW5peWUgTW9zcXVlIHdhcyBidWlsdCBieSB0aGUgd29ybGQtZmFtb3VzIE90dG9tYW4gYXJjaGl0ZWN0IE1pbWFyIFNpbmFuIGJldHdlZW4gMTU1MSBhbmQgMTU1OCwgYnkgb3JkZXIgb2YgdGhlIE90dG9tYW4gU3VsdGFuIFN1bGVpbWFuIHRoZSBNYWduaWZpY2VudC4gSXQgaXMgd2lkZWx5IHJlZ2FyZGVkIGFzIGFuIGFyY2hpdGVjdHVyYWwgbWFzdGVycGllY2UgYW5kIGlzIGEgbXVzdC1zZWUgZm9yIGFueW9uZSB2aXNpdGluZyBJc3RhbmJ1bC4gQWx0aG91Z2ggc29tZSBiZWxpZXZlIHRoYXQgdGhpcyBtb3NxdWUgd2FzIGNvbnN0cnVjdGVkIGR1cmluZyBTaW5hbidzIGFwcHJlbnRpY2UgcGVyaW9kIGFuZCB0aGF0IGhpcyByZWFsIG1hc3RlcnBpZWNlIGlzIHRoZSBTZWxpbWl5ZSBNb3NxdWUgaW4gRWRpcm5lLCBUdXJrZXkncyBib3JkZXIgY2l0eSBvbiBFdXJvcGVhbiB0ZXJyaXRvcnkuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MzMyLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3N1bGV5bWFuaXllLW1vc3F1ZS1uaWdodHZpZXctODE5eDEwMjQuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMzJcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDpyYW5rLW1hdGgvdG9jLWJsb2NrIHtcImhlYWRpbmdzXCI6W3tcImtleVwiOlwiOWUzN2MxOTYtZTkzMy00NGVkLWE0ZTAtYTYzNDIyOTk0OGQ0XCIsXCJjb250ZW50XCI6XCJUaXBzIGZvciBTdWxleW1hbml5ZSBNb3NxdWUgVmlzaXRvcnM6XCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjdGlwcy1mb3Itc3VsZXltYW5peWUtbW9zcXVlLXZpc2l0b3JzXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiZjM5N2UxMGQtY2I3Ny00OGIxLTkyYzctM2Y4Yjg0Y2RmZGIzXCIsXCJjb250ZW50XCI6XCJTVU1NQVJZXCIsXCJsZXZlbFwiOjMsXCJsaW5rXCI6XCIjc3VtbWFyeVwiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcIjkzZTUzNjhhLTI4MGEtNDUyMS1hZTM5LWE1OWQyMTQxZGVhY1wiLFwiY29udGVudFwiOlwiU3VsZXltYW5peWUgTW9zcXVlIE1hcCwgRGlyZWN0aW9ucywgTmVpZ2hib3VyaG9vZHNcIixcImxldmVsXCI6MixcImxpbmtcIjpcIiNzdWxleW1hbml5ZS1tb3NxdWUtbWFwLWRpcmVjdGlvbnMtbmVpZ2hib3VyaG9vZHNcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCJkY2NjM2E0ZS00YzE1LTQ3NGItOTI5My1kOWU4YTZkYzZmNjhcIixcImNvbnRlbnRcIjpcIlRoZSBpbnRlcmVzdGluZyBsZWdlbmQgb2YgU3VsZXltYW5peWUgTW9zcXVlXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjdGhlLWludGVyZXN0aW5nLWxlZ2VuZC1vZi1zdWxleW1hbml5ZS1tb3NxdWVcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCJiNzZjOTQ5MC1iZWY3LTQ3NzEtOWQ5Ni01NWIzYTllNTlmMTNcIixcImNvbnRlbnRcIjpcIlN1bGV5bWFuaXllIE1vc3F1ZSBEcm9uZSBWaWRlb1wiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI3N1bGV5bWFuaXllLW1vc3F1ZS1kcm9uZS12aWRlb1wiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcIjQxZWZjMTI2LTM1MmEtNDRkMS1iM2I2LTE3NTNjOGNiMDIzM1wiLFwiY29udGVudFwiOlwiU3VsZXltYW5peWUgTW9zcXVlIFBob3Rvc1wiLFwibGV2ZWxcIjoyLFwibGlua1wiOlwiI3N1bGV5bWFuaXllLW1vc3F1ZS1waG90b3NcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX0se1wia2V5XCI6XCI5Njk3MTVmNS1iOTUzLTQ3MjMtYjIyZC0yZTZkZDRjMjEzNTlcIixcImNvbnRlbnRcIjpcIkhlYXJ0YnJlYWtpbmcgU3Rvcnkgb2YgYnJva2VuIHJvc2VidWQgYnJhbmNoIGVuZ3JhdmVkIG9uIHRoZSB0b21ic3RvbmVcIixcImxldmVsXCI6MixcImxpbmtcIjpcIiNoZWFydGJyZWFraW5nLXN0b3J5LW9mLWJyb2tlbi1yb3NlYnVkLWJyYW5jaC1lbmdyYXZlZC1vbi10aGUtdG9tYnN0b25lXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiN2ZhMDJlM2MtZjI1YS00ZTdiLTg5MzEtMTY4NjUyNDIyMDlmXCIsXCJjb250ZW50XCI6XCJXaHkgaXMgU3VsZXltYW5peWUgTW9zcXVlIGltcG9ydGFudD9cIixcImxldmVsXCI6MixcImxpbmtcIjpcIiN3aHktaXMtc3VsZXltYW5peWUtbW9zcXVlLWltcG9ydGFudFwiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcIjVjNTA2MDgyLTAwMTUtNGY0YS04NDkxLWEwNzM1ZDQxNWE3ZFwiLFwiY29udGVudFwiOlwiVGhlIEFyY2hpdGVjdHVyZSBhbmQgQ29zdCBvZiBTdWxleW1hbml5ZSBNb3NxdWVcIixcImxldmVsXCI6MixcImxpbmtcIjpcIiN0aGUtYXJjaGl0ZWN0dXJlLWFuZC1jb3N0LW9mLXN1bGV5bWFuaXllLW1vc3F1ZVwiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcIjhlM2NhOGIyLTdiNzQtNGRlMS05OGZhLWZkMWE5MGFkODg2Y1wiLFwiY29udGVudFwiOlwiU3VsZXltYW5peWUgTW9zcXVlIEludGVyaW9yXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjc3VsZXltYW5peWUtbW9zcXVlLWludGVyaW9yXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiYWY0YjFlNjAtYmE5MC00Zjg0LTkyYzctNGE2NjE1YWVkN2Y0XCIsXCJjb250ZW50XCI6XCJTdWxleW1hbml5ZSBNb3NxdWUgSW50ZXJpb3JcIixcImxldmVsXCI6MixcImxpbmtcIjpcIiNzdWxleW1hbml5ZS1tb3NxdWUtaW50ZXJpb3ItMVwiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcImJhNWIzMWE2LTA1OGUtNDNjOS04YzA4LWM5NjE1ZjVlYjU2YlwiLFwiY29udGVudFwiOlwiXFx1MDAyMlRoZSB0b21icyBhbmQgbWFkcmFzYXMgbG9jYXRlZCBpbnNpZGUgdGhlIFNcdTAwZmNsZXltYW5peWUgTW9zcXVlLlxcdTAwMjJcIixcImxldmVsXCI6MixcImxpbmtcIjpcIiN0aGUtdG9tYnMtYW5kLW1hZHJhc2FzLWxvY2F0ZWQtaW5zaWRlLXRoZS1zdWxleW1hbml5ZS1tb3NxdWVcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX1dLFwibGlzdFN0eWxlXCI6XCJ1bFwifSAtLT5cbjxkaXYgY2xhc3M9XCJ3cC1ibG9jay1yYW5rLW1hdGgtdG9jLWJsb2NrXCIgaWQ9XCJyYW5rLW1hdGgtdG9jXCI+PG5hdj48dWw+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiN0aXBzLWZvci1zdWxleW1hbml5ZS1tb3NxdWUtdmlzaXRvcnNcIj5UaXBzIGZvciBTdWxleW1hbml5ZSBNb3NxdWUgVmlzaXRvcnM6PC9hPjx1bD48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3N1bW1hcnlcIj5TVU1NQVJZPC9hPjwvbGk+PC91bD48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjc3VsZXltYW5peWUtbW9zcXVlLW1hcC1kaXJlY3Rpb25zLW5laWdoYm91cmhvb2RzXCI+U3VsZXltYW5peWUgTW9zcXVlIE1hcCwgRGlyZWN0aW9ucywgTmVpZ2hib3VyaG9vZHM8L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3RoZS1pbnRlcmVzdGluZy1sZWdlbmQtb2Ytc3VsZXltYW5peWUtbW9zcXVlXCI+VGhlIGludGVyZXN0aW5nIGxlZ2VuZCBvZiBTdWxleW1hbml5ZSBNb3NxdWU8L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI3N1bGV5bWFuaXllLW1vc3F1ZS1kcm9uZS12aWRlb1wiPlN1bGV5bWFuaXllIE1vc3F1ZSBEcm9uZSBWaWRlbzwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjc3VsZXltYW5peWUtbW9zcXVlLXBob3Rvc1wiPlN1bGV5bWFuaXllIE1vc3F1ZSBQaG90b3M8L2E+PC9saT48bGkgY2xhc3M9XCJcIj48YSBocmVmPVwiI2hlYXJ0YnJlYWtpbmctc3Rvcnktb2YtYnJva2VuLXJvc2VidWQtYnJhbmNoLWVuZ3JhdmVkLW9uLXRoZS10b21ic3RvbmVcIj5IZWFydGJyZWFraW5nIFN0b3J5IG9mIGJyb2tlbiByb3NlYnVkIGJyYW5jaCBlbmdyYXZlZCBvbiB0aGUgdG9tYnN0b25lPC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiN3aHktaXMtc3VsZXltYW5peWUtbW9zcXVlLWltcG9ydGFudFwiPldoeSBpcyBTdWxleW1hbml5ZSBNb3NxdWUgaW1wb3J0YW50PzwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjdGhlLWFyY2hpdGVjdHVyZS1hbmQtY29zdC1vZi1zdWxleW1hbml5ZS1tb3NxdWVcIj5UaGUgQXJjaGl0ZWN0dXJlIGFuZCBDb3N0IG9mIFN1bGV5bWFuaXllIE1vc3F1ZTwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjc3VsZXltYW5peWUtbW9zcXVlLWludGVyaW9yXCI+U3VsZXltYW5peWUgTW9zcXVlIEludGVyaW9yPC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiNzdWxleW1hbml5ZS1tb3NxdWUtaW50ZXJpb3ItMVwiPlN1bGV5bWFuaXllIE1vc3F1ZSBJbnRlcmlvcjwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjdGhlLXRvbWJzLWFuZC1tYWRyYXNhcy1sb2NhdGVkLWluc2lkZS10aGUtc3VsZXltYW5peWUtbW9zcXVlXCI+XCJUaGUgdG9tYnMgYW5kIG1hZHJhc2FzIGxvY2F0ZWQgaW5zaWRlIHRoZSBTXHUwMGZjbGV5bWFuaXllIE1vc3F1ZS5cIjwvYT48L2xpPjwvdWw+PC9uYXY+PC9kaXY+XG48IS0tIC93cDpyYW5rLW1hdGgvdG9jLWJsb2NrIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ0aXBzLWZvci1zdWxleW1hbml5ZS1tb3NxdWUtdmlzaXRvcnNcIj48c3Ryb25nPlRpcHMgZm9yIFN1bGV5bWFuaXllIE1vc3F1ZSBWaXNpdG9yczo8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIHtcImxldmVsXCI6M30gLS0+XG48aDMgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJzdW1tYXJ5XCI+PHN0cm9uZz5TVU1NQVJZPC9zdHJvbmc+PC9oMz5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6bGlzdCAtLT5cbjx1bD48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPkF0dHJhY3Rpb24gVHlwZSA6PC9zdHJvbmc+SGlzdG9yaWNhbCBTaXRlLCBNb3NxdWU8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPkVudHJhbmNlIEZlZTwvc3Ryb25nPiZuYnNwOyhBcHByLlVTRCkgOkZSRUU8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPlZpc2l0aW5nIFRpbWU8L3N0cm9uZz4mbmJzcDsoaG91cnMpOiAxLTI8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPkRyZXNzIENvZGU8L3N0cm9uZz46IENsZWFuIHNvY2tzIC8gUHJvcGVyIGRyZXNzIGZvciBMYWRpZXMgcHJvdmlkZWQgYXQgdGhlIGVudHJhbmNlIChCb2R5IGFuZCBIZWFkIG11c3QgYmUgY292ZXJlZCkgLyBNZW46IGF0IGxlYXN0IHQtc2hpcnQgYW5kIFBhbnRzIHVuZGVyIGtuZWUgbGV2ZWw8L2xpPlxuPCEtLSAvd3A6bGlzdC1pdGVtIC0tPlxuXG48IS0tIHdwOmxpc3QtaXRlbSAtLT5cbjxsaT48c3Ryb25nPlNwZWNpYWwgVGlwczwvc3Ryb25nPjpDcm93ZGVkIGF0IHByYXllciB0aW1lczwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxzdHJvbmc+T3Blbjwvc3Ryb25nPjogRXZlcnlkYXkgMDguMDAgLSAyMS4zMDwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+XG5cbjwhLS0gd3A6bGlzdC1pdGVtIC0tPlxuPGxpPjxzdHJvbmc+QWRkcmVzczwvc3Ryb25nPjogU1x1MDBmY2xleW1hbml5ZSwgUHJvZi4gU1x1MDEzMWRkXHUwMTMxayBTYW1pIE9uYXIgQ2QuIE5vOjEsIDM0MTE2IEZhdGloL1x1MDEzMHN0YW5idWwsIFRcdTAwZmNya2l5ZTwvbGk+XG48IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD5cbjwhLS0gL3dwOmxpc3QgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+WW91IGNhbiBlYXNpbHkgd2FsayBmcm9tIEVtaW5cdTAwZjZuXHUwMGZjIHRvIHRoZSBTdWxleW1hbml5ZSBNb3NxdWUgb3IgdGFrZSB0aGUgdHJhbSB0byB0aGUgR3JhbmQgQmF6YWFyLiBZb3UgY2FuIHJlYWNoIHRoZSBTXHUwMGZjbGV5bWFuaXllIE1vc3F1ZSBhZnRlciBhIGZldyBtaW51dGVzIHdhbGsgZnJvbSB0aGUgQmV5YXpcdTAxMzF0LUthcGFsXHUwMTMxIFx1MDBjN2FyXHUwMTVmXHUwMTMxIHRyYW0gc3RvcC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+PHN0cm9uZz5CZXN0IGhvdXJzIHRvIHZpc2l0OiA8L3N0cm9uZz45LTEwIGFtPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJzdWxleW1hbml5ZS1tb3NxdWUtbWFwLWRpcmVjdGlvbnMtbmVpZ2hib3VyaG9vZHNcIj48c3Ryb25nPlN1bGV5bWFuaXllIE1vc3F1ZSBNYXAsIERpcmVjdGlvbnMsIE5laWdoYm91cmhvb2RzPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6c2hvcnRjb2RlIC0tPlxuXG48IS0tIC93cDpzaG9ydGNvZGUgLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInRoZS1pbnRlcmVzdGluZy1sZWdlbmQtb2Ytc3VsZXltYW5peWUtbW9zcXVlXCI+PHN0cm9uZz5UaGUgaW50ZXJlc3RpbmcgbGVnZW5kIG9mIFN1bGV5bWFuaXllIE1vc3F1ZTwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkhlcmUgaXMgdGhlIHVudG9sZCBzdG9yeSBvZiB0aGUgU3VsZXltYW5peWUgTW9zcXVlLCB3aGljaCBoYXMgc3Vydml2ZWQgb3ZlciBhIGh1bmRyZWQgZWFydGhxdWFrZXMgaW4gSXN0YW5idWwgd2l0aG91dCBhbnkgZGFtYWdlIHRvIGl0cyB3YWxsczo8L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIFNcdTAwZmNsZXltYW5peWUgTW9zcXVlIGFuZCBpdHMgY29tcGxleCB3ZXJlIGNvbnN0cnVjdGVkIGJ5IFN1bGVpbWFuIHRoZSBNYWduaWZpY2VudCB0byBlbXBoYXNpemUgdGhlIHBvd2VyIGFuZCBnbG9yeSBvZiB0aGUgT3R0b21hbiBFbXBpcmUuIER1cmluZyB0aGUgY29uc3RydWN0aW9uLCBTdWxlaW1hbiBmZWx0IHRyb3VibGVkIGJ5IHRoZSBuZXZlci1lbmRpbmcgd29yaywgYW5kIHJ1bW9ycyBiZWdhbiB0byByaXNlLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5PbmUgZGF5LCB0aGUgU3VsdGFuIGRlY2lkZWQgdG8gdmlzaXQgdGhlIFNcdTAwZmNsZXltYW5peWUgTW9zcXVlIHRvIGV2YWx1YXRlIHRoZSBzaXR1YXRpb24gaGltc2VsZi4gQXMgaGUgZW50ZXJlZCB0aGUgZ3JhbmQgbW9zcXVlLCBoZSBzcG90dGVkIE1pbWFyIFNpbmFuIHNpdHRpbmcgaW4gdGhlIGNlbnRlciBvZiB0aGUgbW9zcXVlLCBzbW9raW5nIGhpcyBob29rYWguIFRoZSBTdWx0YW4gYXNrZWQsIFwiV2hhdCBpcyBoYXBwZW5pbmcgaGVyZT9cIiBCdXQsIHRvIGhpcyBzdXJwcmlzZSwgdGhlcmUgd2FzIG5vIHRvYmFjY28gaW4gdGhlIGhvb2thaCBhcyB0aGUgTWFzdGVyIEFyY2hpdGVjdCB3YXMgc21va2luZyBvbmx5IHdhdGVyLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5BcmNoaXRlY3QgU2luYW4gbWVhc3VyZWQgdGhlIG1vc3F1ZSdzIGFjb3VzdGljcyBieSBsaXN0ZW5pbmcgdG8gdGhlIGJ1YmJsaW5nIG9mIHRoZSBob29rYWgsIGluIG9yZGVyIHRvIGRpc3RyaWJ1dGUgdGhlIHZvaWNlIG9mIHRoZSBpbWFtIGV2ZW5seSB0aHJvdWdob3V0IHRoZSBlbnRpcmUgbW9zcXVlLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UbyBhY2hpZXZlIGV2ZW4gc291bmQgZGlzdHJpYnV0aW9uIHRocm91Z2hvdXQgdGhlIGh1bmRyZWRzIG9mIHNxdWFyZSBtZXRlcnMgb2Ygc3BhY2UsIHRoZSBhcmNoaXRlY3QgYXJyYW5nZWQgNjUgbGFyZ2UgaG9sbG93IGN1YmVzIGF0IHRoZSBiYXNlIG9mIHRoZSBkb21lIHdpdGggdGhlaXIgb3BlbmluZ3MgZmFjaW5nIG91dHdhcmQuIFRoZXNlIGN1YmVzIHdlcmUgYnJvdWdodCBmcm9tIHZhcmlvdXMgcGFydHMgb2YgQW5hdG9saWEuIFN1bHRhbiwgd2hvIHdhcyBpbml0aWFsbHkgZGlzcGxlYXNlZCwgbGF0ZXIgdW5kZXJzdG9vZCB0aGUgYXJjaGl0ZWN0J3MgaW50ZW50aW9ucyBhbmQgZm9yZ2F2ZSBoaXMgbWFzdGVyLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5JbiBhZGRpdGlvbiB0byB0aGlzLCBBcmNoaXRlY3QgU2luYW4gY29uc3RydWN0ZWQgYW4gYWlyIGNvcnJpZG9yIHdpdGhpbiB0aGUgU3VsZXltYW5peWUgTW9zcXVlLiBTaW5jZSB0aGVyZSB3YXMgbm8gZWxlY3RyaWNpdHkgYXZhaWxhYmxlIHlldCwgaGUgaWxsdW1pbmF0ZWQgdGhlIG1vc3F1ZSB3aXRoIDI3NSBsYXJnZSBvaWwgbGFtcHMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlNpbmFuIGJ1aWx0IGEgc21hbGwgY2hhbWJlciBhYm92ZSB0aGUgbWFpbiBkb29yIG9mIHRoZSBtb3NxdWUgdG8gcHJvdGVjdCBpdCBmcm9tIHRoZSBzb290IHByb2R1Y2VkIGJ5IHRoZSBsYW1wcy4gVGhlIHNvb3Qgd2FzIGNvbGxlY3RlZCBpbiBhIHNwZWNpYWwgcm9vbSB1c2luZyBjYXZpdGllcyBwbGFjZWQgaW4gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBidWlsZGluZy4gU2luYW4gYWxzbyBpbnN0YWxsZWQgYSBodW1pZGlmaWNhdGlvbiBzeXN0ZW0gaW4gdGhpcyBjaGFtYmVyLCB3aGljaCB3YXMgY2FsbGVkIHRoZSBTb290IENoYW1iZXIuIFRoZSBzb290IGNvbGxlY3RlZCB3YXMgdGhlbiB1c2VkIHRvIG1ha2UgaGlnaC1xdWFsaXR5IGluay48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIHdhbGxzIG9mIHRoZSBTXHUwMGZjbGV5bWFuaXllIG1vc3F1ZSBhcmUgYWRvcm5lZCB3aXRoIGJyZWF0aHRha2luZyBwZW4gd29ya3MsIHdyaXRpbmdzLCBhbmQgZGVjb3JhdGlvbnMuIFdoYXQgbWFrZXMgdGhlc2UgZXZlbiBtb3JlIGltcHJlc3NpdmUgaXMgdGhhdCB0aGV5IHdlcmUgY3JlYXRlZCB1c2luZyBpbmsgZGlzdGlsbGVkIGZyb20gdGhlIHNvb3Qgb2YgdGhlIG1vc3F1ZSdzIGxhbXBzLCBlbXBsb3lpbmcgdGhlIHNjaWVuY2UgYW5kIHRlY2hub2xvZ3kgb2YgNDU4IHllYXJzIGFnby48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+PC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImlkXCI6MzI0LFwic2l6ZVNsdWdcIjpcImZ1bGxcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWZ1bGxcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zdWxleW1hbml5ZS1tb3NxdWUuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMjRcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwic3VsZXltYW5peWUtbW9zcXVlLWRyb25lLXZpZGVvXCI+PHN0cm9uZz5TdWxleW1hbml5ZSBNb3NxdWUgRHJvbmUgVmlkZW88L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5cIkV4cGVyaWVuY2UgdGhlIGJyZWF0aHRha2luZyBiZWF1dHkgb2YgU3VsZXltYW5peWUgTW9zcXVlIGxpa2UgbmV2ZXIgYmVmb3JlIHdpdGggb3VyIGV4Y2x1c2l2ZSBkcm9uZSB2aWRlbyBmb290YWdlLiBEb24ndCBtaXNzIG91dCBvbiB0aGlzIGluY3JlZGlibGUgb3Bwb3J0dW5pdHkgdG8gd2l0bmVzcyB0aGUgc3R1bm5pbmcgYXJjaGl0ZWN0dXJlIGFuZCBpbnRyaWNhdGUgZGV0YWlscyBvZiBvbmUgb2YgSXN0YW5idWwncyBtb3N0IGljb25pYyBsYW5kbWFya3MuXCI8L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6ZW1iZWQge1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXJCRHREWERpWl9nXCIsXCJ0eXBlXCI6XCJ2aWRlb1wiLFwicHJvdmlkZXJOYW1lU2x1Z1wiOlwieW91dHViZVwiLFwicmVzcG9uc2l2ZVwiOnRydWUsXCJjbGFzc05hbWVcIjpcIndwLWVtYmVkLWFzcGVjdC0xNi05IHdwLWhhcy1hc3BlY3QtcmF0aW9cIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2stZW1iZWQgaXMtdHlwZS12aWRlbyBpcy1wcm92aWRlci15b3V0dWJlIHdwLWJsb2NrLWVtYmVkLXlvdXR1YmUgd3AtZW1iZWQtYXNwZWN0LTE2LTkgd3AtaGFzLWFzcGVjdC1yYXRpb1wiPjxkaXYgY2xhc3M9XCJ3cC1ibG9jay1lbWJlZF9fd3JhcHBlclwiPlxuaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1yQkR0RFhEaVpfZ1xuPC9kaXY+PC9maWd1cmU+XG48IS0tIC93cDplbWJlZCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwic3VsZXltYW5peWUtbW9zcXVlLXBob3Rvc1wiPjxzdHJvbmc+U3VsZXltYW5peWUgTW9zcXVlIFBob3Rvczwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOmdhbGxlcnkge1wibGlua1RvXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWdhbGxlcnkgaGFzLW5lc3RlZC1pbWFnZXMgY29sdW1ucy1kZWZhdWx0IGlzLWNyb3BwZWRcIj48IS0tIHdwOmltYWdlIHtcImxpZ2h0Ym94XCI6e1wiZW5hYmxlZFwiOnRydWV9LFwiaWRcIjozMzMsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc3VsZXltYW5peWUtbW9zcXVlLTIyMjIzMy04MTl4MTAyNC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTMzM1wiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImxpZ2h0Ym94XCI6e1wiZW5hYmxlZFwiOnRydWV9LFwiaWRcIjozMzIsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc3VsZXltYW5peWUtbW9zcXVlLW5pZ2h0dmlldy04MTl4MTAyNC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTMzMlwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImxpZ2h0Ym94XCI6e1wiZW5hYmxlZFwiOnRydWV9LFwiaWRcIjozMzEsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc3VsZXltYW5peWUtbW9zcXVlLXN1bnNldC04MTl4MTAyNC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTMzMVwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImxpZ2h0Ym94XCI6e1wiZW5hYmxlZFwiOnRydWV9LFwiaWRcIjozMjgsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc3VsZXltYW5peWUtbW9zcXVlLTEuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMjhcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJsaWdodGJveFwiOntcImVuYWJsZWRcIjp0cnVlfSxcImlkXCI6MzMwLFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3N1bGV5bWFuaXllLW1vc3F1ZTIzMjMyMzIuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0zMzBcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJsaWdodGJveFwiOntcImVuYWJsZWRcIjp0cnVlfSxcImlkXCI6MzI5LFwic2l6ZVNsdWdcIjpcImxhcmdlXCIsXCJsaW5rRGVzdGluYXRpb25cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3N1bGV5bWFuaXllLW1vc3F1ZTc2NzY3Njc2NzY1OC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTMyOVwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPjwvZmlndXJlPlxuPCEtLSAvd3A6Z2FsbGVyeSAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cImhlYXJ0YnJlYWtpbmctc3Rvcnktb2YtYnJva2VuLXJvc2VidWQtYnJhbmNoLWVuZ3JhdmVkLW9uLXRoZS10b21ic3RvbmVcIj5IZWFydGJyZWFraW5nIFN0b3J5IG9mIGJyb2tlbiByb3NlYnVkIGJyYW5jaCBlbmdyYXZlZCBvbiB0aGUgdG9tYnN0b25lPC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6Z2FsbGVyeSB7XCJsaW5rVG9cIjpcIm5vbmVcIn0gLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2stZ2FsbGVyeSBoYXMtbmVzdGVkLWltYWdlcyBjb2x1bW5zLWRlZmF1bHQgaXMtY3JvcHBlZFwiPjwhLS0gd3A6aW1hZ2Uge1wibGlnaHRib3hcIjp7XCJlbmFibGVkXCI6dHJ1ZX0sXCJpZFwiOjMyNyxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS8yNDQ0OTMwMDhfOTM1NTcyODIwMzcwOTgyXzc3NDAzMzkwMzAyODIzNDM5OTZfbi5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTMyN1wiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImxpZ2h0Ym94XCI6e1wiZW5hYmxlZFwiOnRydWV9LFwiaWRcIjozMjUsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvMjQ0NTM2NTcwXzE2MjQwNTczNDc3NjkzODJfNDQwMDE1ODMwNDE3MzY1NDk0MV9uLTEwMjR4MTAyNC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTMyNVwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmltYWdlIHtcImxpZ2h0Ym94XCI6e1wiZW5hYmxlZFwiOnRydWV9LFwiaWRcIjozMjYsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlXCI+PGltZyBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvMjQ0NTUwOTYyXzQwMDg2NDUwMTU2MzUzN18xMDQ1NjI2ODIwMTEzNTQxNzgxX24tMTAyNHgxMDI0LmpwZ1wiIGFsdD1cIlwiIGNsYXNzPVwid3AtaW1hZ2UtMzI2XCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+PC9maWd1cmU+XG48IS0tIC93cDpnYWxsZXJ5IC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBTXHUwMGZjbGV5bWFuaXllIE1vc3F1ZSwgY29uc3RydWN0ZWQgYmV0d2VlbiAxNTUxIGFuZCAxNTU3LCBob3VzZXMgYSByZW1hcmthYmxlIHRvbWJzdG9uZSBpbiBpdHMgdHJlYXN1cnkuIFRoaXMgdG9tYnN0b25lIGlzIG5vdCBqdXN0IGEgdGVzdGFtZW50IHRvIHN1cGVyYiBjcmFmdHNtYW5zaGlwLCBidXQgaXQgYWxzbyBjb21tZW1vcmF0ZXMgdGhlIGxpZmUgb2YgYSB5b3VuZyBnaXJsIG5hbWVkIEZhdGltYSBNXHUwMGZjXHUwMTVmZXJyZWYsIHdobyBkaWVkIGF0IGEgeW91bmcgYWdlLiBUaGUgdG9tYnN0b25lIGZlYXR1cmVzIGEgYnJva2VuIHJvc2VidWQsIHN5bWJvbGl6aW5nIGhlciBkZWF0aCBhdCB0aGUgdGVuZGVyIGFnZSBvZiAxNy4gRmF0aW1hIHdhcyB0aGUgZGF1Z2h0ZXIgb2YgTXVzdGFmYSBGZXZ6aSBCZXkgZnJvbSBUaGVzc2Fsb25pa2kuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBDZWxpIHRhbGlrIGluc2NyaXB0aW9uIG9uIHRoZSB0b21ic3RvbmUgaXMgMTEgbGluZXMgbG9uZyBhbmQgcmVhZHMgYXMgZm9sbG93czogXCJEZWFyIHZpc2l0b3IsIGx5aW5nIGJlbmVhdGggdGhpcyBzdG9uZSBpcyBvbmUgb2YgdGhlIHB1cmVzdCwgbW9zdCBpbnRlbGxpZ2VudCwgYW5kIGJlYXV0aWZ1bCB5b3VuZyBnaXJscy4gRGVhdGggdG9vayBoZXIgYXdheSBhdCB0aGUgYWdlIG9mIDE3LiBUaGlzIHlvdW5nIGZsb3dlciB3YXMgdGFrZW4gZnJvbSBoZXIgcGFyZW50cycgbG92ZSB2ZXJ5IGVhcmx5IGFuZCB3YXMgaW50ZWxsaWdlbnQsIGtub3dsZWRnZWFibGUsIGFuZCBleGNlcHRpb25hbC4gTGV0IHVzIHByYXkgZm9yIGEgbW9yYWwsIHJlc3BlY3RhYmxlLCBhbmQgaW5ub2NlbnQgc291bC4gV3JpdHRlbiBvbiBXZWRuZXNkYXksIEphbnVhcnkgMTMsIDEzMjUgKEdyZWdvcmlhbiAxOTEwKS5cIjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5UaGUgdG9tYnN0b25lIGhhcyBhIGJyb2tlbiByb3NlYnVkIGNhcnZlZCBpbiByZWxpZWYgb24gaXRzIGhlYWRzdG9uZSwgc3ltYm9saXppbmcgdGhlIGdpcmwncyB1bnRpbWVseSBkZW1pc2UuIE9uIHRoZSBmb290IHRvbWIsIGEgdmVpbCBkcmFwZXMgZG93biBpbiB3YXZlcywgcmVwcmVzZW50aW5nIGhlciB3ZWRkaW5nIGF0dGlyZS4gVGhlIHRvbWIncyBwZWRlc3RhbCBiZWFycyB0aGUgc2lnbmF0dXJlIG9mIHRoZSBHcmVlayBtYXN0ZXIgUC5DLiBQYXNjYWxpZGksIHdobyB3YXMgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZGVlcGx5IG1vdmluZyB0b21ic3RvbmUuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJ3aHktaXMtc3VsZXltYW5peWUtbW9zcXVlLWltcG9ydGFudFwiPjxzdHJvbmc+V2h5IGlzIFN1bGV5bWFuaXllIE1vc3F1ZSBpbXBvcnRhbnQ/PC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIFNcdTAwZmNsZXltYW5peWUgTW9zcXVlLCBidWlsdCBieSB0aGUgZ3JlYXQgYXJjaGl0ZWN0IEtvY2EgU2luYW4gb24gdGhlIG9yZGVyIG9mIFN1bHRhbiBTdWxlaW1hbiB0aGUgTWFnbmlmaWNlbnQsIGlzIGNvbnNpZGVyZWQgb25lIG9mIHRoZSBtb3N0IGltcG9ydGFudCBleGFtcGxlcyBvZiBDbGFzc2ljYWwgT3R0b21hbiBhcmNoaXRlY3R1cmUuIFRob3VnaCBTaW5hbiBodW1ibHkgcmVmZXJyZWQgdG8gaXQgYXMgYSBcImpvdXJuZXltYW4ncyB3b3JrXCIsIGhlIG1ldGljdWxvdXNseSBjYWxjdWxhdGVkIGV2ZXJ5IGRldGFpbCBvZiB0aGUgc3RydWN0dXJlLiA8L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIG1vc3F1ZSdzIDUzLW1ldGVyLWhpZ2ggZG9tZSBpcyBzdXBwb3J0ZWQgYnkgZm91ciBtaW5hcmV0cywgZWFjaCBvZiB3aGljaCBzdGFuZHMgNzUgbWV0ZXJzIHRhbGwgYW5kIGZlYXR1cmVzIHRocmVlIGJhbGNvbmllcy4gVGhlc2UgbWluYXJldHMgc3ltYm9saXplIHRoZSBmb3VyIHN1bHRhbnMgd2hvIGFzY2VuZGVkIHRvIHRoZSB0aHJvbmUgZm9sbG93aW5nIHRoZSBjb25xdWVzdCBvZiBJc3RhbmJ1bC4gPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBjb25zdHJ1Y3Rpb24gb2YgdGhlIG1vc3F1ZSwgd2hpY2ggYmVnYW4gb24gSnVuZSAxMywgMTU1MCwgd2FzIGNvbXBsZXRlZCBpbiBqdXN0IHNldmVuIHllYXJzIGRlc3BpdGUgdGhlIGxpbWl0ZWQgcmVzb3VyY2VzIG9mIHRoZSB0aW1lLiBUaGUgbW9zcXVlIG9wZW5lZCB0byB0aGUgcHVibGljIG9uIEp1bmUgNywgMTU1Nywgd2l0aCBhIGdyYW5kIGNlcmVtb255IGxlZCBieSBNaW1hciBTaW5hbiwgYXR0cmFjdGluZyB2aXNpdG9ycyBmcm9tIGFsbCBhcm91bmQgdGhlIHdvcmxkLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwidGhlLWFyY2hpdGVjdHVyZS1hbmQtY29zdC1vZi1zdWxleW1hbml5ZS1tb3NxdWVcIj48c3Ryb25nPlRoZSBBcmNoaXRlY3R1cmUgYW5kIENvc3Qgb2YgU3VsZXltYW5peWUgTW9zcXVlPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIHRlbXBsZSwgYWxzbyBrbm93biBhcyB0aGUgU1x1MDBmY2xleW1hbml5ZSBNb3NxdWUsIGlzIGVzdGltYXRlZCB0byBoYXZlIGNvc3QgNTkgbWlsbGlvbiBha1x1MDBlN2Ugb3IgNzAwLDAwMCBkdWthIGdvbGQgZHVyaW5nIGl0cyBjb25zdHJ1Y3Rpb24sIHdoaWNoIHdvdWxkIGJlIGVxdWl2YWxlbnQgdG8gbW9yZSB0aGFuICQ2NSBiaWxsaW9uIGluIHRvZGF5J3MgbW9uZXkuIFRoZSBtb3NxdWUgd2FzIGRhbWFnZWQgYnkgZmlyZSBpbiAxNjYwIGFuZCB3YXMgcmVwYWlyZWQsIGJ1dCBpdCB3YXMgZGVmYWNlZCBkdXJpbmcgdGhlIHJlaWduIG9mIFN1bHRhbiBNZWNpZCBpbnN0ZWFkIG9mIGJlaW5nIHByb3Blcmx5IHJlcGFpcmVkLiBUaGUgZW5naW5lZXIgRm9zc2F0aSwgd2hvIHdhcyBicm91Z2h0IGZyb20gYWJyb2FkIHRvIHJlcGFpciB0aGU8c3Ryb25nPiA8YSBocmVmPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL2hhZ2lhLXNvcGhpYS1pbi1pc3RhbmJ1bC8zNjkvXCIgZGF0YS10eXBlPVwicG9zdFwiIGRhdGEtaWQ9XCIzNjlcIj5IYWdpYSBTb3BoaWE8L2E+PC9zdHJvbmc+LCB1c2VkIG9pbCBwYWludCBhbmQgcHV0dHkgdG8gcnVpbiB0aGUgZWxlcGhhbnQncyBmZWV0IHRvIHRoZSBhcmNoZXMsIHdoaWNoIGxhdGVyIHJlcXVpcmVkIGEgZ3JlYXQgZGVhbCBvZiBlZmZvcnQgdG8gY2xlYW4uIFRoZSBpbm5lciBjb3VydHlhcmQgb2YgdGhlIG1vc3F1ZSB3YXMgdXNlZCBhcyBhIHNhZGRsZXJ5IGR1cmluZyB0aGUgRmlyc3QgV29ybGQgV2FyLiBUaGUgbW9zcXVlIHN1cnZpdmVkIGFub3RoZXIgZmlyZSBhbmQgd2FzIGZpbmFsbHkgc3Vic3RhbnRpYWxseSByZXBhaXJlZCBieSB0aGUgRm91bmRhdGlvbnMgaW4gMTk1Niwgd2hpY2ggaW5jbHVkZWQgdGhlIG1pbmFyZXRzLCBkb21lcywgYW5kIGFyY2hlcy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIHRlbXBsZSBpcyBjb21wcmlzZWQgb2YgYSBtYWluIGRvbWUsIHR3byBoYWxmIGRvbWVzLCB0d28gcXVhcnRlciBkb21lcywgYW5kIHRlbiBzbWFsbCBkb21lcy4gVGhlIG1haW4gZG9tZSBpcyBzdXBwb3J0ZWQgYnkgZm91ciBwaWxsYXJzLCB3aGlsZSB0aGUgZG9tZSBhcmNoZXMgcmVzdCBvbiBmb3VyIGxhcmdlIGdyYW5pdGUgY29sdW1ucy4gVGhlIDMyLXdpbmRvdyBkb21lIGhhcyBhIGRpYW1ldGVyIG9mIDI3LjI1IG1ldGVycyBhbmQgaXMgNTMgbWV0ZXJzIGFib3ZlIHRoZSBncm91bmQuIFRoZXJlIGFyZSA2NCBjdWJlcywgZWFjaCA1MCBjbSB0YWxsLCBwbGFjZWQgaW5zaWRlIHRoZSBkb21lIGFuZCBpbiB0aGUgY29ybmVycyB3aXRoIHRoZWlyIG1vdXRocyBvcGVuIHRvIHRoZSBpbnNpZGUgdG8gZW5oYW5jZSBhY291c3RpY3MuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJzdWxleW1hbml5ZS1tb3NxdWUtaW50ZXJpb3JcIj48c3Ryb25nPlN1bGV5bWFuaXllIE1vc3F1ZTwvc3Ryb25nPiA8c3Ryb25nPkludGVyaW9yPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIG1vc3F1ZSBoYXMgYW4gaW50ZXJpb3IgYXJlYSBvZiBhcm91bmQgMzUwMCBzcXVhcmUgbWV0ZXJzLCBtZWFzdXJpbmcgNTkgbWV0ZXJzIGluIGxlbmd0aCBhbmQgNTggbWV0ZXJzIGluIHdpZHRoLiBJdCBpcyBpbGx1bWluYXRlZCBieSAyMzggd2luZG93cyBhbmQgZmVhdHVyZXMgYSBoXHUwMGZjbmtcdTAwZTJyIGFuZCBtdWV6emluIG1haGZpcyByZXN0aW5nIG9uIHZhbHVhYmxlIGdyYW5pdGUgYW5kIG1hcmJsZSBjb2x1bW5zLiBUaGUgbWluYmFyIGFuZCBtaWhyYWIgYXJlIHBhcnRpY3VsYXJseSBub3Rld29ydGh5IGZvciB0aGVpciBleHF1aXNpdGUgbWFyYmxlIGNyYWZ0c21hbnNoaXAuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBhcmVhIHRvIHRoZSByaWdodCBvZiB0aGUgbXVlenppbidzIGNsb2lzdGVyIHdhcyBmb3JtZXJseSB1c2VkIGFzIGEgbGlicmFyeSB1bnRpbCAxOTE4LiBUaGUgZXhpc3RpbmcgYm9va3Mgd2VyZSBsYXRlciBtb3ZlZCB0byB0aGUgR2VuZXJhbCBMaWJyYXJ5IGVzdGFibGlzaGVkIGluIDxhIGhyZWY9XCJodHRwczovL3d3dy5pc2xhbWljYXJjaGl0ZWN0dXJhbGhlcml0YWdlLmNvbS9saXN0aW5ncy9zdWxleW1hbml5ZS1ldnZlbC1tYWRyYXNhXCI+U1x1MDBmY2xleW1hbml5ZSBNYWRyYXNhaHM8L2E+LiBUaGUgZnJvbnQgcGFydCBvZiB0aGUgbW9zcXVlIGhhcyBmaXZlIGRvb3JzIGFuZCBiZWF1dGlmdWwgY29sb3JlZCB3aW5kb3dzIGFib3ZlIHRoZSBtaWhyYWIuIFRoZXNlIHdpbmRvd3Mgd2VyZSB0aGUgd29yayBvZiB0aGUgd2VsbC1rbm93biBtYXN0ZXIgb2YgdGhlIHBlcmlvZCwgXHUwMTMwYnJhaGltIFVzLXRhLCBhbmQgdGhlIHN1bmxpZ2h0IGVudGVyaW5nIHRocm91Z2ggdGhlbSB3YXMgbGlrZW5lZCB0byB0aGUgU2VocGVyLWkgSmlicmlsIGJ5IFNpbmFuIHRoZSBBcmNoaXRlY3QuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBtb3NxdWUgaGFzIGZvdXIgdmVyeSBwcmVjaW91cyBncmFuaXRlIGNvbHVtbnMsIG9uZSBvZiB3aGljaCB3YXMgYnJvdWdodCBmcm9tIEFsZXhhbmRyaWEgYW5kIHRoZSBvdGhlciBmcm9tIEJhYWxiZWsgYnkgc3BlY2lhbCBzaGlwcy4gVGhlIHJlbWFpbmluZyB0d28gd2VyZSB0YWtlbiBmcm9tIEtcdTAxMzF6dGFcdTAxNWZcdTAxMzEgaW4gSXN0YW5idWwgYW5kIHRoZSBTYXJheS1cdTAxMzEgQW1pcmUuIFRoZXNlIGZvdXIgY29sdW1ucywgZWFjaCA5LjAyIG1ldGVycyBoaWdoLCAxLjE0IG1ldGVycyBpbiBkaWFtZXRlciwgYW5kIHdlaWdoaW5nIDQwLTUwIHRvbm5lcywgYXJlIGxpa2VuZWQgYnkgTWltYXIgU2luYW4gdG8gdGhlIEZvdXIgQ2FsaXBocy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aGVhZGluZyAtLT5cbjxoMiBjbGFzcz1cIndwLWJsb2NrLWhlYWRpbmdcIiBpZD1cInN1bGV5bWFuaXllLW1vc3F1ZS1pbnRlcmlvci0xXCI+PHN0cm9uZz5TdWxleW1hbml5ZSBNb3NxdWU8L3N0cm9uZz4gPHN0cm9uZz5JbnRlcmlvcjwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSA8c3Ryb25nPlN1bGV5bWFuaXllIE1vc3F1ZTwvc3Ryb25nPiBoYXMgYSBsYXJnZSBpbm5lciBjb3VydHlhcmQgc3Vycm91bmRlZCBieSAyOCBkb21lZCBwb3J0aWNvZXMuIFRoZSBhZm9yZW1lbnRpb25lZCBkb21lIGFyY2hlcyByZXN0IG9uIDI0IGNvbHVtbnMsIDEyIG9mIHdoaWNoIGFyZSBncmFuaXRlLCAxMCBhcmUgbWFyYmxlLCBhbmQgdHdvIGFyZSBTb21hbGkgbWFyYmxlIGNvbHVtbnMuIFRoZSBmbG9vciBvZiB0aGUgY291cnR5YXJkIGlzIHBhdmVkIHdpdGggbWFyYmxlLCBhbmQgdGhlcmUgaXMgYSBmb3VudGFpbiBpbiB0aGUgbWlkZGxlIG9mIHRoZSBjb3VydHlhcmQsIHdpdGggYW4gYXJlYSBvZiAyNTAwIHNxdWFyZSBtZXRlcnMuIFRoZSBtb3NxdWUgYWxzbyBoYXMgZm91ciBtaW5hcmV0cyBhbmQgdGVuIGJhbGNvbmllcyBidWlsdCBpbiBhIHN0eWxlIHN1aXRhYmxlIGZvciBpdHMgbWFnbmlmaWNlbmNlLiBUaGUgbWluYXJldHMgcmlzaW5nIHRvd2FyZHMgdGhlIHNreSByZXNlbWJsZSBhIHBlcnNvbiB3aG8gcmFpc2VzIGJvdGggaGFuZHMgaW4gcHJheWVyLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwidGhlLXRvbWJzLWFuZC1tYWRyYXNhcy1sb2NhdGVkLWluc2lkZS10aGUtc3VsZXltYW5peWUtbW9zcXVlXCI+PHN0cm9uZz5cIlRoZSB0b21icyBhbmQgbWFkcmFzYXMgbG9jYXRlZCBpbnNpZGUgdGhlIFNcdTAwZmNsZXltYW5peWUgTW9zcXVlLlwiPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIG1vc3F1ZSBmZWF0dXJlcyBiZWF1dGlmdWxseSBlbmdyYXZlZCB3cml0aW5ncyBieSB0aGUgZmFtb3VzIGNhbGxpZ3JhcGhlciBBaG1ldCBLYXJhaGlzYXJcdTAwZWUgYW5kIGhpcyBwdXBpbCBIYXNhbiBcdTAwYzdlbGViaS4gVGhlIHRvbWIgaW4gZnJvbnQgb2YgdGhlIG1paHJhYiBiZWxvbmdzIHRvIFN1bGVpbWFuIHRoZSBNYWduaWZpY2VudCwgd2hvIGhhZCB0aGUgbW9zcXVlIGJ1aWx0IHdpdGggaGlzIG93biBtb25leSwgYW5kIHRoZSB0b21iIG5leHQgdG8gaXQgYmVsb25ncyB0byBoaXMgd2lmZSwgSFx1MDBmY3JyZW0gU3VsdGFuLiBTaW5hbiB0aGUgQXJjaGl0ZWN0IGlzIGJ1cmllZCBpbiBhIG1vZGVzdCB0b21iIG5leHQgdG8gdGhlIElzdGFuYnVsIE11ZnRpJ3MgT2ZmaWNlIG91dHNpZGUgdGhlIG1vc3F1ZSBnYXJkZW4uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBtb3NxdWUgZ2FyZGVuIGlzIHNwcmVhZCBvdmVyIDYwMDAgc3F1YXJlIG1ldHJlcyBhbmQgaGFzIDExIGdhdGVzLiBTZXZlbiBtYWRyYXNhcywgY2FsbGVkIFNcdTAwZmNsZXltYW5peWUgTWFkcmFzYXMsIGhhdmUgYmVlbiBlc3RhYmxpc2hlZCBhcm91bmQgdGhlIGdhcmRlbi4gVGhlIGJ1aWxkaW5ncyBhcm91bmQgdGhlIG1vc3F1ZSBoYXZlIGJlZW4gY29udmVydGVkIGludG8gdmFyaW91cyBpbnN0aXR1dGlvbnMgb3ZlciB0aGUgeWVhcnMsIHN1Y2ggYXMgdGhlIFNcdTAwZmNsZXltYW5peWUgTGlicmFyeSwgYSBtYXRlcm5pdHkgaG9tZSwgYSBtaWxpdGFyeSBwcmludGluZyBob3VzZSwgYW5kIGEgR2lybHMnIFF1cidhbiBDb3Vyc2UuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPiIsInBvc3RfdGl0bGUiOiJTdWxleW1hbml5ZSBNb3NxdWUgSXN0YW5idWwiLCJwb3N0X2xpbmsiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvc3VsZXltYW5peWUtbW9zcXVlLWlzdGFuYnVsLzMyMy8iLCJwb3N0X2ZlYXR1cmVkX2ltYWdlIjoiPGRpdiBjbGFzcz1cImZjLWZlYXR1cmUtaW1nXCI+PGltZyBsb2FkaW5nPVwibGF6eVwiIGRlY29kaW5nPVwiYXN5bmNcIiBhbHQ9XCJTdWxleW1hbml5ZSBNb3NxdWUgSXN0YW5idWxcIiB3aWR0aD1cIjI0MFwiIGhlaWdodD1cIjMwMFwiIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zdWxleW1hbml5ZS1tb3NxdWUtbmlnaHR2aWV3LTI0MHgzMDAuanBnXCIgY2xhc3M9XCJ3cC1wb3N0LWltYWdlICAgd3BnbXBfZmVhdHVyZWRfaW1hZ2VcIiA+PC9kaXY+IiwicG9zdF9jYXRlZ29yaWVzIjoiVGhpbmdzIHRvIGRvIGluIElTVEFOQlVMLCBUaGluZ3MgdG8gZG8gaW4gVFVSS0VZIiwicG9zdF90YWdzIjoiaGlzdG9yaWNhbCBzaXRlLCBtb3NxdWUgLyBtYXNqaWQiLCIlX2VkaXRfbG9jayUiOiIxNzA3NTE3MjcyOjEiLCIlX29lbWJlZF80NTFjMzZhODc0ZjFhZTMzZmQ5OGY0MzJkYWJkNDI1NiUiOiI8aWZyYW1lIHRpdGxlPVwiU3VsZXltYW5peWUgTW9zcXVlIElzdGFuYnVsIHwgQ2l0eSBJbiBUdXJrZXkgfCBEcm9uZSA0a1wiIHdpZHRoPVwiNjk2XCIgaGVpZ2h0PVwiMzkyXCIgc3JjPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvckJEdERYRGlaX2c/ZmVhdHVyZT1vZW1iZWRcIiBmcmFtZWJvcmRlcj1cIjBcIiBhbGxvdz1cImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmU7IHdlYi1zaGFyZVwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4iLCIlX29lbWJlZF90aW1lXzQ1MWMzNmE4NzRmMWFlMzNmZDk4ZjQzMmRhYmQ0MjU2JSI6IjE3MDczMzc1NTciLCIlX2VkaXRfbGFzdCUiOiIxIiwiJV95b2FzdF93cHNlb19wcmltYXJ5X2NhdGVnb3J5JSI6IjU2IiwiJV95b2FzdF93cHNlb19jb250ZW50X3Njb3JlJSI6IjMwIiwiJV95b2FzdF93cHNlb19pbmNsdXNpdmVfbGFuZ3VhZ2Vfc2NvcmUlIjoiOTAiLCIlX3lvYXN0X3dwc2VvX2VzdGltYXRlZC1yZWFkaW5nLXRpbWUtbWludXRlcyUiOiI5IiwiJV95b2FzdF93cHNlb193b3JkcHJvb2ZfdGltZXN0YW1wJSI6IiIsIiVwb3N0X3ZpZXdzX2NvdW50JSI6IjI2MyIsIiVfdGh1bWJuYWlsX2lkJSI6IjMzMiIsIiVfb2VtYmVkXzI5MzExY2QzZGMzMmUwYmNiMjdlZjllNzUxOGM2OWQwJSI6IjxpZnJhbWUgdGl0bGU9XCJTdWxleW1hbml5ZSBNb3NxdWUgSXN0YW5idWwgfCBDaXR5IEluIFR1cmtleSB8IERyb25lIDRrXCIgd2lkdGg9XCI1MDBcIiBoZWlnaHQ9XCIyODFcIiBzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9yQkR0RFhEaVpfZz9mZWF0dXJlPW9lbWJlZFwiIGZyYW1lYm9yZGVyPVwiMFwiIGFsbG93PVwiYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPiIsIiVfb2VtYmVkX3RpbWVfMjkzMTFjZDNkYzMyZTBiY2IyN2VmOWU3NTE4YzY5ZDAlIjoiMTcwNjUzNTkxMCIsIiVRdWFsaXR5IFNjb3JlJSI6IjMiLCIlX1F1YWxpdHkgU2NvcmUlIjoiZmllbGRfNjViN2Q1MTllZGUxMyIsIiVBdHRyYWN0aW9uIFR5cGUlIjoiSGlzdG9yaWNhbCBTaXRlLCBNb3NxdWUiLCIlX0F0dHJhY3Rpb24gVHlwZSUiOiJmaWVsZF82NWI5MDQ4ZDcwMmMzIiwiJWJlc3RfdGltZV90b192aXNpdCUiOiJBbGwgU2Vhc29ucyIsIiVfYmVzdF90aW1lX3RvX3Zpc2l0JSI6ImZpZWxkXzY1YjkwNjc3YTEwZGEiLCIlYXZhcmVnZV9yZXF1aXJlZF90aW1lXyUiOiIxIiwiJV9hdmFyZWdlX3JlcXVpcmVkX3RpbWVfJSI6ImZpZWxkXzY1YjkwNmZiYzA4MWIiLCIlb3BlbnNfYXQlIjoiIiwiJV9vcGVuc19hdCUiOiJmaWVsZF82NWI5MDgxM2MwODFjIiwiJWNsb3NlZF9hdCUiOiIiLCIlX2Nsb3NlZF9hdCUiOiJmaWVsZF82NWI5MDg3ODQ5YjVkIiwiJWVudHJhbmNlX2ZlZSUiOiJGcmVlIiwiJV9lbnRyYW5jZV9mZWUlIjoiZmllbGRfNjViOTA4YjI2MzllZiIsIiVkcmVzc19jb2RlJSI6IkNhc3VhbCIsIiVfZHJlc3NfY29kZSUiOiJmaWVsZF82NWI5MGE3YzQ0NDI3IiwiJW90aGVyX3RpcHMlIjoiIiwiJV9vdGhlcl90aXBzJSI6ImZpZWxkXzY1YjkxMDMzYmM5Y2QiLCIlY2l0eSUiOiJJc3RhbmJ1bCIsIiVfY2l0eSUiOiJmaWVsZF82NWMxMWY1OTMyYWM3IiwiJXRkX3Bvc3RfdGhlbWVfc2V0dGluZ3MlIjp7InRkX3N1YnRpdGxlIjoiQ2l0aWVzIG9mdGVuIGhhdmUgYSBsaXN0IG9mIG11c3Qtc2VlIHBsYWNlcywgYW5kIGluIElzdGFuYnVsLCB0aGUgU3VsZXltYW5peWUgTW9zcXVlIGlzIGF0IHRoZSB0b3Agb2YgdGhpcyBsaXN0LiBUaGlzIGFyY2hpdGVjdHVyYWwgbWFzdGVycGllY2Ugb2YgdGhlIE90dG9tYW4gcGVyaW9kIHNob3VsZCBkZWZpbml0ZWx5IGJlIG9uIHlvdXIgaXRpbmVyYXJ5LiIsImhhc19yZXZpZXciOiJyYXRlX3BlcmNlbnQiLCJwX3Jldmlld19wZXJjZW50cyI6W3siZGVzYyI6Ik92ZXJhbGwgU2F0aXNmYWN0b3J5IFBlcmNlbnQiLCJyYXRlIjoiOTkifV0sInBfcmV2aWV3X3BvaW50cyI6W3sicmF0ZSI6IjkuOTk5In1dfSwiJV9tb25zdGVyaW5zaWdodHNfc2tpcF90cmFja2luZyUiOiIiLCIlX21vbnN0ZXJpbnNpZ2h0c19zaXRlbm90ZV9hY3RpdmUlIjoiIiwiJXRkbV9zdGF0dXMlIjoiIiwiJXRkbV9ncmlkX3N0YXR1cyUiOiIiLCIlZm9vdG5vdGVzJSI6IiIsIiVRdWFsaXR5X1Njb3JlJSI6IjEwMDAwIiwiJV9RdWFsaXR5X1Njb3JlJSI6ImZpZWxkXzY1YjdkNTE5ZWRlMTMiLCIlcmFua19tYXRoX2FuYWx5dGljX29iamVjdF9pZCUiOiIxNCIsIiVyYW5rX21hdGhfc2NoZW1hX0Jsb2dQb3N0aW5nJSI6eyJoZWFkbGluZSI6IiVzZW9fdGl0bGUlIiwiZGVzY3JpcHRpb24iOiIlc2VvX2Rlc2NyaXB0aW9uJSIsImRhdGVQdWJsaXNoZWQiOiIlZGF0ZShZLW0tZFRIOmk6c1ApJSIsImRhdGVNb2RpZmllZCI6IiVtb2RpZmllZChZLW0tZFRIOmk6c1ApJSIsImltYWdlIjp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLCJ1cmwiOiIlcG9zdF90aHVtYm5haWwlIn0sImF1dGhvciI6eyJAdHlwZSI6IlBlcnNvbiIsIm5hbWUiOiIlbmFtZSUifSwiQHR5cGUiOiJCbG9nUG9zdGluZyIsIm1ldGFkYXRhIjp7InRpdGxlIjoiQXJ0aWNsZSIsInR5cGUiOiJ0ZW1wbGF0ZSIsImlzUHJpbWFyeSI6dHJ1ZX19LCIlcmFua19tYXRoX3NjaGVtYV9WaWRlb09iamVjdCUiOnsiQHR5cGUiOiJWaWRlb09iamVjdCIsIm1ldGFkYXRhIjp7InRpdGxlIjoiVmlkZW8iLCJ0eXBlIjoidGVtcGxhdGUiLCJzaG9ydGNvZGUiOiJzLTY1YmJiZTdiNjY3MDMiLCJpc1ByaW1hcnkiOnRydWUsInJldmlld0xvY2F0aW9uU2hvcnRjb2RlIjoiW3JhbmtfbWF0aF9yaWNoX3NuaXBwZXRdIiwiY2F0ZWdvcnkiOiIlY2F0ZWdvcmllcyUiLCJ0YWdzIjoiJXRhZ3MlIiwiaXNBdXRvR2VuZXJhdGVkIjp0cnVlfSwibmFtZSI6IlN1bGV5bWFuaXllIE1vc3F1ZSBJc3RhbmJ1bCB8IENpdHkgSW4gVHVya2V5IHwgRHJvbmUgNGsiLCJkZXNjcmlwdGlvbiI6IkluIE90dG9tYW4gSXN0YW5idWwgdGhlIGdyZWF0IGVuZ2luZWVyLWFyY2hpdGVjdCBNaW1hciBTaW5hbiBoYWQgYnVpbHQgdGhlIFN1bGV5bWFuaXllIG1vc3F1ZS5BbWF6aW5nIGRheSBhbmQgbmlnaHQgb2YgdGhlIFN1bGV5bWFuaXllIE1vc3F1ZSBJbnN0YW5idWwuQ2l0eSAuLi4iLCJ1cGxvYWREYXRlIjoiMjAyMi0wMi0yMlQwMDowMTo1Ni0wODowMCIsInRodW1ibmFpbFVybCI6IiVwb3N0X3RodW1ibmFpbCUiLCJlbWJlZFVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3JCRHREWERpWl9nIiwiY29udGVudFVybCI6IiIsImR1cmF0aW9uIjoiUFQ2TTI0UyIsIndpZHRoIjoiMTI4MCIsImhlaWdodCI6IjcyMCIsImlzRmFtaWx5RnJpZW5kbHkiOnRydWV9LCIlcmFua19tYXRoX3Nlb19zY29yZSUiOiI4OCIsIiVyYW5rX21hdGhfaW50ZXJuYWxfbGlua3NfcHJvY2Vzc2VkJSI6IjEiLCIlcmFua19tYXRoX3ByaW1hcnlfY2F0ZWdvcnklIjoiNTYiLCIlX2NtcGx6X3NjYW5uZWRfcG9zdCUiOiIxIiwiJXJhbmtfbWF0aF9waWxsYXJfY29udGVudCUiOiJvbiIsIiVyYW5rX21hdGhfZm9jdXNfa2V5d29yZCUiOiJTdWxleW1hbml5ZSBNb3NxdWUiLCIlcmFua19tYXRoX3RpdGxlJSI6IkV4cGxvcmUgdGhlIE1hZ25pZmljZW50IFN1bGV5bWFuaXllIE1vc3F1ZSBpbiBJc3RhbmJ1bCAtIFRyYXZlbCBUdXJrZXkiLCIlcmFua19tYXRoX2Rlc2NyaXB0aW9uJSI6IkRpc2NvdmVyIHRoZSBhd2UtaW5zcGlyaW5nIFN1bGV5bWFuaXllIE1vc3F1ZSwgYSBtdXN0LXZpc2l0IGF0dHJhY3Rpb24gaW4gSXN0YW5idWwuIEltbWVyc2UgeW91cnNlbGYgaW4gVHVya2lzaCBoaXN0b3J5IGFuZCBhcmNoaXRlY3R1cmUuIiwiJXJhbmslIjoiMDAwNiIsIiVfcmFuayUiOiJmaWVsZF82NWI3ZDUxOWVkZTEzIiwiJWNtcGx6X2hpZGVfY29va2llYmFubmVyJSI6IiIsIiVBdmFyZWdlIFZpc2l0aW5nIFRpbWUlIjoiMiIsIiVfQXZhcmVnZSBWaXNpdGluZyBUaW1lJSI6ImZpZWxkXzY1YjkwNmZiYzA4MWIiLCIlT3BlbiBkYXlzJSI6IkV2ZXJ5ZGF5IiwiJV9PcGVuIGRheXMlIjoiZmllbGRfNjViOTA4MTNjMDgxYyIsIiVPcGVucyBhdCUiOiIiLCIlX09wZW5zIGF0JSI6ImZpZWxkXzY1YjkwODc4NDliNWQiLCIlQ2xvc2VkIGF0JSI6IiIsIiVfQ2xvc2VkIGF0JSI6ImZpZWxkXzY1YmVhNTY5NzViYWMiLCIlTG9jYXRpb24lIjoiIiwiJV9Mb2NhdGlvbiUiOiJmaWVsZF82NWI5MTEwN2EwNGRlIiwiJV93cGdtcF9sb2NhdGlvbl9hZGRyZXNzJSI6IlNcdTAwZmNsZXltYW5peWUsIFByb2YuIFNcdTAxMzFkZFx1MDEzMWsgU2FtaSBPbmFyIENkLiBObzoxLCAzNDExNiBGYXRpaC9cdTAxMzBzdGFuYnVsLCBUXHUwMGZjcmtpeWUiLCIlX3dwZ21wX2xvY2F0aW9uX2NpdHklIjoiIiwiJV93cGdtcF9sb2NhdGlvbl9zdGF0ZSUiOiJcdTAxMzBzdGFuYnVsIiwiJV93cGdtcF9sb2NhdGlvbl9jb3VudHJ5JSI6IlRcdTAwZmNya2l5ZSIsIiVfd3BnbXBfbWV0YWJveF9sYXRpdHVkZSUiOiI0MS4wMTYwNDciLCIlX3dwZ21wX21ldGFib3hfbG9uZ2l0dWRlJSI6IjI4Ljk2Mzk3MTEiLCIlX3dwZ21wX21ldGFib3hfbG9jYXRpb25fcmVkaXJlY3QlIjoicG9zdCIsIiVfd3BnbXBfbWV0YWJveF9jdXN0b21fbGluayUiOiIiLCIlX3dwZ21wX21hcF9pZCUiOiJhOjE6e2k6MDtzOjE6XCIxXCI7fSIsIiVfd3BnbXBfbWV0YWJveF9tYXJrZXJfaWQlIjoiYToxOntpOjA7czoxOlwiM1wiO30iLCIlX3dwZ21wX21ldGFib3hfdGF4b21vbWllc190ZXJtcyUiOiIiLCIlX3dwZ21wX2V4dGVuc2lvbnNfZmllbGRzJSI6IiIsIiV0ZF9yZXZpZXdfa2V5JSI6IjQuOTUiLCIlX29lbWJlZF85YzViODczZmE3ZTliMjNhZDM3ODdjODViMTJkNWM3OCUiOiI8aWZyYW1lIHRpdGxlPVwiU3VsZXltYW5peWUgTW9zcXVlIElzdGFuYnVsIHwgQ2l0eSBJbiBUdXJrZXkgfCBEcm9uZSA0a1wiIHdpZHRoPVwiNTAwXCIgaGVpZ2h0PVwiMjgxXCIgc3JjPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvckJEdERYRGlaX2c/ZmVhdHVyZT1vZW1iZWRcIiBmcmFtZWJvcmRlcj1cIjBcIiBhbGxvdz1cImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmU7IHdlYi1zaGFyZVwiIHJlZmVycmVycG9saWN5PVwic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpblwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4iLCIlX29lbWJlZF90aW1lXzljNWI4NzNmYTdlOWIyM2FkMzc4N2M4NWIxMmQ1Yzc4JSI6IjE3MTIyODM4NzQiLCJ0YXhvbm9teT1jYXRlZ29yeSI6IlRoaW5ncyB0byBkbyBpbiBJU1RBTkJVTCwgVGhpbmdzIHRvIGRvIGluIFRVUktFWSIsInRheG9ub215PXBvc3RfdGFnIjoiaGlzdG9yaWNhbCBzaXRlLCBtb3NxdWUgLyBtYXNqaWQiLCJ0YXhvbm9teT1wb3N0X2Zvcm1hdCI6IiJ9LCJpY29uIjoiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1nb29nbGUtbWFwLWdvbGQvYXNzZXRzL2ltYWdlcy9pY29ucy9tb3NxdWUucG5nIn0sImlkIjozMjMsImluZm93aW5kb3dfZGlzYWJsZSI6ZmFsc2UsImNhdGVnb3JpZXMiOlt7Imljb24iOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC9wbHVnaW5zL3dwLWdvb2dsZS1tYXAtZ29sZC9hc3NldHMvaW1hZ2VzL2ljb25zL21vc3F1ZS5wbmciLCJuYW1lIjoiTW9zcXVlIiwiaWQiOiIzIiwidHlwZSI6ImNhdGVnb3J5IiwiZXh0ZW5zaW9uX2ZpZWxkcyI6eyJjYXRfb3JkZXIiOiIifX1dfSx7InNvdXJjZSI6InBvc3QiLCJ0aXRsZSI6IlNpZGUgQW5jaWVudCBDaXR5ICYjODIxMTsgQW50YWx5YSIsImluZm93aW5kb3dfY29udGVudCI6IjxkaXYgY2xhc3M9XCJmYy1tYWluXCI+PGRpdiBjbGFzcz1cImZjLWl0ZW0tdGl0bGVcIj5TaWRlIEFuY2llbnQgQ2l0eSAmIzgyMTE7IEFudGFseWEgPHNwYW4gY2xhc3M9XCJmYy1iYWRnZSBpbmZvXCI+VGhpbmdzIHRvIGRvIGluIEFudGFseWEsIFRoaW5ncyB0byBkbyBpbiBUVVJLRVk8L3NwYW4+PC9kaXY+IDxkaXYgY2xhc3M9XCJmYy1pdGVtLWZlYXR1cmVkX2ltYWdlXCI+PGRpdiBjbGFzcz1cImZjLWZlYXR1cmUtaW1nXCI+PGltZyBsb2FkaW5nPVwibGF6eVwiIGRlY29kaW5nPVwiYXN5bmNcIiBhbHQ9XCJTaWRlIEFuY2llbnQgQ2l0eSAmIzgyMTE7IEFudGFseWFcIiB3aWR0aD1cIjI5N1wiIGhlaWdodD1cIjMwMFwiIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zaWRlLWFuY2llbnQtY2l0eS1kcm9uZS1waG90by0xLTI5N3gzMDAuanBnXCIgY2xhc3M9XCJ3cC1wb3N0LWltYWdlICAgd3BnbXBfZmVhdHVyZWRfaW1hZ2VcIiA+PC9kaXY+IDwvZGl2PldoZW4gbWFraW5nIHlvdXIgdmFjYXRpb24gcGxhbnMsIEkgd291bGQgc2F5IGRvIG5vdCBza2lwIHRoaXMgcGVuaW5zdWxhLiBCZWNhdXNlIFNpZGUgaXMgYSBiZWF1dGlmdWwgaGlzdG9yaWNhbCBwZW5pbnN1bGEgd2hlcmUgeW91IHdpbGwgYWRtaXJlIHRoZSBoaXN0b3JpY2FsIHRleHR1cmVzIHdoaWxlIHRyYXZlbGluZyBhbmQgd2l0bmVzcyBhbGwgdGhlIGV4cGVyaWVuY2VzIG9uIHRoZSBzcG90LCBlbmpveSB0aGUgc2VhIGFuZCBBcG9sbG8mIzgyMTc7cyBncmVldGluZyB0aGUgc3VuLiAmIzgyMjA7SG93IGNhbiBJIGdvIHRvIHRoZSBTaWRlIEFuY2llbnQgQ2l0eT8mIzgyMjE7IFRoZSBbJmhlbGxpcDtdPGFkZHJlc3M+PGI+QWRkcmVzcyA6IDwvYj57bWFya2VyX2FkZHJlc3N9PC9hZGRyZXNzPjxhIHRhcmdldD1cIl9ibGFua1wiICBjbGFzcz1cImZjLWJ0biBmYy1idG4tc21hbGwgZmMtYnRuLXJlZFwiIGhyZWY9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvc2lkZS1hbmNpZW50LWNpdHktYW50YWx5YS8xMDUvXCI+UmVhZCBNb3JlLi4uPC9hPjwvZGl2PiIsImNvbnRlbnQiOiJXaGVuIG1ha2luZyB5b3VyIHZhY2F0aW9uIHBsYW5zLCBJIHdvdWxkIHNheSBkbyBub3Qgc2tpcCB0aGlzIHBlbmluc3VsYS4gQmVjYXVzZSBTaWRlIGlzIGEgYmVhdXRpZnVsIGhpc3RvcmljYWwgcGVuaW5zdWxhIHdoZXJlIHlvdSB3aWxsIGFkbWlyZSB0aGUgaGlzdG9yaWNhbCB0ZXh0dXJlcyB3aGlsZSB0cmF2ZWxpbmcgYW5kIHdpdG5lc3MgYWxsIHRoZSBleHBlcmllbmNlcyBvbiB0aGUgc3BvdCwgZW5qb3kgdGhlIHNlYSBhbmQgQXBvbGxvJiM4MjE3O3MgZ3JlZXRpbmcgdGhlIHN1bi4gJiM4MjIwO0hvdyBjYW4gSSBnbyB0byB0aGUgU2lkZSBBbmNpZW50IENpdHk/JiM4MjIxOyBUaGUgWyZoZWxsaXA7XSIsImFkZHJlc3MiOiJTaWRlLCBMaW1hbiBDZC4gTm86MiwgMDczMzAgTWFuYXZnYXQvQW50YWx5YSwgVFx1MDBmY3JraXllIiwibG9jYXRpb24iOnsibGF0IjoiMzYuNzY3OTA2OCIsInN0YXRlIjoiQW50YWx5YSIsImNvdW50cnkiOiJUXHUwMGZjcmtpeWUiLCJsbmciOiIzMS4zOTA0Mzc2Iiwib25jbGlja19hY3Rpb24iOiJtYXJrZXIiLCJyZWRpcmVjdF9wZXJtYWxpbmsiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvc2lkZS1hbmNpZW50LWNpdHktYW50YWx5YS8xMDUvIiwiem9vbSI6NSwiZXh0cmFfZmllbGRzIjp7InBvc3RfZXhjZXJwdCI6IldoZW4gbWFraW5nIHlvdXIgdmFjYXRpb24gcGxhbnMsIEkgd291bGQgc2F5IGRvIG5vdCBza2lwIHRoaXMgcGVuaW5zdWxhLiBCZWNhdXNlIFNpZGUgaXMgYSBiZWF1dGlmdWwgaGlzdG9yaWNhbCBwZW5pbnN1bGEgd2hlcmUgeW91IHdpbGwgYWRtaXJlIHRoZSBoaXN0b3JpY2FsIHRleHR1cmVzIHdoaWxlIHRyYXZlbGluZyBhbmQgd2l0bmVzcyBhbGwgdGhlIGV4cGVyaWVuY2VzIG9uIHRoZSBzcG90LCBlbmpveSB0aGUgc2VhIGFuZCBBcG9sbG8mIzgyMTc7cyBncmVldGluZyB0aGUgc3VuLiAmIzgyMjA7SG93IGNhbiBJIGdvIHRvIHRoZSBTaWRlIEFuY2llbnQgQ2l0eT8mIzgyMjE7IFRoZSBbJmhlbGxpcDtdIiwicG9zdF9jb250ZW50IjoiPCEtLSB3cDppbWFnZSB7XCJpZFwiOjE0NSxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zaWRlLWFuY2llbnQtY2l0eS1kcm9uZS1waG90by0xLTEwMTN4MTAyNC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTE0NVwiLz48ZmlnY2FwdGlvbiBjbGFzcz1cIndwLWVsZW1lbnQtY2FwdGlvblwiPmluc3RhZ3JhbTombmJzcDs8YSBocmVmPVwiaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9heXRla2ludXphci9cIj5AYXl0ZWtpbnV6YXI8L2E+PC9maWdjYXB0aW9uPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+V2hlbiBtYWtpbmcgeW91ciB2YWNhdGlvbiBwbGFucywgSSB3b3VsZCBzYXkgZG8gbm90IHNraXAgdGhpcyBwZW5pbnN1bGEuIEJlY2F1c2UgU2lkZSBpcyBhIGJlYXV0aWZ1bCBoaXN0b3JpY2FsIHBlbmluc3VsYSB3aGVyZSB5b3Ugd2lsbCBhZG1pcmUgdGhlIGhpc3RvcmljYWwgdGV4dHVyZXMgd2hpbGUgdHJhdmVsaW5nIGFuZCB3aXRuZXNzIGFsbCB0aGUgZXhwZXJpZW5jZXMgb24gdGhlIHNwb3QsIGVuam95IHRoZSBzZWEgYW5kIEFwb2xsbydzIGdyZWV0aW5nIHRoZSBzdW4uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnJhbmstbWF0aC90b2MtYmxvY2sge1wiaGVhZGluZ3NcIjpbe1wia2V5XCI6XCJjOWIyNmI1Mi04ZjMzLTRkOTgtODkxMi04MmM4OTdjNTdhZmVcIixcImNvbnRlbnRcIjpcIlxcdTAwMjJIb3cgY2FuIEkgZ28gdG8gdGhlIFNpZGUgQW5jaWVudCBDaXR5P1xcdTAwMjJcIixcImxldmVsXCI6MixcImxpbmtcIjpcIiNob3ctY2FuLWktZ28tdG8tdGhlLXNpZGUtYW5jaWVudC1jaXR5XCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiNGM4MWU5NmMtZjljNS00MjIyLTgxY2QtYjRhOTQyNzA4MWVlXCIsXCJjb250ZW50XCI6XCJHZW5lcmFsIEluZm8gXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjZ2VuZXJhbC1pbmZvXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiZDA1MDY3YjItZDBiZC00YmNjLWFiZGUtMDRhOTIzMjAyZjJkXCIsXCJjb250ZW50XCI6XCJIaXN0b3J5XCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjaGlzdG9yeVwiLFwiZGlzYWJsZVwiOmZhbHNlLFwiaXNVcGRhdGVkXCI6ZmFsc2UsXCJpc0dlbmVyYXRlZExpbmtcIjp0cnVlfSx7XCJrZXlcIjpcIjEwOTYyYmI4LTAzNzctNDQwOS1iOTRjLTMwMjgxMjZmNzI3MlwiLFwiY29udGVudFwiOlwiRGV0YWlscyBhYm91dCB0aGUgTW9udW1lbnRzXCIsXCJsZXZlbFwiOjIsXCJsaW5rXCI6XCIjZGV0YWlscy1hYm91dC10aGUtbW9udW1lbnRzXCIsXCJkaXNhYmxlXCI6ZmFsc2UsXCJpc1VwZGF0ZWRcIjpmYWxzZSxcImlzR2VuZXJhdGVkTGlua1wiOnRydWV9LHtcImtleVwiOlwiODEzZGYxYjktZTk3My00YWRmLThhYTYtMDdkMTc0Zjg0YmRmXCIsXCJjb250ZW50XCI6XCJTeW1ib2wgb2YgU2lkZSBBbmNpZW50IENpdHlcIixcImxldmVsXCI6MixcImxpbmtcIjpcIiNzeW1ib2wtb2Ytc2lkZS1hbmNpZW50LWNpdHlcIixcImRpc2FibGVcIjpmYWxzZSxcImlzVXBkYXRlZFwiOmZhbHNlLFwiaXNHZW5lcmF0ZWRMaW5rXCI6dHJ1ZX1dLFwibGlzdFN0eWxlXCI6XCJ1bFwifSAtLT5cbjxkaXYgY2xhc3M9XCJ3cC1ibG9jay1yYW5rLW1hdGgtdG9jLWJsb2NrXCIgaWQ9XCJyYW5rLW1hdGgtdG9jXCI+PG5hdj48dWw+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiNob3ctY2FuLWktZ28tdG8tdGhlLXNpZGUtYW5jaWVudC1jaXR5XCI+XCJIb3cgY2FuIEkgZ28gdG8gdGhlIFNpZGUgQW5jaWVudCBDaXR5P1wiPC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiNnZW5lcmFsLWluZm9cIj5HZW5lcmFsIEluZm8gPC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiNoaXN0b3J5XCI+SGlzdG9yeTwvYT48L2xpPjxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIjZGV0YWlscy1hYm91dC10aGUtbW9udW1lbnRzXCI+RGV0YWlscyBhYm91dCB0aGUgTW9udW1lbnRzPC9hPjwvbGk+PGxpIGNsYXNzPVwiXCI+PGEgaHJlZj1cIiNzeW1ib2wtb2Ytc2lkZS1hbmNpZW50LWNpdHlcIj5TeW1ib2wgb2YgU2lkZSBBbmNpZW50IENpdHk8L2E+PC9saT48L3VsPjwvbmF2PjwvZGl2PlxuPCEtLSAvd3A6cmFuay1tYXRoL3RvYy1ibG9jayAtLT5cblxuPCEtLSB3cDpoZWFkaW5nIC0tPlxuPGgyIGNsYXNzPVwid3AtYmxvY2staGVhZGluZ1wiIGlkPVwiaG93LWNhbi1pLWdvLXRvLXRoZS1zaWRlLWFuY2llbnQtY2l0eVwiPjxzdHJvbmc+XCJIb3cgY2FuIEkgZ28gdG8gdGhlIFNpZGUgQW5jaWVudCBDaXR5P1wiPC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIFNpZGUgQW5jaWVudCBDaXR5IGlzIGxvY2F0ZWQgaW4gdGhlIE1hbmF2Z2F0IERpc3RyaWN0LCA3NSBrbSBlYXN0IG9mIEFudGFseWEuIFRvIHJlYWNoIGl0LCB5b3UgY2FuIGhlYWQgdG93YXJkcyB0aGUgU2lkZSBOZWlnaGJvdXJob29kLiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGFsc28gdGFrZSB0aGUgU2lkZSBidXNlcyBmcm9tIHRoZSBjaXR5IGNlbnRyZSBhY2NvcmRpbmcgdG8geW91ciBwcmVmZXJlbmNlLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpjb3ZlciB7XCJ1cmxcIjpcImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zaWRlLWFuY2llbnQtY2l0eS1sb2NhdGVkLW9uLWdvb2dsZS1tYXBzLmpwZ1wiLFwiaWRcIjoxNDIsXCJkaW1SYXRpb1wiOjUwLFwibWluSGVpZ2h0XCI6MzgxLFwibWluSGVpZ2h0VW5pdFwiOlwicHhcIixcInN0eWxlXCI6e1wiY29sb3JcIjp7fX19IC0tPlxuPGRpdiBjbGFzcz1cIndwLWJsb2NrLWNvdmVyXCIgc3R5bGU9XCJtaW4taGVpZ2h0OjM4MXB4XCI+PHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJ3cC1ibG9jay1jb3Zlcl9fYmFja2dyb3VuZCBoYXMtYmFja2dyb3VuZC1kaW1cIj48L3NwYW4+PGltZyBjbGFzcz1cIndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kIHdwLWltYWdlLTE0MlwiIGFsdD1cIlwiIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zaWRlLWFuY2llbnQtY2l0eS1sb2NhdGVkLW9uLWdvb2dsZS1tYXBzLmpwZ1wiIGRhdGEtb2JqZWN0LWZpdD1cImNvdmVyXCIvPjxkaXYgY2xhc3M9XCJ3cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyXCI+PCEtLSB3cDpwYXJhZ3JhcGgge1wiYWxpZ25cIjpcImNlbnRlclwiLFwiZm9udFNpemVcIjpcImxhcmdlXCJ9IC0tPlxuPHAgY2xhc3M9XCJoYXMtdGV4dC1hbGlnbi1jZW50ZXIgaGFzLWxhcmdlLWZvbnQtc2l6ZVwiPjxzdHJvbmc+PG1hcmsgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwgMCwgMCwgMClcIiBjbGFzcz1cImhhcy1pbmxpbmUtY29sb3IgaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWNvbG9yXCI+Q0xJQ0sgVE8gR08gPC9tYXJrPjwvc3Ryb25nPjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT48L2Rpdj48L2Rpdj5cbjwhLS0gL3dwOmNvdmVyIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJnZW5lcmFsLWluZm9cIj48c3Ryb25nPkdlbmVyYWwgSW5mbyA8L3N0cm9uZz48L2gyPlxuPCEtLSAvd3A6aGVhZGluZyAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5TaWRlLCB0aGUgbW9zdCBpbXBvcnRhbnQgcG9ydCBjaXR5IG9mIFBhbXBoeWxpYSBpbiBhbmNpZW50IHRpbWVzLCB3YXMgZXN0YWJsaXNoZWQgb24gYSBwZW5pbnN1bGEgdGhhdCB3YXMgMzUwLTQwMCBtZXRyZXMgd2lkZS4gSXQgaXMgbG9jYXRlZCA4MCBraWxvbWV0cmVzIGVhc3Qgb2YgQW50YWx5YSBhbmQgNyBraWxvbWV0cmVzIHNvdXRod2VzdCBvZiBNYW5hdmdhdC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aW1hZ2Uge1wiaWRcIjoxNDEsXCJ3aWR0aFwiOlwiNjk2cHhcIixcImhlaWdodFwiOlwiYXV0b1wiLFwic2l6ZVNsdWdcIjpcImZ1bGxcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZSBzaXplLWZ1bGwgaXMtcmVzaXplZFwiPjxpbWcgc3JjPVwiaHR0cHM6Ly90cmF2ZWx0dXJrZXkub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxL3NpZGUtYW50aWsta2VudGkuanBnXCIgYWx0PVwiXCIgY2xhc3M9XCJ3cC1pbWFnZS0xNDFcIiBzdHlsZT1cIndpZHRoOjY5NnB4O2hlaWdodDphdXRvXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+U2lkZSBpcyBhIHBlbmluc3VsYSBsb2NhdGVkIGluIHRoZSBNYW5hdmdhdCBkaXN0cmljdCBvZiBBbnRhbHlhLiBJdCBpcyBiZWxpZXZlZCB0byBoYXZlIGJlZW4gZXN0YWJsaXNoZWQgYmVmb3JlIHRoZSA3dGggY2VudHVyeSBCQyBhbmQgaXMgbmFtZWQgYWZ0ZXIgdGhlIHBvbWVncmFuYXRlLCB3aGljaCB3YXMgY29uc2lkZXJlZCBhIHNhY3JlZCBmcnVpdCBieSB0aGUgYW5jaWVudCBBbmF0b2xpYW4gZ29kZGVzc2VzLiBUaGUgZW1ibGVtIG9mIHRoZSBjaXR5IGlzIGFsc28gYSBwb21lZ3JhbmF0ZS4gQWNjb3JkaW5nIHRvIGluc2NyaXB0aW9ucywgdGhlIGxhbmd1YWdlIHNwb2tlbiBpbiBTaWRlIHdhcyBjYWxsZWQgXCJTaWRlY2VcIiBhbmQgd2FzIHNwZWNpZmljIHRvIHRoZSBjaXR5IHVudGlsIHRoZSAzcmQgY2VudHVyeSBCQy4gQWx0aG91Z2ggU2lkZWNlIGlzIGJlbGlldmVkIHRvIGhhdmUgYmVlbiBhIGxhbmd1YWdlIG9mIEx1d2lhbiBvcmlnaW4gc3Bva2VuIGJ5IHRoZSBpbmRpZ2Vub3VzIHBlb3BsZSBvZiBBbmF0b2xpYSwgaXQgaXMgc3RpbGwgbm90IGZ1bGx5IGFuYWx5emVkIGFuZCBpcyBjb25zaWRlcmVkIG9uZSBvZiB0aGUgSW5kby1FdXJvcGVhbiBsYW5ndWFnZXMuIFRocm91Z2hvdXQgaGlzdG9yeSwgU2lkZSB3YXMgcnVsZWQgYnkgc2V2ZXJhbCBlbXBpcmVzLCBpbmNsdWRpbmcgdGhlIEhpdHRpdGVzLCBMeWRpYW5zLCBQZXJzaWFucywgUm9tYW5zLCBCeXphbnRpbmVzLCBhbmQgT3R0b21hbnMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmltYWdlIC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlXCI+PGltZyBzcmM9XCJodHRwczovL3d3dy5rdWx0dXJwb3J0YWxpLmdvdi50ci9jb250ZW50cy9pbWFnZXMvMjAxODA5MDYxNTQ0MTQ2NzJfc2lkZSUyMGxvZ29sdS5qcGdcIiBhbHQ9XCJcIi8+PC9maWd1cmU+XG48IS0tIC93cDppbWFnZSAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5QaG90bzogVHVya2V5IEN1bHR1cmUgUG9ydGFsPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJoaXN0b3J5XCI+PHN0cm9uZz5IaXN0b3J5PC9zdHJvbmc+PC9oMj5cbjwhLS0gL3dwOmhlYWRpbmcgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+PC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlNpZGUgd2FzIGVzdGFibGlzaGVkIGFzIGEgc2V0dGxlbWVudCBjZW50ZXIgaW4gdGhlIDd0aCBjZW50dXJ5IEJDLiBJdCBjYW1lIHVuZGVyIHRoZSBydWxlIG9mIHRoZSBMeWRpYW4gS2luZ2RvbSBpbiB0aGUgNnRoIGNlbnR1cnkgQkMsIGFsb25nIHdpdGggdGhlIHJlc3Qgb2YgUGFtcGh5bGlhLiBBZnRlciB0aGUgZmFsbCBvZiB0aGUgTHlkaWFuIEtpbmdkb20gaW4gNTQ3LzQ2IEJDLCBpdCB3YXMgcnVsZWQgYnkgdGhlIFBlcnNpYW5zLiBEdXJpbmcgdGhpcyBwZXJpb2QsIHRoZSBjaXR5IG1hbmFnZWQgdG8gbWFpbnRhaW4gc29tZSBvZiBpdHMgZnJlZWRvbSBhbmQgZXZlbiBtaW50ZWQgaXRzIG93biBjb2lucy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SW4gMzM0IEJDLCBTaWRlIHdlbGNvbWVkIHRoZSBNYWNlZG9uaWFuIGtpbmcsIEFsZXhhbmRlciB0aGUgR3JlYXQsIHdpdGhvdXQgYW55IHJlc2lzdGFuY2UgZHVyaW5nIGhpcyBBbmF0b2xpYW4gY2FtcGFpZ24uIExhdGVyLCBpdCBiZWNhbWUgb25lIG9mIHRoZSBtYWpvciBjb2luIG1pbnRpbmcgY2VudGVycyBlc3RhYmxpc2hlZCBieSBBbGV4YW5kZXIuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkFmdGVyIEFsZXhhbmRlcidzIGRlYXRoLCBTaWRlIGNvbnN0YW50bHkgY2hhbmdlZCBoYW5kcyBiZXR3ZWVuIGRpZmZlcmVudCBraW5nZG9tcyBkdXJpbmcgdGhlIEhlbGxlbmlzdGljIHBlcmlvZC4gSXQgY2FtZSB1bmRlciB0aGUgcnVsZSBvZiB0aGUgUHRvbGVtaWVzIGluIHRoZSAzcmQgY2VudHVyeSBCQywgYW5kIGxhdGVyIHVuZGVyIHRoZSBTZWxldWNpZHMgaW4gMjE1LTE4OSBCQy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+Rm9sbG93aW5nIHRoZSBTZWxldWNpZHMnIGRlZmVhdCBpbiB0aGUgd2FyIGFnYWluc3QgdGhlIFJvbWFucywgdGhlIEFwYW1laWEgUGVhY2UgdHJlYXR5IG9mIDE4OCBCQyBncmFudGVkIFBhbXBoeWxpYSBhbmQgU2lkZSB0byB0aGUgQmVyZ2FtYSBLaW5nZG9tLiBIb3dldmVyLCBTaWRlIHJlZ2FpbmVkIGl0cyBpbmRlcGVuZGVuY2UgYWZ0ZXIgc29tZSB0aW1lIGFuZCBleHBlcmllbmNlZCBvbmUgb2YgdGhlIGJyaWdodGVzdCBwZXJpb2RzIGluIGl0cyBoaXN0b3J5LjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDppbWFnZSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly93d3cua3VsdHVycG9ydGFsaS5nb3YudHIvY29udGVudHMvaW1hZ2VzL0FOVEFMWUEtLVMlYzQlYjBERS0lMjBTRVJWRVQlMjBVWUdVTiUyMDIwMTkwNTEzXzIlMjAoNCkuanBnXCIgYWx0PVwiXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+UGhvdG86IFNlcnZldCBVeWd1bjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD5JdCBpcyB3b3J0aCBub3RpbmcgdGhhdCBTaWRlIHdhcyBhbiBpbXBvcnRhbnQgY3VsdHVyYWwgY2VudGVyIGluIHRoZSBFYXN0ZXJuIE1lZGl0ZXJyYW5lYW4gZHVyaW5nIGl0cyB0aW1lLiBVbmZvcnR1bmF0ZWx5LCB0aGlzIHBlcmlvZCBvZiBwcm9zcGVyaXR5IGRpZCBub3QgbGFzdCBsb25nLiBQaXJhY3kgYmVnYW4gdG8gc3ByZWFkIGluIHRoZSByZWdpb25zIG9mIFBpc2lkaWEgYW5kIHRoZSBtb3VudGFpbm91cyBDaWxpY2lhIGR1cmluZyB0aGUgMXN0IGNlbnR1cnkgQkMsIHRoZW4gaXQgc3ByZWFkIHRvIFBhbXBoeWxpYSBhbmQgZXZlbnR1YWxseSByZWFjaGVkIFNpZGUuIFRoZSBTaWRlbGlzIHdlcmUgdW5hYmxlIHRvIGZpZ2h0IHRoZSBwaXJhdGVzIGFuZCBoYWQgdG8gYWxsb3cgdGhlbSB0byB1c2UgdGhlaXIgaGFyYm9ycyBhbmQgbWFya2V0cy4gRmluYWxseSwgaW4gNzggQkMsIHRoZSBSb21hbiBDb25zdWwgUHVibGl1cyBTZXJ2aWxpdXMgc2F2ZWQgdGhlIHJlZ2lvbiBmcm9tIHBpcmF0ZXMsIGFuZCBTaWRlLCBsaWtlIG90aGVyIGNpdGllcyBpbiBQYW1waHlsaWEsIHdhcyBpbmNvcnBvcmF0ZWQgaW50byB0aGUgUm9tYW4gRW1waXJlLjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDppbWFnZSAtLT5cbjxmaWd1cmUgY2xhc3M9XCJ3cC1ibG9jay1pbWFnZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly93d3cua3VsdHVycG9ydGFsaS5nb3YudHIvY29udGVudHMvaW1hZ2VzL0FOVEFMWUEtUyVjNCViMERFLUclYzMlOWNMQ0FOQUNBUiUyMCg1MikuanBnXCIgYWx0PVwiXCIvPjwvZmlndXJlPlxuPCEtLSAvd3A6aW1hZ2UgLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+UGhvdG86IEdcdTAwZmNsY2FuIEFjYXI8L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+SW4gMjUgQkMsIEF1Z3VzdHVzIGVzdGFibGlzaGVkIFBhbXBoeWxpYSBhcyBhIHByb3ZpbmNlIHVuZGVyIGhpcyBkaXJlY3QgYXV0aG9yaXR5LiBBcyBhIHJlc3VsdCwgU2lkZSBiZWNhbWUgYSBjaXR5IG9mIHRoZSBSb21hbiBwcm92aW5jZS4gRHVyaW5nIHRoZSAybmQgYW5kIDNyZCBjZW50dXJpZXMgQUQsIFNpZGUgZmxvdXJpc2hlZCwgYnV0IGJ5IHRoZSA0dGggY2VudHVyeSwgaXQgaGFkIGJlY29tZSBhIHBvb3IgQ2hyaXN0aWFuIGNpdHkuIFNpZGUncyB0aGlyZCBhbmQgZmluYWwgcGVyaW9kIG9mIHByb3NwZXJpdHkgb2NjdXJyZWQgZHVyaW5nIHRoZSA1dGggYW5kIDZ0aCBjZW50dXJpZXMsIHdoZW4gaXQgYmVjYW1lIHRoZSBjYXBpdGFsIG9mIHRoZSBFYXN0ZXJuIFBhbXBoeWxpYSBNZXRyb3BvbGl0YW5hdGUuIEhvd2V2ZXIsIGluIHRoZSA5dGggYW5kIDEwdGggY2VudHVyaWVzLCBBcmFiIHJhaWRzIHdlYWtlbmVkIHRoZSBjaXR5LCBhbmQgaXQgd2FzIHJlZmVycmVkIHRvIGFzIGEgXCJuZXN0IG9mIHBpcmF0ZXNcIiBieSBCeXphbnRpbmUgRW1wZXJvciBDb25zdGFudGlub3MgUG9ycGh5cm9nZW5uZXRvcyBpbiBoaXMgd29yayBcIkRlIFRoZW1hdGlidXNcIi4gVGhlIEFyYWIgZ2VvZ3JhcGhlciBJZHJpc2kgY2FsbGVkIFNpZGUgXCJCdXJudCBBbnRhbHlhXCIgYW5kIHJlcG9ydGVkIHRoYXQgaXRzIGluaGFiaXRhbnRzIGhhZCBiZWVuIHJlbG9jYXRlZCB0byBcIk5ldyBBbnRhbHlhXCIsIHR3byBkYXlzIGF3YXkuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSB2aWxsYWdlIG9mIFNlbGltaXllIFZpbGxhZ2Ugd2FzIGVzdGFibGlzaGVkIGJ5IEd5cmd5cmlhbiBpbW1pZ3JhbnRzIGluIHRoZSBlYXJseSAyMHRoIGNlbnR1cnkgb24gdGhlIHJ1aW5zIG9mIHRoZSBhbmNpZW50IGNpdHkga25vd24gYXMgU2lkZS4gVGhlIGNpdHkgb2YgU2lkZSB3YXMgYnVpbHQgb24gYSBwZW5pbnN1bGEgYW5kIGlzIGNoYXJhY3Rlcml6ZWQgYnkgYSBtb251bWVudGFsIHN0cmVldCB0aGF0IGJlZ2lucyBmcm9tIHRoZSBtYWluIGdhdGUgb2YgdGhlIGNpdHkgYW5kIGV4dGVuZHMgYWxvbmcgdGhlIHBlbmluc3VsYS4gVGhpcyBtYWluIHN0cmVldCBydW5zIGFsbW9zdCBzdHJhaWdodCBleGNlcHQgZm9yIHRoZSBjdXJ2ZSBpbiBmcm9udCBvZiB0aGUgVGhlYXRlciwgYW5kIGVuZHMgd2l0aCBhIGxhcmdlIHNxdWFyZSBuZWFyIHRoZSB0ZW1wbGVzLiBUaGUgY2l0eSdzIHNlY29uZCBtYWpvciBzdHJlZXQgZXh0ZW5kcyBmcm9tIHRoZSBcIkdyZWF0IEdhdGVcIiB0b3dhcmRzIHRoZSBzb3V0aCBvZiB0aGUgY2l0eSwgYW5kIGJvdGggc3RyZWV0cyBhcmUgbGluZWQgd2l0aCBjb2xvbm5hZGVkIHBvcnRpY29zIHdpdGggQ29yaW50aGlhbiBjYXBpdGFscyBvbiBib3RoIHNpZGVzIGFuZCBhIHJvdyBvZiBzaG9wcyBiZWhpbmQgdGhlbS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aW1hZ2UgLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vd3d3Lmt1bHR1cnBvcnRhbGkuZ292LnRyL2NvbnRlbnRzL2ltYWdlcy9BTlRBTFlBLVMlYzQlYjBERS1HJWMzJTljTENBTkFDQVIlMjAoNTgpLmpwZ1wiIGFsdD1cIlwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJkZXRhaWxzLWFib3V0LXRoZS1tb251bWVudHNcIj48c3Ryb25nPkRldGFpbHMgYWJvdXQgdGhlIE1vbnVtZW50czwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkFmdGVyIGxlYXZpbmcgdGhlIG1haW4gcm9hZCwgeW91IHdpbGwgZW50ZXIgdGhyb3VnaCB0aGUgbWFpbiBnYXRlIG9mIHRoZSBsYW5kIHdhbGxzIHRoYXQgc3Vycm91bmQgdGhlIGNpdHkuIFRoZXNlIHdhbGxzIGRhdGUgYmFjayB0byB0aGUgMm5kIGNlbnR1cnkgQkMgYW5kIGFyZSBwcm90ZWN0ZWQgYnkgdHdvIHRvd2VycyBsb2NhdGVkIG5lYXJieS4gT25jZSB5b3UgcGFzcyB0aHJvdWdoIHRoZSBnYXRlLCB5b3Ugd2lsbCBzZWUgdGhlIDkgcnVubmluZyBmb3VudGFpbnMgb2YgdGhlIG1vbnVtZW50YWwgZm91bnRhaW4gKE55bXBoYWV1bSksIHdoaWNoIGhhcyB0aHJlZSBsYXJnZSBuaWNoZXMgb24gdGhlIHJvYWRzaWRlLiBUaGUgc3RydWN0dXJlLCBrbm93biBhcyB0aGUgOSBmb3VudGFpbnMsIGdldHMgaXRzIG9yaWdpbiBmcm9tIHRoZSBNYW5hdmdhdCBTdHJlYW0uIFRoZSBidWlsZGluZyBpcyAyMCBtZXRlcnMgaGlnaCBhbmQgNTIgbWV0ZXJzIHdpZGUsIGJ1dCBkdWUgdG8gZWFydGhxdWFrZXMsIGl0cyBoZWlnaHQgaGFzIGRlY3JlYXNlZCB0byAxMiBtZXRlcnMuIERlc3BpdGUgdGhlIHJlc3RvcmF0aW9uIHdvcmssIHRoZSBmb3VudGFpbiBkb2VzIG5vdCBmbG93LCBidXQgaXQgaXMgc3RpbGwgYSBmYXNjaW5hdGluZyBzaWdodCB0byBzZWUgaW4gaXRzIHJvdWdobHkgZmluaXNoZWQgZm9ybS48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+UmlnaHQgbmV4dCB0byB0aGUgZm91bnRhaW4geW91IGNhbiBzZWUgMiBjb2xvbm5hZGVkIHJvYWRzLiBUaGUgbWFpbiBjb2xvbm5hZGVkIHJvYWQgaXMgb2NjdXBpZWQgYnkgdHJhZmZpYyBhbmQgaWYgeW91IGNvbnRpbnVlIG9uIHRoaXMgcm9hZCwgc21hbGwgc21hbGwgc2hvcHMsIGFnb3JhLCB0aGVhdGVyLCBiYXRocyBhbmQgaG91c2VzIG9uIHRoZSBzaWRlcyB0YWtlIHlvdSB0byB0aGUgcG9ydCBvZiB0aGUgY2l0eS4gVGhlIHNlY29uZCBvbmUgc3RhcnRzIGp1c3QgdG8gdGhlIGxlZnQgb2YgdGhlIGZvdW50YWluIGFuZCBlbmRzIGF0IHRoZSBoYXJib3IgYW5kIHRoZSB0ZW1wbGVzLiBJc24ndCBpdCBhbiBpbnRlcmVzdGluZyBjb2luY2lkZW5jZSB0aGF0IGJvdGggY29sb25uYWRlZCBzdHJlZXRzIGludGVyc2VjdCB0aGUgaGFyYm9yPyA9KTwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDppbWFnZSB7XCJpZFwiOjE0MyxcInNpemVTbHVnXCI6XCJsYXJnZVwiLFwibGlua0Rlc3RpbmF0aW9uXCI6XCJub25lXCJ9IC0tPlxuPGZpZ3VyZSBjbGFzcz1cIndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vdHJhdmVsdHVya2V5Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS9zaWRlLWFudGlrLTEwMjR4MTAyNC5qcGdcIiBhbHQ9XCJcIiBjbGFzcz1cIndwLWltYWdlLTE0M1wiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkFzIHdlIGNvbnRpbnVlIG9uIHRoZSBtYWluIGNvbG9ubmFkZWQgcm9hZCwgd2UgY29tZSBhY3Jvc3MgdGhlIFZlc3Bhc2lhbnVzIGZvdW50YWluIGFuZCBnZXQgdG8gc2VlIHRoZSBzaG9wcyBhbmQgaG91c2VzIG9mIHRoZSB0aW1lLiBUaGUgVmVzcGFzaWFudXMgZm91bnRhaW4gaXMgbG9jYXRlZCBhdCB0aGUgbmFycm93ZXN0IHBvaW50IG9mIHRoZSBwZW5pbnN1bGEsIGFuZCBuZXh0IHRvIGl0IHN0YW5kcyBhIDE1LW1ldGVyLWhpZ2ggYXJjaCwgd2hpY2ggaXMgb25lIG9mIHRoZSBmZXcgc3RydWN0dXJlcyB0aGF0IGhhdmUgc3Vydml2ZWQgaW4gYWxsIGl0cyBzcGxlbmRvci4gVW5mb3J0dW5hdGVseSwgdG9kYXksIHRyYWZmaWMgZmxvd3MgdGhyb3VnaCB0aGlzIGdhdGUsIHdoaWNoIGlzIHJlYWxseSBzYWQgZHVlIHRvIGdlb2dyYXBoaWNhbCBpbmFkZXF1YWN5IGFuZCB0ZWNobmljYWwgaW1wb3NzaWJpbGl0aWVzLiBIb3dldmVyLCBpdCBpcyB2ZXJ5IGRpZmZpY3VsdCB0byBjaGFuZ2UgdGhpcyBzaXR1YXRpb24uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPk9uY2UgeW91IHBhc3MgdGhyb3VnaCB0aGlzIGFyY2gsIHlvdSB3aWxsIHNlZSB0aGUgdGhlYXRlciwgd2hpY2ggaXMgb25lIG9mIHRoZSByYXJlIHN0cnVjdHVyZXMgb2YgU2lkZS4gVGhlIHRoZWF0ZXIgZGF0ZXMgYmFjayB0byB0aGUgMm5kIGNlbnR1cnkgQUQgYW5kIGlzIDIwIG1ldGVycyBoaWdoLCB3aXRoIGEgY2FwYWNpdHkgb2YgYXBwcm94aW1hdGVseSAxNSwwMDAgcGVvcGxlLiBUaGUgc3RhZ2UgYnVpbGRpbmcgaGFzIHRocmVlIGZsb29ycywgYW5kIHdoYXQgbWFrZXMgdGhpcyB0aGVhdGVyIHVuaXF1ZSBpcyB0aGF0IGl0IHdhcyBidWlsdCBvbiBhcmNoZXMgZHVlIHRvIGl0cyBnZW9ncmFwaGljYWwgbG9jYXRpb24sIHdoZXJlYXMgYWxsIG90aGVyIHRoZWF0ZXJzIHdlcmUgYnVpbHQgYmVoaW5kIHRoZSBtb3VudGFpbi4gSW4gdGhlIFJvbWFuIHBlcmlvZCwgdGhlIG9yY2hlc3RyYSBwYXJ0IHdhcyBzdXJyb3VuZGVkIGJ5IHJhaWxpbmdzIGZvciBnbGFkaWF0b3IgYW5kIHdpbGQgYW5pbWFsIHN0cnVnZ2xlcywgYW5kIGluIHRoZSBCeXphbnRpbmUgcGVyaW9kLCB0aGUgdGhlYXRlciB3YXMgdXNlZCBmb3IgQ2hyaXN0aWFuIHJpdHVhbHMgYW5kIGhhZCBhcmNoaXRlY3R1cmFsbHkgcmljaCBvcm5hbWVudHMuIE91dHNpZGUgdGhlIHRoZWF0ZXIsIHRoZXJlIGlzIGEgZ2FsbGVyeSB3aXRoIDE0IHNob3BzIGFuZCA1IGVudHJhbmNlcy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6aW1hZ2UgLS0+XG48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2VcIj48aW1nIHNyYz1cImh0dHBzOi8vd3d3Lmt1bHR1cnBvcnRhbGkuZ292LnRyL2NvbnRlbnRzL2ltYWdlcy9BTlRBTFlBLVMlYzQlYjBERS1HJWMzJTljTENBTkFDQVIlMjAoNTUpLmpwZ1wiIGFsdD1cIlwiLz48L2ZpZ3VyZT5cbjwhLS0gL3dwOmltYWdlIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkxvY2F0ZWQgbmV4dCB0byB0aGUgdGhlYXRlciwgdGhlIGJhdGhob3VzZSB3YXMgY29uc3RydWN0ZWQgaW4gdGhlIDV0aCBjZW50dXJ5IEFELiBBZnRlciBiZWluZyByZXN0b3JlZCBpbiAxOTYyLCBpdCB3YXMgY29udmVydGVkIGludG8gYSBtdXNldW0uIFRoZSBiYXRoaG91c2UgY29uc2lzdHMgb2YgZm91ciBwYXJ0czogZHJlc3Npbmcgcm9vbXMgKEFwb2R5dGVyaXVtKSwgd2FybSByb29tIChUZXBpZGFyaXVtKSwgaG90IHJvb20gKENhbGRhcml1bSksIGFuZCBjb2xkIHJvb20gKEZyaWdpZGFyaXVtKS4gVXBvbiBlbnRlcmluZyB0aGUgbXVzZXVtLCB3aGljaCBpcyBhbHNvIGtub3duIGFzIHRoZSBoYW1tYW0sIHlvdSBjYW4gb2JzZXJ2ZSB0aGUgaG90IHdhdGVyIHBpcGVzIHVuZGVyIHRoZSB3YWxscy4gVGhpcyB0cmFkaXRpb24gaGFzIGNvbnRpbnVlZCBmcm9tIEJ5emFudGluZSB0byBPdHRvbWFuIHRpbWVzIGFuZCBoYXMgc3Vydml2ZWQgdG8gdGhlIHByZXNlbnQgZGF5LiBNYW55IGFydGlmYWN0cyBiZWxvbmdpbmcgdG8gdGhlIEhlbGxlbmlzdGljLCBSb21hbiwgYW5kIEJ5emFudGluZSBwZXJpb2RzIHN1Y2ggYXMgaW5zY3JpcHRpb25zLCBzY3VscHR1cmVzLCBzYXJjb3BoYWdpLCBwb3J0cmFpdHMsIGFtcGhvcmFzLCBhbmQgdG9tYiBzdGVsZXMgYXJlIGV4aGliaXRlZCBpbiB0aGUgbXVzZXVtLiBNb3N0IG9mIHRoZXNlIGFydGlmYWN0cyB3ZXJlIGV4Y2F2YXRlZCBieSBQcm9mLiBEci4gQXJpZiBNXHUwMGZjZmlkIE1hbnNlbC48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+QWRqYWNlbnQgdG8gdGhlIHRoZWF0ZXIsIHlvdSBjYW4gYWxzbyBmaW5kIHRoZSBUZW1wbGUgb2YgRGlvbnlzdXMuIFRoaXMgdGVtcGxlLCBiZWxvbmdpbmcgdG8gdGhlIGVhcmx5IFJvbWFuIHBlcmlvZCwgaXMgc2l0dWF0ZWQgcmlnaHQgbmV4dCB0byB0aGUgVmVzcGFzaWFudXMgbW9udW1lbnQuIEFsdGhvdWdoIHRoZXJlIGlzIGxpdHRsZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYnVpbGRpbmcsIGl0IGlzIGJlbGlldmVkIHRvIGRhdGUgYmFjayB0byB0aGUgSGVsbGVuaXN0aWMgcGVyaW9kLiBXaXRoIHRoZSBzcHJlYWQgb2YgQ2hyaXN0aWFuaXR5LCB0aGUgdGVtcGxlIGxvc3QgaXRzIHNpZ25pZmljYW5jZSBkdXJpbmcgdGhlIEJ5emFudGluZSBwZXJpb2QgYW5kIHdhcyB1c2VkIGZvciBvdGhlciBwdXJwb3Nlcy48L3A+XG48IS0tIC93cDpwYXJhZ3JhcGggLS0+XG5cbjwhLS0gd3A6cGFyYWdyYXBoIC0tPlxuPHA+VGhlIGFnb3JhLCB3aGljaCBwbGF5ZWQgYSBzaWduaWZpY2FudCByb2xlIGluIGRlY2lzaW9uIG1ha2luZyBkdXJpbmcgdGhvc2UgdGltZXMsIGNhbiBiZSBzZWVuIGZyb20gdGhlIHRoZWF0ZXIgYnV0IGlzIGN1cnJlbnRseSB1bmF2YWlsYWJsZSBmb3IgZW50cnkgZHVlIHRvIG9uZ29pbmcgZXhjYXZhdGlvbnMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkFzIHlvdSBlbnRlciB0aGUgY2l0eSwgeW91IHdpbGwgbm90aWNlIHR3byBjb2xvbm5hZGVkIHJvYWRzLiBPbmNlIHlvdSBlbnRlciB0aGUgY29sb25uYWRlZCByb2FkLCB3aGljaCBleHRlbmRzIGZyb20gdGhlIG1vbnVtZW50YWwgZm91bnRhaW4sIHlvdSB3aWxsIGJlIGdyZWV0ZWQgYnkgdGhlIEd5bW5hc2l1bS4gQ292ZXJpbmcgYSBsYXJnZSBhcmVhLCB0aGlzIGlzIG9uZSBvZiB0aGUgcGxhY2VzIHRoYXQgZnVsZmlsbHMgdGhlIHNheWluZyB0aGF0IGEgc291bmQgbWluZCBpcyBmb3VuZCBpbiBhIHNvdW5kIGJvZHkuIEl0IGlzIG5vdCBkaWZmaWN1bHQgdG8gc2VlIHdoeSwgZ2l2ZW4gaXRzIHNpemUuIFRoZSB0ZW1wbGUgb2YgVHljaGUsIHRoZSBnb2RkZXNzIG9mIGx1Y2sgYW5kIHRoZSBwYXRyb24gZ29kZGVzcyBvZiB0aGUgY2l0eSwgaXMgc2l0dWF0ZWQgcmlnaHQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgR3ltbmFzaXVtIGFuZCB0aGUgVGhlYXRlci4gVGhpcyB0ZW1wbGUgaXMgcXVpdGUgdW5pcXVlIGluIGl0cyBzdHJ1Y3R1cmUsIHdoaWNoIGlzIG5vdCBjb21tb25seSBzZWVuIGluIEFuYXRvbGlhLiBJdCBpcyBiZWxpZXZlZCB0byBiZSBhIGNvcHkgb2YgdGhlIHRlbXBsZSBpbiB0aGUgY2l0eSBvZiBBbnRpb2NoIGFuZCB3YXMgYnVpbHQgaW4gdGhlIDJuZCBjZW50dXJ5IEEuRC4gSG93ZXZlciwgd2UgY2Fubm90IGFuc3dlciB3aHkgdGhlIHRlbXBsZSB3YXMgbm90IGJ1aWx0IGluIHRoZSBtaWRkbGUgb2YgdGhlIGNpdHkgbGlrZSB0aGUgUm9tYW4gYWdvcmFzLiBUaGUgdGVtcGxlIHNpdHMgb24gYSAyLW1ldGVyIHBsYXRmb3JtIGFuZCBpcyBzdXJyb3VuZGVkIGJ5IGEgZ2FsbGVyeSB3aXRoIDEyIGNvbHVtbnMuPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPkFzIHlvdSB3YWxrIHRvd2FyZHMgdGhlIHRlbXBsZXMgb2YgQXRoZW5hIGFuZCBBcG9sbG8gaW4gdGhlIGFuY2llbnQgY2l0eSBvZiBTaWRlLCB5b3UgbWF5IG5vdGljZSBwb21lZ3JhbmF0ZSB0cmVlcyBvbiBlaXRoZXIgc2lkZS4gU2lkZSBoYXMgYSBjb25uZWN0aW9uIHdpdGggcG9tZWdyYW5hdGVzIGR1ZSB0byBhIG15dGhvbG9naWNhbCBzdG9yeS4gU2lkZSwgdGhlIGdvZGRlc3Mgb2YgbmF0dXJlIGFuZCBmZXJ0aWxpdHksIHdlbnQgdG8gdGhlIHNob3JlIG9mIE1lbGFzIChNYW5hdmdhdCkgd2l0aCBoZXIgZGF1Z2h0ZXIgYW5kIGZvcmVzdCBueW1waHMgdG8gY29sbGVjdCBmbG93ZXJzLiBTaGUgYnJva2UgYSBicmFuY2ggZnJvbSBhIGNvbG9yZnVsIHRyZWUgdG8gZ2l2ZSB0aGUgZmxvd2VycyB0byBoZXIgZGF1Z2h0ZXIsIG5vdCByZWFsaXppbmcgdGhhdCB0aGUgdHJlZSB3YXMgYWN0dWFsbHkgYSBnb2RkZXNzIHdobyBoYWQgdHVybmVkIGludG8gYSB0cmVlIHRvIHByb3RlY3QgaGVyc2VsZiBmcm9tIGhhcm0uIEFzIGEgcmVzdWx0LCBTaWRlIHdhcyB1bmFibGUgdG8gbW92ZSBhbmQgYmVjYW1lIHJvb3RlZCB0byB0aGUgZ3JvdW5kLCB3aXRoIGxlYXZlcyBzcHJvdXRpbmcgZnJvbSBoZXIgZmluZ2Vycy4gPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOmhlYWRpbmcgLS0+XG48aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCIgaWQ9XCJzeW1ib2wtb2Ytc2lkZS1hbmNpZW50LWNpdHlcIj48c3Ryb25nPlN5bWJvbCBvZiBTaWRlIEFuY2llbnQgQ2l0eTwvc3Ryb25nPjwvaDI+XG48IS0tIC93cDpoZWFkaW5nIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPlRoZSBmb3Jlc3QgbnltcGhzIGNyaWVkIGFuZCB3ZXQgU2lkZSdzIGZlZXQgd2l0aCB0aGVpciB0ZWFycy4gU2lkZSB0aGVuIGRlY2xhcmVkIHRoYXQgc2hlIHdvdWxkIGJlY29tZSB0aGUgc3ltYm9sIG9mIG5hdHVyZSBhbmQgbGlmZSB3aXRoIGhlciBibG9vZC1jb2xvcmVkIGZydWl0cywgYW5kIGFza2VkIHRoYXQgaGVyIGRhdWdodGVyIHZpc2l0IG9mdGVuIGFuZCBwbGF5IGluIGhlciBzaGFkZSB3aXRob3V0IHBpY2tpbmcgYW55IGZsb3dlcnMsIHRvIHJlc3BlY3QgYWxsIHRyZWVzIGFuZCBmbG93ZXJzIGFzIHBvc3NpYmxlIGdvZGRlc3NlcyBpbiBkaXNndWlzZS4gVGhpcyBpcyB3aHkgU2lkZSBpcyBmdWxsIG9mIHBvbWVncmFuYXRlIHRyZWVzLiBBbHRob3VnaCB0aGUgc3ltYm9sIG9mIHRoZSBjaXR5IGlzIHRoZSBwb21lZ3JhbmF0ZSwgdGhlIHRlbXBsZSBvZiBBcG9sbG8gaXMgd2hhdCBpcyB1c3VhbGx5IHNob3duIG9uIHBvc3RjYXJkcy4gVGhpcyB0ZW1wbGUsIGRlZGljYXRlZCB0byB0aGUgZ29kIG9mIGxpZ2h0LCBiZWF1dHksIGFuZCBhcnQsIGhhcyBiZWVuIHJlc3RvcmVkIGFuZCBzdGlsbCBzdGFuZHMgdG9kYXkgd2l0aCA1IGNvbHVtbnMgYW5kIENvcmludGhpYW4gY2FwaXRhbHMuIFRoZSB0ZW1wbGUgd2FzIGRpc21hbnRsZWQgYnkgdGhlIEJ5emFudGluZXMgdG8gYmUgdXNlZCBpbiB0aGUgY29uc3RydWN0aW9uIG9mIGEgYmFzaWxpY2EsIGJ1dCBpdCByZW1haW5zIGEgd29ydGh3aGlsZSBoZXJpdGFnZSBzaXRlIHRvIHZpc2l0LiBZb3UgY2FuIGFsc28gc2VlIHRoZSBydWlucyBvZiB0aGUgdGVtcGxlIGRlZGljYXRlZCB0byB0aGUgbW9vbiBnb2QgTWVuIGluIFNpZGUsIHdoaWNoIHdhcyBiZWxpZXZlZCBpbiBiZWZvcmUgQXRoZW5hIGFuZCBBcG9sbG8uPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPlxuXG48IS0tIHdwOnBhcmFncmFwaCAtLT5cbjxwPjwvcD5cbjwhLS0gL3dwOnBhcmFncmFwaCAtLT5cblxuPCEtLSB3cDpwYXJhZ3JhcGggLS0+XG48cD48c3Ryb25nPlNvdXJjZTo8L3N0cm9uZz4mbmJzcDtTaWRlLCBBbnRhbHlhIGZyb20gWWVzdGVyZGF5IHRvIFRvZGF5IFZvbHVtZSBJSSwgQW50YWx5YSBQcm92aW5jaWFsIERpcmVjdG9yYXRlIG9mIEN1bHR1cmUgYW5kIFRvdXJpc20gKDIwMTIpPC9wPlxuPCEtLSAvd3A6cGFyYWdyYXBoIC0tPiIsInBvc3RfdGl0bGUiOiJTaWRlIEFuY2llbnQgQ2l0eSAmIzgyMTE7IEFudGFseWEiLCJwb3N0X2xpbmsiOiJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvc2lkZS1hbmNpZW50LWNpdHktYW50YWx5YS8xMDUvIiwicG9zdF9mZWF0dXJlZF9pbWFnZSI6IjxkaXYgY2xhc3M9XCJmYy1mZWF0dXJlLWltZ1wiPjxpbWcgbG9hZGluZz1cImxhenlcIiBkZWNvZGluZz1cImFzeW5jXCIgYWx0PVwiU2lkZSBBbmNpZW50IENpdHkgJiM4MjExOyBBbnRhbHlhXCIgd2lkdGg9XCIyOTdcIiBoZWlnaHQ9XCIzMDBcIiBzcmM9XCJodHRwczovL3RyYXZlbHR1cmtleS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvc2lkZS1hbmNpZW50LWNpdHktZHJvbmUtcGhvdG8tMS0yOTd4MzAwLmpwZ1wiIGNsYXNzPVwid3AtcG9zdC1pbWFnZSAgIHdwZ21wX2ZlYXR1cmVkX2ltYWdlXCIgPjwvZGl2PiIsInBvc3RfY2F0ZWdvcmllcyI6IlRoaW5ncyB0byBkbyBpbiBBbnRhbHlhLCBUaGluZ3MgdG8gZG8gaW4gVFVSS0VZIiwicG9zdF90YWdzIjoiQW50YWx5YSwgQ3VsdHVyZSBUb3VyaXNtLCBoaXN0b3JpY2FsIHNpdGUsIFNpZGUsIFNpZGUgU2lnaHRzZWVpbmdzIiwiJV9lZGl0X2xvY2slIjoiMTcwNzQ3NTY1MzoxIiwiJV9lZGl0X2xhc3QlIjoiMSIsIiVfeW9hc3Rfd3BzZW9fcHJpbWFyeV9jYXRlZ29yeSUiOiI4OSIsIiVfeW9hc3Rfd3BzZW9fY29udGVudF9zY29yZSUiOiIzMCIsIiVfeW9hc3Rfd3BzZW9faW5jbHVzaXZlX2xhbmd1YWdlX3Njb3JlJSI6IjkwIiwiJV95b2FzdF93cHNlb19lc3RpbWF0ZWQtcmVhZGluZy10aW1lLW1pbnV0ZXMlIjoiMTEiLCIlX3lvYXN0X3dwc2VvX3dvcmRwcm9vZl90aW1lc3RhbXAlIjoiIiwiJXBvc3Rfdmlld3NfY291bnQlIjoiMTgyIiwiJV90aHVtYm5haWxfaWQlIjoiMTQ1IiwiJV9vZW1iZWRfODZiYmJmODZjYWYxNGYwZGNkM2IzZDcwNDcwODJlMTglIjoiPGlmcmFtZSB0aXRsZT1cIlNJREUgPz8/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

2 COMMENTS

  1. PBN sites
    We shall generate a web of PBN sites!

    Benefits of our private blog network:

    We execute everything so GOOGLE DOES NOT comprehend THAT this is A PBN network!!!

    1- We acquire domain names from separate registrars

    2- The main site is hosted on a virtual private server (Virtual Private Server is rapid hosting)

    3- Other sites are on distinct hostings

    4- We attribute a individual Google profile to each site with confirmation in Search Console.

    5- We design websites on WordPress, we do not use plugins with assisted by which malware penetrate and through which pages on your websites are generated.

    6- We never repeat templates and use only distinct text and pictures

    We never work with website design; the client, if wished, can then edit the websites to suit his wishes

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

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