Mahaai Villa + Apartment

Willemstad East · Curaçao

Home For Sale

Sold

Property Details

  • Ref# 5123447
  • Neighborhood Willemstad East
  • Country Curaçao
  • Category Single Family Homes
  • View Garden View
  • Beds 3
  • Baths 2
  • L.Space 300 m²
  • Land 1,325 m²
  • Class Residential

Property Remarks

Spacious villa located in the well-known neighborhood Mahaai with pool and separate apartment. This nicely finished villa is approx. 300 m² and situated on a lot of 1325 m². The living room is at the front of the house and throughout the many windows and the high ceilings it has a spacious feeling. The living room is directly connected with the nicely landscaped garden. From the living there is a connection with the half open kitchen. The kitchen is equipped with all now and day appliances and has a Corian worktop. The living and kitchen say cool through the high ceilings and the windows whish slide open. The 3 spacious bedrooms are situated at the back of the house. Two bedrooms are assessable by the main hallway. The third bedroom is assessable through the master bedroom and ideal for small children or as a study. The master bedroom has a walk in closed and direct access to the porch and the swimming pool in the back yard. All bedrooms are equipped with air-conditioning. The property has two nice bathrooms. The master bathroom is equipped with a large walk-in shower, double washbasin and toilet. The second bathroom is just renewed and has a shower, washbasin and toilet. The nicely landscaped tropical garden makes the house complete. The porch is directly connected to the living room has enough space for a lounge and dining area. The Pool is nicely laid out whit palm trees at the back side and a pool deck. The apartment of approx. 50 m² is separate for the house and self-supporting. It has a living, kitchenette, bathroom and bedroom with air-conditioning. The lot is completely fenced and has an electric gate at the front to the driveway. The driveway has enough space for multiple cars and a carport for two cars. At the back there is a spacious storage and from the third bedroom there is access to an attic. Interested in a viewing? Don't hesitate to contact us ! Mahaai Mahaai is a well-established, desirable, very centrally located, residential area in a suburb of Willemstad. The center of Willemstad is only a 5 minutes’ drive away. Close by are many main roads and facilities such as supermarkets, some of the best schools and colleges, stores, banks, offices, restaurants and nightlife. Mahaai is desired not only because of its location, but also because most houses are spacious built on spacious lots.

Features and Amenities

  • Condition
    • Well Maintained
  • Outdoor Features
    • Landscaped
  • Appliances
    • Electric Stove
    • Dishwasher
  • Furnished
    • Unfurnished
  • Parking - Type
    • Driveway
    • Carport
    • Parking Lot
  • Parking - Spots
    • Width - Double
  • Storage
    • Good Storage
    • Inside
  • Security
    • Security System
    • Alarm System
  • Air Conditioning
    • Air Conditioning
  • Laundry
    • No Washer/Dryer
    • Laundry Room
  • Yard / Landscaping
    • Large Yard
    • Landscaped
    • Patio
    • Terrace
  • Patio - Deck - Porch
    • Patio
    • Porch
  • Near By
    • School(s)
    • Shopping
    • Town
    • Elementary School
    • Park - Green Area
    • Commercial Activities
    • Public Transportation
    • Airport
    • Restaurants
  • Swimming Pool
    • On-Site Pool
    • Inground Pool
  • Rooms
    • Kitchen
    • Family Room
    • Living Room
    • Dining Room
    • Laundry Room
    • Bedroom
    • Master Bedroom
    • Bathroom
    • Home Office
    • Storage
  • Distinctive Features
    • Walk-In Closet
    • Open Concept

Directions

Click on the ‘directions’ button below for the directions to mahaai villa+ apartment.
[  Directions ]

Map Location

Open
(¹) Listed Amount was converted based on recent interbank exchange rates. We do not guarantee the accuracy of these amounts.
'd.1.en.1144391'
YXJyYXkgKAogICdhbXAnID0+IGZhbHNlLAogICdsaWQnID0+ICcxMTQ0MzkxJywKICAndXFpZCcgPT4gTlVMTCwKICAncGFnZScgPT4gJ2RldGFpbCcsCiAgJ2NvbnRyb2xsZXInID0+ICdkZXRhaWwnLAogICdmdW5jdGlvbicgPT4gJ2luZGV4JywKICAncGFyYW1zJyA9PiAKICBhcnJheSAoCiAgKSwKICAndXJpJyA9PiAnL2VuL2QvMTE0NDM5MScsCiAgJ3VyaV9iYXNlJyA9PiAnL2VuL2QvJywKICAndXJpX3BhdGgnID0+ICcvMTE0NDM5MScsCiAgJ3VyaV9xdWVyeScgPT4gTlVMTCwKICAndXJpX2Nhbm9uaWNhbCcgPT4gTlVMTCwKICAndXJpX29yaWdpbmFsJyA9PiAnL2VuL2QvMTE0NDM5MScsCiAgJ3VyaV9yZXF1ZXN0JyA9PiAnL2VuL2QvMTE0NDM5MScsCiAgJ2lzVXJpSUQnID0+IHRydWUsCiAgJ2lzQ2Fub25pY2FsJyA9PiBmYWxzZSwKICAnaXNQT1NUJyA9PiBmYWxzZSwKICAnaXNYSFInID0+IDAsCiAgJ2lzSlNPTicgPT4gMCwKICAnbGFuZycgPT4gJ2VuJywKICAnY3RybCcgPT4gJ2QnLAogICdiYXNlJyA9PiAnL2VuL2QnLAogICdwYXRoJyA9PiAnJywKICAnc2VhcmNoX3R5cGUnID0+IE5VTEwsCiAgJ3F1ZXJ5X3NlZ21lbnQnID0+ICcnLAogICdzZWdtZW50cycgPT4gCiAgYXJyYXkgKAogICksCiAgJ3NlZ21lbnRDb2xzJyA9PiBOVUxMLAogICdvcHRzJyA9PiBOVUxMLAogICdzb3J0U3RyJyA9PiAnJywKICAnZGVmU29ydFN0cicgPT4gJy9oZ2EnLAogICdkYXRhJyA9PiAKICBhcnJheSAoCiAgICAnY291bnRyeScgPT4gJ0NWJywKICApLAogICdhcmdzJyA9PiAKICBhcnJheSAoCiAgKSwKICAnaHJlZl9nb2JhY2snID0+IE5VTEwsCiAgJ3NlbGZfcmVmZXJlZCcgPT4gTlVMTCwKICAncmVmZXJlZF9yZXEnID0+IE5VTEwsCiAgJ3NvcnRBcnInID0+IAogIGFycmF5ICgKICAgICdieScgPT4gJ3ByaWNlJywKICAgICdjdXJyJyA9PiAnJywKICAgICdkaXInID0+ICdkZXNjJywKICAgICdvcHRzJyA9PiAnaGdhJywKICAgICdwYWdlT2Zmc2V0JyA9PiAwLAogICAgJ3BhZ2Vfbm8nID0+IDEsCiAgICAncGVyX3BhZ2UnID0+IDEyLAogICAgJ3Jvd3MnID0+ICdhJywKICAgICdzb3J0JyA9PiAnaGlsbycsCiAgICAnc29ydFN0cicgPT4gJy9oZ2EnLAogICAgJ3N0eWxlJyA9PiAnZ3JpZCcsCiAgKSwKICAndXJpX3NvcnQnID0+ICcvZW4vZC8nLAogICdodHRwX3Jlc3BvbnNlX3N0YXR1cycgPT4gMjAwLAogICdtZXRhQXJyJyA9PiAKICBhcnJheSAoCiAgICAndGV4dCcgPT4gCiAgICBhcnJheSAoCiAgICAgICdjb3VudHJ5JyA9PiAnQ3VyYcOnYW8nLAogICAgICAnc2l0ZV9uYW1lJyA9PiAnQ0VOVFVSWSAyMSBOdW1iZXIgT25lJywKICAgICAgJ3JlYWxfZXN0YXRlJyA9PiAnUmVhbCBFc3RhdGUnLAogICAgKSwKICApLAogICdpc0Zvcm0nID0+IGZhbHNlLAogICdsQXJyJyA9PiAKICBhcnJheSAoCiAgICAnbGlkJyA9PiAnMTE0NDM5MScsCiAgICAncmVmbm8nID0+ICcwMDA1MTIzNDQ3JywKICAgICdjb3VudHJ5JyA9PiAnQ1YnLAogICAgJ3BjbGFzcycgPT4gJ1JFUycsCiAgICAnZXhjbCcgPT4gJzEnLAogICAgJ3JlY2lwJyA9PiAnMCcsCiAgICAnZnRyZCcgPT4gJzEnLAogICAgJ2JyYW5kMScgPT4gJ0NFTicsCiAgICAnb2ZpZDEnID0+ICcxMDAwMzk5JywKICAgICdhZ2lkMScgPT4gJzEwMDMzODQnLAogICAgJ2JyYW5kMicgPT4gTlVMTCwKICAgICdvZmlkMicgPT4gTlVMTCwKICAgICdhZ2lkMicgPT4gTlVMTCwKICAgICdsYXN0dXBkYXRlJyA9PiAnMjAyMC0wNi0xNSAxNToyNjowOScsCiAgICAnc3RhbXAnID0+ICcyMDE5LTA4LTAxIDE5OjE3OjQ2JywKICAgICdhY2NvdW50cycgPT4gCiAgICBhcnJheSAoCiAgICAgICdvZmlkMScgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnZnRpZCcgPT4gJzEwMDAzOTknLAogICAgICAgICdmdHlwZScgPT4gJ08nLAogICAgICAgICdsYW5ncycgPT4gJ0VOLEVTLERFLE5MJywKICAgICAgICAnbmFtZScgPT4gJ0NFTlRVUlkgMjEgIzEgUmVhbCBFc3RhdGUnLAogICAgICAgICd3d3cnID0+ICdjZW50dXJ5MjFudW1iZXJvbmUuY29tJywKICAgICAgICAnbG9nbycgPT4gJy9tYXguY2RuL2ltYWdlcy9sb2dvcy8xMDAwMzk5LzE1MHg1MC8wLmpwZycsCiAgICAgICAgJ2FkZHJlc3MnID0+IAogICAgICAgIGFycmF5ICgKICAgICAgICAgIDAgPT4gJzY5IENhcyBDb3Jhd2VnJywKICAgICAgICAgIDEgPT4gJ1dpbGxlbXN0YWQgV2VzdCwgQmFuZGEgQm91JywKICAgICAgICAgIDIgPT4gJ0N1cmHDp2FvJywKICAgICAgICApLAogICAgICAgICdwaG9uZXMnID0+IAogICAgICAgIGFycmF5ICgKICAgICAgICAgICdvZmZpY2UnID0+IAogICAgICAgICAgYXJyYXkgKAogICAgICAgICAgICAnY29kZScgPT4gJzY2MycsCiAgICAgICAgICAgICdsYWJlbCcgPT4gJ09mZmljZScsCiAgICAgICAgICAgICdhYmJydicgPT4gTlVMTCwKICAgICAgICAgICAgJ2Njb2RlJyA9PiAnKzAxMScsCiAgICAgICAgICAgICd2YWx1ZScgPT4gJzo1OTkgOTo3MzctMDIwMTonLAogICAgICAgICAgICAndGVsJyA9PiAnNTk5OTczNzAyMDEnLAogICAgICAgICAgICAnc2hvdycgPT4gJyg1OTkgOSkgNzM3LTAyMDEnLAogICAgICAgICAgKSwKICAgICAgICApLAogICAgICApLAogICAgICAnYWdpZDEnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2Z0aWQnID0+ICcxMDAzMzg0JywKICAgICAgICAnZnR5cGUnID0+ICdBJywKICAgICAgICAnb2ZpZCcgPT4gJzEwMDAzOTknLAogICAgICAgICdmbmFtZScgPT4gJ1J1ZG9sZicsCiAgICAgICAgJ2xuYW1lJyA9PiAnZGUgSm9uZycsCiAgICAgICAgJ2Z1bGxuYW1lJyA9PiAnUnVkb2xmIGRlIEpvbmcnLAogICAgICAgICdlbWFpbCcgPT4gJ3J1ZG9sZkBjMjFjdXJhY2FvLmNvbScsCiAgICAgICAgJ3d3dycgPT4gJ2h0dHBzOi8vY2VudHVyeTIxbnVtYmVyb25lLmNvbScsCiAgICAgICAgJ3Bob3RvJyA9PiAnL2ltYWdlcy9hZ2VudHMvMTAwMzM4NC9mLzAuanBnJywKICAgICAgICAncGhvbmVzJyA9PiAKICAgICAgICBhcnJheSAoCiAgICAgICAgICAnbW9iaWxlJyA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NvZGUnID0+ICc2NzInLAogICAgICAgICAgICAnbGFiZWwnID0+ICdNb2JpbGUnLAogICAgICAgICAgICAnYWJicnYnID0+IE5VTEwsCiAgICAgICAgICAgICdjY29kZScgPT4gJyswMTEnLAogICAgICAgICAgICAndmFsdWUnID0+ICc6NTk5IDk6NTI2ODU0OTonLAogICAgICAgICAgICAndGVsJyA9PiAnNTk5OTUyNjg1NDknLAogICAgICAgICAgICAnc2hvdycgPT4gJyg1OTkgOSkgNTI2ODU0OScsCiAgICAgICAgICApLAogICAgICAgICAgJ29mZmljZScgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjb2RlJyA9PiAnNjYzJywKICAgICAgICAgICAgJ2xhYmVsJyA9PiAnT2ZmaWNlJywKICAgICAgICAgICAgJ2FiYnJ2JyA9PiBOVUxMLAogICAgICAgICAgICAnY2NvZGUnID0+ICcrMDExJywKICAgICAgICAgICAgJ3ZhbHVlJyA9PiAnOjU5OSA5OjczNzAyMDE6JywKICAgICAgICAgICAgJ3RlbCcgPT4gJzU5OTk3MzcwMjAxJywKICAgICAgICAgICAgJ3Nob3cnID0+ICcoNTk5IDkpIDczNzAyMDEnLAogICAgICAgICAgKSwKICAgICAgICApLAogICAgICApLAogICAgKSwKICAgICd2aWRlb3MnID0+IAogICAgYXJyYXkgKAogICAgICAneW91dHViZScgPT4gTlVMTCwKICAgICAgJ3Z0dXJsJyA9PiBOVUxMLAogICAgKSwKICAgICdkZXRhaWxzJyA9PiAKICAgIGFycmF5ICgKICAgICAgJ1JFRk5PX0xBQkVMJyA9PiAnUmVmIycsCiAgICAgICdSRUZOT19WQUxVRScgPT4gJzUxMjM0NDcnLAogICAgICAnRElEX0xBQkVMJyA9PiAnTmVpZ2hib3Job29kJywKICAgICAgJ0RJRF9WQUxVRScgPT4gJ1dpbGxlbXN0YWQgRWFzdCcsCiAgICAgICdDT1VOVFJZX0xBQkVMJyA9PiAnQ291bnRyeScsCiAgICAgICdDT1VOVFJZX1ZBTFVFJyA9PiAnQ3VyYcOnYW8nLAogICAgICAnUFRZUEVfTEFCRUwnID0+ICdDYXRlZ29yeScsCiAgICAgICdQVFlQRV9WQUxVRScgPT4gJ1NpbmdsZSBGYW1pbHkgSG9tZXMnLAogICAgICAnUFZJRVdfTEFCRUwnID0+ICdWaWV3JywKICAgICAgJ1BWSUVXX1ZBTFVFJyA9PiAnR2FyZGVuIFZpZXcnLAogICAgICAnQkVEU19MQUJFTCcgPT4gJ0JlZHMnLAogICAgICAnQkVEU19WQUxVRScgPT4gMywKICAgICAgJ0JBVEhTX0xBQkVMJyA9PiAnQmF0aHMnLAogICAgICAnQkFUSFNfVkFMVUUnID0+IDIsCiAgICAgICdMU1BBQ0VfTEFCRUwnID0+ICdMLlNwYWNlJywKICAgICAgJ0xTUEFDRV9WQUxVRScgPT4gJzMwMCBtwrInLAogICAgICAnTEFSRUFfTEFCRUwnID0+ICdMYW5kJywKICAgICAgJ0xBUkVBX1ZBTFVFJyA9PiAnMSwzMjUgbcKyJywKICAgICAgJ1BDTEFTU19MQUJFTCcgPT4gJ0NsYXNzJywKICAgICAgJ1BDTEFTU19WQUxVRScgPT4gJ1Jlc2lkZW50aWFsJywKICAgICAgJ0hUTUwnID0+ICc8bGk+PGI+UmVmIzwvYj4gNTEyMzQ0NzwvbGk+CjxsaT48Yj5OZWlnaGJvcmhvb2Q8L2I+IFdpbGxlbXN0YWQgRWFzdDwvbGk+CjxsaT48Yj5Db3VudHJ5PC9iPiBDdXJhw6dhbzwvbGk+CjxsaT48Yj5DYXRlZ29yeTwvYj4gU2luZ2xlIEZhbWlseSBIb21lczwvbGk+CjxsaT48Yj5WaWV3PC9iPiBHYXJkZW4gVmlldzwvbGk+CjxsaT48Yj5CZWRzPC9iPiAzPC9saT4KPGxpPjxiPkJhdGhzPC9iPiAyPC9saT4KPGxpPjxiPkwuU3BhY2U8L2I+IDMwMCBtwrI8L2xpPgo8bGk+PGI+TGFuZDwvYj4gMSwzMjUgbcKyPC9saT4KPGxpPjxiPkNsYXNzPC9iPiBSZXNpZGVudGlhbDwvbGk+JywKICAgICksCiAgICAnZmVhdHVyZXMnID0+ICcKPGxpPjxiPkNvbmRpdGlvbjwvYj48c3Bhbj48dWw+PGxpPldlbGwgTWFpbnRhaW5lZDwvbGk+PC91bD48L3NwYW4+PC9saT4KPGxpPjxiPk91dGRvb3IgRmVhdHVyZXM8L2I+PHNwYW4+PHVsPjxsaT5MYW5kc2NhcGVkPC9saT48L3VsPjwvc3Bhbj48L2xpPgo8bGk+PGI+QXBwbGlhbmNlczwvYj48c3Bhbj48dWw+PGxpPkVsZWN0cmljIFN0b3ZlPC9saT48bGk+RGlzaHdhc2hlcjwvbGk+PC91bD48L3NwYW4+PC9saT4KPGxpPjxiPkZ1cm5pc2hlZDwvYj48c3Bhbj48dWw+PGxpPlVuZnVybmlzaGVkPC9saT48L3VsPjwvc3Bhbj48L2xpPgo8bGk+PGI+UGFya2luZyAtIFR5cGU8L2I+PHNwYW4+PHVsPjxsaT5Ecml2ZXdheTwvbGk+PGxpPkNhcnBvcnQ8L2xpPjxsaT5QYXJraW5nIExvdDwvbGk+PC91bD48L3NwYW4+PC9saT4KPGxpPjxiPlBhcmtpbmcgLSBTcG90czwvYj48c3Bhbj48dWw+PGxpPldpZHRoIC0gRG91YmxlPC9saT48L3VsPjwvc3Bhbj48L2xpPgo8bGk+PGI+U3RvcmFnZTwvYj48c3Bhbj48dWw+PGxpPkdvb2QgU3RvcmFnZTwvbGk+PGxpPkluc2lkZTwvbGk+PC91bD48L3NwYW4+PC9saT4KPGxpPjxiPlNlY3VyaXR5PC9iPjxzcGFuPjx1bD48bGk+U2VjdXJpdHkgU3lzdGVtPC9saT48bGk+QWxhcm0gU3lzdGVtPC9saT48L3VsPjwvc3Bhbj48L2xpPgo8bGk+PGI+QWlyIENvbmRpdGlvbmluZzwvYj48c3Bhbj48dWw+PGxpPkFpciBDb25kaXRpb25pbmc8L2xpPjwvdWw+PC9zcGFuPjwvbGk+CjxsaT48Yj5MYXVuZHJ5PC9iPjxzcGFuPjx1bD48bGk+Tm8gV2FzaGVyL0RyeWVyPC9saT48bGk+TGF1bmRyeSBSb29tPC9saT48L3VsPjwvc3Bhbj48L2xpPgo8bGk+PGI+WWFyZCAvIExhbmRzY2FwaW5nPC9iPjxzcGFuPjx1bD48bGk+TGFyZ2UgWWFyZDwvbGk+PGxpPkxhbmRzY2FwZWQ8L2xpPjxsaT5QYXRpbzwvbGk+PGxpPlRlcnJhY2U8L2xpPjwvdWw+PC9zcGFuPjwvbGk+CjxsaT48Yj5QYXRpbyAtIERlY2sgLSBQb3JjaDwvYj48c3Bhbj48dWw+PGxpPlBhdGlvPC9saT48bGk+UG9yY2g8L2xpPjwvdWw+PC9zcGFuPjwvbGk+CjxsaT48Yj5OZWFyIEJ5PC9iPjxzcGFuPjx1bD48bGk+U2Nob29sKHMpPC9saT48bGk+U2hvcHBpbmc8L2xpPjxsaT5Ub3duPC9saT48bGk+RWxlbWVudGFyeSBTY2hvb2w8L2xpPjxsaT5QYXJrIC0gR3JlZW4gQXJlYTwvbGk+PGxpPkNvbW1lcmNpYWwgQWN0aXZpdGllczwvbGk+PGxpPlB1YmxpYyBUcmFuc3BvcnRhdGlvbjwvbGk+PGxpPkFpcnBvcnQ8L2xpPjxsaT5SZXN0YXVyYW50czwvbGk+PC91bD48L3NwYW4+PC9saT4KPGxpPjxiPlN3aW1taW5nIFBvb2w8L2I+PHNwYW4+PHVsPjxsaT5Pbi1TaXRlIFBvb2w8L2xpPjxsaT5Jbmdyb3VuZCBQb29sPC9saT48L3VsPjwvc3Bhbj48L2xpPgo8bGk+PGI+Um9vbXM8L2I+PHNwYW4+PHVsPjxsaT5LaXRjaGVuPC9saT48bGk+RmFtaWx5IFJvb208L2xpPjxsaT5MaXZpbmcgUm9vbTwvbGk+PGxpPkRpbmluZyBSb29tPC9saT48bGk+TGF1bmRyeSBSb29tPC9saT48bGk+QmVkcm9vbTwvbGk+PGxpPk1hc3RlciBCZWRyb29tPC9saT48bGk+QmF0aHJvb208L2xpPjxsaT5Ib21lIE9mZmljZTwvbGk+PGxpPlN0b3JhZ2U8L2xpPjwvdWw+PC9zcGFuPjwvbGk+CjxsaT48Yj5EaXN0aW5jdGl2ZSBGZWF0dXJlczwvYj48c3Bhbj48dWw+PGxpPldhbGstSW4gQ2xvc2V0PC9saT48bGk+T3BlbiBDb25jZXB0PC9saT48L3VsPjwvc3Bhbj48L2xpPicsCiAgICAncmVtYXJrcycgPT4gJ1NwYWNpb3VzIHZpbGxhIGxvY2F0ZWQgaW4gdGhlIHdlbGwta25vd24gbmVpZ2hib3Job29kIE1haGFhaSB3aXRoIHBvb2wgYW5kIHNlcGFyYXRlIGFwYXJ0bWVudC4gCgpUaGlzIG5pY2VseSBmaW5pc2hlZCB2aWxsYSBpcyBhcHByb3guIDMwMCBtwrIgYW5kIHNpdHVhdGVkIG9uIGEgbG90IG9mIDEzMjUgbcKyLiBUaGUgbGl2aW5nIHJvb20gaXMgYXQgdGhlIGZyb250IG9mIHRoZSBob3VzZSBhbmQgdGhyb3VnaG91dCB0aGUgbWFueSB3aW5kb3dzIGFuZCB0aGUgaGlnaCBjZWlsaW5ncyBpdCBoYXMgYSBzcGFjaW91cyBmZWVsaW5nLiBUaGUgbGl2aW5nIHJvb20gaXMgZGlyZWN0bHkgY29ubmVjdGVkIHdpdGggdGhlIG5pY2VseSBsYW5kc2NhcGVkIGdhcmRlbi4gRnJvbSB0aGUgbGl2aW5nIHRoZXJlIGlzIGEgY29ubmVjdGlvbiB3aXRoIHRoZSBoYWxmIG9wZW4ga2l0Y2hlbi4gVGhlIGtpdGNoZW4gaXMgZXF1aXBwZWQgd2l0aCBhbGwgbm93IGFuZCBkYXkgYXBwbGlhbmNlcyBhbmQgaGFzIGEgQ29yaWFuIHdvcmt0b3AuIFRoZSBsaXZpbmcgYW5kIGtpdGNoZW4gc2F5IGNvb2wgdGhyb3VnaCB0aGUgaGlnaCBjZWlsaW5ncyBhbmQgdGhlIHdpbmRvd3Mgd2hpc2ggc2xpZGUgb3Blbi4gCgpUaGUgMyBzcGFjaW91cyBiZWRyb29tcyBhcmUgc2l0dWF0ZWQgYXQgdGhlIGJhY2sgb2YgdGhlIGhvdXNlLiBUd28gYmVkcm9vbXMgYXJlIGFzc2Vzc2FibGUgYnkgdGhlIG1haW4gaGFsbHdheS4gVGhlIHRoaXJkIGJlZHJvb20gaXMgYXNzZXNzYWJsZSB0aHJvdWdoIHRoZSBtYXN0ZXIgYmVkcm9vbSBhbmQgaWRlYWwgZm9yIHNtYWxsIGNoaWxkcmVuIG9yIGFzIGEgc3R1ZHkuIFRoZSBtYXN0ZXIgYmVkcm9vbSBoYXMgYSB3YWxrIGluIGNsb3NlZCBhbmQgZGlyZWN0IGFjY2VzcyB0byB0aGUgcG9yY2ggYW5kIHRoZSBzd2ltbWluZyBwb29sIGluIHRoZSBiYWNrIHlhcmQuIEFsbCBiZWRyb29tcyBhcmUgZXF1aXBwZWQgd2l0aCBhaXItY29uZGl0aW9uaW5nLgoKVGhlIHByb3BlcnR5IGhhcyB0d28gbmljZSBiYXRocm9vbXMuIFRoZSBtYXN0ZXIgYmF0aHJvb20gaXMgZXF1aXBwZWQgd2l0aCBhIGxhcmdlIHdhbGstaW4gc2hvd2VyLCBkb3VibGUgd2FzaGJhc2luIGFuZCB0b2lsZXQuIFRoZSBzZWNvbmQgYmF0aHJvb20gaXMganVzdCByZW5ld2VkIGFuZCBoYXMgYSBzaG93ZXIsIHdhc2hiYXNpbiBhbmQgdG9pbGV0LgoKVGhlIG5pY2VseSBsYW5kc2NhcGVkIHRyb3BpY2FsIGdhcmRlbiBtYWtlcyB0aGUgaG91c2UgY29tcGxldGUuIFRoZSBwb3JjaCBpcyBkaXJlY3RseSBjb25uZWN0ZWQgdG8gdGhlIGxpdmluZyByb29tIGhhcyBlbm91Z2ggc3BhY2UgZm9yIGEgbG91bmdlIGFuZCBkaW5pbmcgYXJlYS4gVGhlIFBvb2wgaXMgbmljZWx5IGxhaWQgb3V0IHdoaXQgcGFsbSB0cmVlcyBhdCB0aGUgYmFjayBzaWRlIGFuZCBhIHBvb2wgZGVjay4gCgpUaGUgYXBhcnRtZW50IG9mIGFwcHJveC4gNTAgbcKyIGlzIHNlcGFyYXRlIGZvciB0aGUgaG91c2UgYW5kIHNlbGYtc3VwcG9ydGluZy4gSXQgaGFzIGEgbGl2aW5nLCBraXRjaGVuZXR0ZSwgYmF0aHJvb20gYW5kIGJlZHJvb20gd2l0aCBhaXItY29uZGl0aW9uaW5nLgoKVGhlIGxvdCBpcyBjb21wbGV0ZWx5IGZlbmNlZCBhbmQgaGFzIGFuIGVsZWN0cmljIGdhdGUgYXQgdGhlIGZyb250IHRvIHRoZSBkcml2ZXdheS4gVGhlIGRyaXZld2F5IGhhcyBlbm91Z2ggc3BhY2UgZm9yIG11bHRpcGxlIGNhcnMgYW5kIGEgY2FycG9ydCBmb3IgdHdvIGNhcnMuIApBdCB0aGUgYmFjayB0aGVyZSBpcyBhIHNwYWNpb3VzIHN0b3JhZ2UgYW5kIGZyb20gdGhlIHRoaXJkIGJlZHJvb20gdGhlcmUgaXMgYWNjZXNzIHRvIGFuIGF0dGljLgoKSW50ZXJlc3RlZCBpbiBhIHZpZXdpbmc/IERvblwndCBoZXNpdGF0ZSB0byBjb250YWN0IHVzICEKCjx1Pk1haGFhaTwvdT4KTWFoYWFpIGlzIGEgd2VsbC1lc3RhYmxpc2hlZCwgZGVzaXJhYmxlLCB2ZXJ5IGNlbnRyYWxseSBsb2NhdGVkLCByZXNpZGVudGlhbCBhcmVhIGluIGEgc3VidXJiIG9mIFdpbGxlbXN0YWQuIFRoZSBjZW50ZXIgb2YgV2lsbGVtc3RhZCBpcyBvbmx5IGEgNSBtaW51dGVz4oCZIGRyaXZlIGF3YXkuIENsb3NlIGJ5IGFyZSBtYW55IG1haW4gcm9hZHMgYW5kIGZhY2lsaXRpZXMgc3VjaCBhcyBzdXBlcm1hcmtldHMsIHNvbWUgb2YgdGhlIGJlc3Qgc2Nob29scyBhbmQgY29sbGVnZXMsIHN0b3JlcywgYmFua3MsIG9mZmljZXMsIHJlc3RhdXJhbnRzIGFuZCBuaWdodGxpZmUuIE1haGFhaSBpcyBkZXNpcmVkIG5vdCBvbmx5IGJlY2F1c2Ugb2YgaXRzIGxvY2F0aW9uLCBidXQgYWxzbyBiZWNhdXNlIG1vc3QgaG91c2VzIGFyZSBzcGFjaW91cyBidWlsdCBvbiBzcGFjaW91cyBsb3RzLicsCiAgICAncmVudGFsaW5mbycgPT4gJycsCiAgICAnZGlyZWN0aW9ucycgPT4gJ0NsaWNrIG9uIHRoZSDigJhkaXJlY3Rpb25z4oCZIGJ1dHRvbiBiZWxvdyBmb3IgdGhlIGRpcmVjdGlvbnMgdG8gbWFoYWFpIHZpbGxhKyBhcGFydG1lbnQuIDxicj5bIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvQ3VyYSVDMyVBN2FvJTJCSW50ZXJuYXRpb25hbCUyQkFpcnBvcnQlMkMlMkJDdXJhJUMzJUE3YW8vMTIuMTIyMDg0MTEwMTg2MjAwMCwtNjguODk4MzUzNTc2NjYwMTYwMC9AMTIuMTQwNzAxMywtNjguOTY1ODM4MywxM3oiIHRhcmdldD0iX2JsYW5rIj48aSBjbGFzcz0iZmEgZmEtZ2xvYmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+Jm5ic3A7RGlyZWN0aW9uczwvYT4gXScsCiAgICAnZGlzY2xvc3VyZXMnID0+ICd7ImxpbmVzIjp7InByaWNlIjp7InBvc3RmaXgiOmZhbHNlLCJleHRyYSI6IkZlZXMgcGFpZCBieSBcXCJTZWxsZXJcXCIifSwic2VjdGlvbiI6W119LCJkYXRhIjp7ImluZm8iOiIxMTQ0MzkxLUVOLXNhbGUiLCJmZWVzX3BhaWRfYnkiOjIsInJlbnRhbF9leHBlbnNlcyI6eyJjdXJyIjpudWxsLCJhbW91bnQiOiIwLjAwIiwicGVyIjoiIn0sInJlbnRhbF90ZXJtcyI6IjEiLCJyZW50YWxfZGVwb3NpdCI6eyJjdXJyIjpudWxsLCJhbW91bnQiOm51bGwsInBlciI6IiJ9LCJidWlsZGluZ191bml0cyI6IiIsImxlZ2FsX3Byb2NlZWRpbmdzIjoiMCIsInJlbnRhbF9wcmljZSI6eyJjdXJyIjoiQU5HIiwiYW1vdW50IjoiNjk5MDAwLjAwIiwicGVyIjpudWxsfSwicmVudGFsX2NvbW1pc3Npb24iOnsiY3VyciI6bnVsbCwiYW1vdW50IjoiIiwicGVyIjoiIn0sImNvbmRvX2ZlZXMiOnsiY3VyciI6IiIsImFtb3VudCI6IiIsInBlciI6IiJ9fX0nLAogICAgJ21ldGEnID0+IAogICAgYXJyYXkgKAogICAgICAnbGlkJyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdsYWJlbCcgPT4gJ01MUycsCiAgICAgICAgJ3ZhbHVlJyA9PiAnMTE0NDM5MScsCiAgICAgICAgJ3Nob3cnID0+ICdNTFMgMTE0NDM5MScsCiAgICAgICksCiAgICAgICdyZWZubycgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnbGFiZWwnID0+ICdSZWYjJywKICAgICAgICAndmFsdWUnID0+ICc1MTIzNDQ3JywKICAgICAgICAnc2hvdycgPT4gJ1JlZiMgNTEyMzQ0NycsCiAgICAgICksCiAgICAgICdjb3VudHJ5JyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdjb2RlJyA9PiAnQ1YnLAogICAgICAgICdsYWJlbCcgPT4gJ0NvdW50cnknLAogICAgICAgICd2YWx1ZScgPT4gJ0N1cmHDp2FvJywKICAgICAgKSwKICAgICAgJ3BjbGFzcycgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnY29kZScgPT4gJ1JFUycsCiAgICAgICAgJ2xhYmVsJyA9PiAnUHJvcGVydHkgQ2xhc3MnLAogICAgICAgICdsYWJlbDInID0+ICdDbGFzcycsCiAgICAgICAgJ3ZhbHVlJyA9PiAnUmVzaWRlbnRpYWwnLAogICAgICApLAogICAgICAnZXhjbCcgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnbGFiZWwnID0+ICdFeGNsdXNpdmUnLAogICAgICAgICd2YWx1ZScgPT4gJzEnLAogICAgICApLAogICAgICAnZnRyZCcgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnbGFiZWwnID0+ICdGZWF0dXJlZCcsCiAgICAgICAgJ3ZhbHVlJyA9PiAnMScsCiAgICAgICksCiAgICAgICdwaHRjbnQnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ3ZhbHVlJyA9PiAnMzInLAogICAgICApLAogICAgICAnc3RhdHVzJyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdjb2RlJyA9PiAnQVMnLAogICAgICAgICdsYWJlbCcgPT4gJ0xpc3RpbmcgU3RhdHVzJywKICAgICAgICAnbGFiZWwyJyA9PiAnU3RhdHVzJywKICAgICAgICAndmFsdWUnID0+ICdSZWNlbnRseSBTb2xkJywKICAgICAgICAndmFsdWUyJyA9PiAnU29sZCcsCiAgICAgICksCiAgICAgICdzZXRvcHQnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ3ZhbHVlMicgPT4gJycsCiAgICAgICksCiAgICAgICdjYXRlZ29yeScgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnY29kZScgPT4gJzQ0OCcsCiAgICAgICAgJ2xhYmVsJyA9PiAnUHJvcGVydHkgQ2F0ZWdvcnknLAogICAgICAgICdsYWJlbDInID0+ICdDYXRlZ29yeScsCiAgICAgICAgJ3ZhbHVlJyA9PiAnU2luZ2xlIEZhbWlseSBIb21lcycsCiAgICAgICAgJ3ZhbHVlMicgPT4gJ0hvbWUnLAogICAgICApLAogICAgICAndHJhbnMnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2NvZGUnID0+ICdNUycsCiAgICAgICAgJ2xhYmVsJyA9PiAnVHJhbnNhY3Rpb24gVHlwZScsCiAgICAgICAgJ2xhYmVsMicgPT4gJ1RyYW5zYWN0aW9uJywKICAgICAgICAndmFsdWUnID0+ICdGb3IgU2FsZScsCiAgICAgICAgJ3ZhbHVlMicgPT4gJ1NhbGUnLAogICAgICApLAogICAgICAncHJpY2UnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2NvZGUnID0+ICczODgzMzMuMzMnLAogICAgICAgICdsYWJlbCcgPT4gJ0Fza2luZyBQcmljZScsCiAgICAgICAgJ2xhYmVsMicgPT4gJ1ByaWNlJywKICAgICAgICAndmFsdWUnID0+ICdBTsaSIDY5OS4wMDAsLScsCiAgICAgICksCiAgICAgICd6b25lJyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdjb2RlJyA9PiAnMTAwMDcnLAogICAgICAgICdsYWJlbCcgPT4gJ0FyZWEnLAogICAgICAgICd2YWx1ZScgPT4gJ1dpbGxlbXN0YWQgRWFzdCcsCiAgICAgICksCiAgICAgICdkaWQnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2NvZGUnID0+ICcxMDAwNycsCiAgICAgICAgJ2xhYmVsJyA9PiAnTmVpZ2hib3Job29kJywKICAgICAgICAndmFsdWUnID0+ICdXaWxsZW1zdGFkIEVhc3QnLAogICAgICApLAogICAgICAnZ2xhdCcgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAndmFsdWUnID0+ICcxMi4xMjIwODQxMTAxODYyMDAwJywKICAgICAgKSwKICAgICAgJ2dsbmcnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ3ZhbHVlJyA9PiAnLTY4Ljg5ODM1MzU3NjY2MDE2MDAnLAogICAgICApLAogICAgICAncm9vbXMnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ3ZhbHVlJyA9PiAnJywKICAgICAgKSwKICAgICAgJ2JlZHMnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2NvZGUnID0+ICczJywKICAgICAgICAnbGFiZWwnID0+ICdCZWRyb29tcycsCiAgICAgICAgJ2xhYmVsMicgPT4gJ0JlZHMnLAogICAgICAgICd2YWx1ZScgPT4gMywKICAgICAgKSwKICAgICAgJ2JhdGhzJyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdjb2RlJyA9PiAnMi4wJywKICAgICAgICAnbGFiZWwnID0+ICdCYXRocm9vbXMnLAogICAgICAgICdsYWJlbDInID0+ICdCYXRocycsCiAgICAgICAgJ3ZhbHVlJyA9PiAyLAogICAgICApLAogICAgICAnbHNwYWNlJyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdjb2RlJyA9PiAnMzAwLjAwMDAwMDAwMDAwMCcsCiAgICAgICAgJ2xhYmVsJyA9PiAnTGl2aW5nIFNwYWNlJywKICAgICAgICAnbGFiZWwyJyA9PiAnTC5TcGFjZScsCiAgICAgICAgJ3ZhbHVlJyA9PiAnMzAwIG3CsicsCiAgICAgICksCiAgICAgICdsYXJlYScgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnY29kZScgPT4gJzEzMjUuMDAwMDAwMDAwMDAwJywKICAgICAgICAnbGFiZWwnID0+ICdMYW5kIEFyZWEnLAogICAgICAgICdsYWJlbDInID0+ICdMYW5kJywKICAgICAgICAndmFsdWUnID0+ICcxLDMyNSBtwrInLAogICAgICApLAogICAgICAncHZpZXcnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2NvZGUnID0+ICc0NDAnLAogICAgICAgICdsYWJlbCcgPT4gJ1Byb3BlcnR5IFZpZXcnLAogICAgICAgICdsYWJlbDInID0+ICdWaWV3JywKICAgICAgICAndmFsdWUnID0+ICdHYXJkZW4gVmlldycsCiAgICAgICksCiAgICAgICdjaXR5JyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdsYWJlbCcgPT4gJ05laWdoYm9yaG9vZCcsCiAgICAgICAgJ3ZhbHVlJyA9PiAnJywKICAgICAgKSwKICAgICAgJ3N0YXRlJyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdjb2RlJyA9PiAnV2lsbGVtc3RhZCcsCiAgICAgICAgJ2xhYmVsJyA9PiAnQXJlYScsCiAgICAgICAgJ3ZhbHVlJyA9PiAnV2lsbGVtc3RhZCcsCiAgICAgICksCiAgICAgICd0aXRsZScgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAndmFsdWUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQnLAogICAgICApLAogICAgICAnZGlzdHJpY3QnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ3ZhbHVlJyA9PiAnMTAwMDcnLAogICAgICApLAogICAgICAnY3VycicgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAndmFsdWUnID0+ICdBTkcnLAogICAgICApLAogICAgICAndmlkZW8tdG91cicgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnbGFiZWwnID0+ICdWaXJ0dWFsIFRvdXInLAogICAgICAgICdsYWJlbDInID0+ICdWaWRlbycsCiAgICAgICAgJ3ZhbHVlJyA9PiAxLAogICAgICApLAogICAgICAncG9vbCcgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnbGFiZWwnID0+ICdTd2ltbWluZyBQb29sJywKICAgICAgICAnbGFiZWwyJyA9PiAnUG9vbCcsCiAgICAgICAgJ3ZhbHVlJyA9PiAxLAogICAgICApLAogICAgICAnX2lkJyA9PiAnMTE0NDM5MScsCiAgICAgICdzZWN0aW9uJyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICd2YWx1ZScgPT4gJ21scycsCiAgICAgICksCiAgICAgICdsb2NhbGl0eScgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAndmFsdWUnID0+IE5VTEwsCiAgICAgICksCiAgICAgICdyZWdpb24nID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ3ZhbHVlJyA9PiAnV2lsbGVtc3RhZCBFYXN0JywKICAgICAgKSwKICAgICksCiAgICAnaXNfc29sZCcgPT4gdHJ1ZSwKICAgICdzb2xkX2xhYmVsJyA9PiAnU29sZCcsCiAgICAnaGVhZGVycycgPT4gCiAgICBhcnJheSAoCiAgICAgICdnYWxsZXJ5JyA9PiAnUGhvdG8gR2FsbGVyeScsCiAgICAgICdtYXBsb2MnID0+ICdNYXAgTG9jYXRpb24nLAogICAgICAnbWFwc2F0JyA9PiAnU2F0ZWxpdGUgVmlldycsCiAgICAgICd2aWRlb3MnID0+ICdWaWRlbycsCiAgICAgICd2dG91cnMnID0+ICdWaXJ0dWFsIFRvdXInLAogICAgICAnZGlyZWN0aW9ucycgPT4gJ0RpcmVjdGlvbnMnLAogICAgICAnZGV0YWlscycgPT4gJ1Byb3BlcnR5IERldGFpbHMnLAogICAgICAnZmVhdHVyZXMnID0+ICdGZWF0dXJlcyBhbmQgQW1lbml0aWVzJywKICAgICAgJ2RpYWdub3N0aWNzJyA9PiAnRW5lcmd5IFBlcmZvcm1hbmNlJywKICAgICAgJ3JlbWFya3MnID0+ICdQcm9wZXJ0eSBSZW1hcmtzJywKICAgICAgJ2Rpc2Nsb3N1cmVzJyA9PiAnRGlzY2xvc3VyZXMnLAogICAgICAnc2ltaWxhcicgPT4gJ1NpbWlsYXIgUHJvcGVydGllcycsCiAgICAgICdmZWF0dXJlZCcgPT4gJ0ZlYXR1cmVkIFByb3BlcnRpZXMnLAogICAgICAnYWdlbnQnID0+ICdBZ2VudCBEZXRhaWxzJywKICAgICAgJ3JlbnRhbGluZm8nID0+ICdSZW50YWwgSW5mb3JtYXRpb24nLAogICAgKSwKICAgICdoZWFkaW5nJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50JywKICAgICdzdWJoZWFkaW5nJyA9PiAnV2lsbGVtc3RhZCBFYXN0IMK3IEN1cmHDp2FvJywKICAgICdpZHNoZWFkaW5nJyA9PiAnTUxTIyAxMTQ0MzkxJywKICAgICdidXR0b25zJyA9PiAKICAgIGFycmF5ICgKICAgICAgJ2dlbmVyYWwnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2xhYmVsJyA9PiAnQ29udGFjdCBVcycsCiAgICAgICAgJ2hyZWYnID0+ICcvZW4vYy9jb250YWN0LXVzLzExNDQzOTEnLAogICAgICApLAogICAgICAnaW5xdWlyeScgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnbGFiZWwnID0+ICdJbnF1aXJ5JywKICAgICAgICAnaHJlZicgPT4gJy9lbi9jL2lucXVpcnkvMTE0NDM5MScsCiAgICAgICksCiAgICAgICdzZW5kdG8nID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2xhYmVsJyA9PiAnU2VuZCB0bycsCiAgICAgICAgJ2hyZWYnID0+ICcvZW4vYy9zZW5kLzExNDQzOTEnLAogICAgICApLAogICAgICAnYWxlcnQnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2xhYmVsJyA9PiAnQWxlcnQnLAogICAgICAgICdocmVmJyA9PiAnL2VuL2MvYWxlcnQvMTE0NDM5MScsCiAgICAgICksCiAgICAgICdvcHRpbicgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnbGFiZWwnID0+ICdOZXdzbGV0dGVyIFNpZ24tdXAnLAogICAgICAgICdocmVmJyA9PiAnL2VuL2MvbmV3c2xldHRlci8xMTQ0MzkxJywKICAgICAgKSwKICAgICAgJ2ZhdnMnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2xhYmVsJyA9PiAnRmF2b3JpdGUnLAogICAgICAgICdocmVmJyA9PiAnL2VuL2MvZmF2b3JpdGVzLzExNDQzOTEnLAogICAgICApLAogICAgICAnc2hhcmUnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ2xhYmVsJyA9PiAnU2hhcmUnLAogICAgICAgICdocmVmJyA9PiBOVUxMLAogICAgICApLAogICAgICAncGRmJyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdsYWJlbCcgPT4gJ1BERicsCiAgICAgICAgJ2hyZWYnID0+ICcvZW4vYS9kb3dubG9hZC8xMTQ0MzkxLnBkZj92MTU5MjIzNDc2OScsCiAgICAgICksCiAgICAgICdzYXZlZmF2JyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdsYWJlbF9vZmYnID0+ICdTYXZlJywKICAgICAgICAnbGFiZWxfb24nID0+ICdTYXZlZCEnLAogICAgICApLAogICAgICAnZ29iYWNrJyA9PiAKICAgICAgYXJyYXkgKAogICAgICAgICdsYWJlbCcgPT4gJ0dvIEJhY2snLAogICAgICAgICdocmVmJyA9PiAnL2VuL2QvbWFoYWFpLXZpbGxhLWFwYXJ0bWVudC1ob21lLWZvci1zYWxlLWN1cmFjYW8tMTE0NDM5MScsCiAgICAgICksCiAgICAgICdwcmludCcgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnbGFiZWwnID0+ICdQcmludCcsCiAgICAgICAgJ2hyZWYnID0+IE5VTEwsCiAgICAgICksCiAgICApLAogICAgJ3BhZ2VsaW5rJyA9PiAKICAgIGFycmF5ICgKICAgICAgJ2xhYmVsJyA9PiAnR28gQmFjaycsCiAgICAgICdocmVmJyA9PiAnL2VuL2QvbWFoYWFpLXZpbGxhLWFwYXJ0bWVudC1ob21lLWZvci1zYWxlLWN1cmFjYW8tMTE0NDM5MScsCiAgICApLAogICAgJ2FnZW50cycgPT4gCiAgICBhcnJheSAoCiAgICAgIDEgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnY291cnRlc3lPZicgPT4gZmFsc2UsCiAgICAgICAgJ2NvbXBhbnknID0+IAogICAgICAgIGFycmF5ICgKICAgICAgICAgICdicmFuZCcgPT4gJ0NFTlRVUlkgMjEnLAogICAgICAgICAgJ2xlZ2FsJyA9PiAnPHNwYW4+IzE8L3NwYW4+IDxzcGFuPlJlYWwgRXN0YXRlPC9zcGFuPicsCiAgICAgICAgICAnbG9nbycgPT4gJy9hc3NldHMvaW1hZ2VzL3RwbC9jZW50dXJ5LTIxLWxvZ28uc3ZnJywKICAgICAgICAgICdsb2dvX2FsdCcgPT4gJ0NFTlRVUlkgMjEgIzEgUmVhbCBFc3RhdGUsIEN1cmEmY2NlZGlsO2FvJywKICAgICAgICApLAogICAgICAgICd0aXRsZScgPT4gJ1NhbGVzIFJlcHJlc2VudGF0aXZlJywKICAgICAgICAnZnVsbG5hbWUnID0+ICdSdWRvbGYgZGUgSm9uZycsCiAgICAgICAgJ3Bob3RvJyA9PiAnL2ltYWdlcy9hZ2VudHMvMTAwMzM4NC9mLzAuanBnJywKICAgICAgICAncGhvdG9fYWx0JyA9PiAnUnVkb2xmIGRlIEpvbmcgLSBTYWxlcyBSZXByZXNlbnRhdGl2ZSwgQ0VOVFVSWSAyMSAjMSBSZWFsIEVzdGF0ZScsCiAgICAgICAgJ3Bob25lcycgPT4gCiAgICAgICAgYXJyYXkgKAogICAgICAgICAgJ29mZmljZScgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdpY29uJyA9PiAnZmEtdm9sdW1lLWNvbnRyb2wtcGhvbmUnLAogICAgICAgICAgICAnbGFiZWwnID0+ICdPZmZpY2UnLAogICAgICAgICAgICAndGl0bGUnID0+ICdPZmZpY2UnLAogICAgICAgICAgICAndGVsJyA9PiAnNTk5OTczNzAyMDEnLAogICAgICAgICAgICAnc2hvdycgPT4gJyg1OTkgOSkgNzM3MDIwMScsCiAgICAgICAgICApLAogICAgICAgICAgJ21vYmlsZScgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdpY29uJyA9PiAnZmEtbW9iaWxlJywKICAgICAgICAgICAgJ2xhYmVsJyA9PiAnTW9iaWxlJywKICAgICAgICAgICAgJ3RpdGxlJyA9PiAnTW9iaWxlJywKICAgICAgICAgICAgJ3RlbCcgPT4gJzU5OTk1MjY4NTQ5JywKICAgICAgICAgICAgJ3Nob3cnID0+ICcoNTk5IDkpIDUyNjg1NDknLAogICAgICAgICAgKSwKICAgICAgICApLAogICAgICAgICdlbWFpbCcgPT4gCiAgICAgICAgYXJyYXkgKAogICAgICAgICAgJ2ljb24nID0+ICdmYS1lbnZlbG9wZScsCiAgICAgICAgICAnbGFiZWwnID0+ICdFbWFpbCcsCiAgICAgICAgICAndGl0bGUnID0+ICdlbWFpbCBSdWRvbGYgZGUgSm9uZycsCiAgICAgICAgICAnc2hvdycgPT4gJ3J1ZG9sZkBjMjFjdXJhY2FvLmNvbScsCiAgICAgICAgICAnbGluaycgPT4gJyMnLAogICAgICAgICksCiAgICAgICAgJ3ZvaXAnID0+IE5VTEwsCiAgICAgICAgJ3NvY2lhbCcgPT4gTlVMTCwKICAgICAgKSwKICAgICksCiAgICAncHJpY2VzJyA9PiAKICAgIGFycmF5ICgKICAgICAgJ2Fza2luZycgPT4gJ0FOxpIgNjk5LjAwMCwtJywKICAgICAgJ290aGVycycgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnVVNEJyA9PiAnVVMkIDM4OCwzMzPCuScsCiAgICAgICAgJ0VVUicgPT4gJ0VV4oKsIDMyOSA0MDc8c3VwPsK5PC9zdXA+wrknLAogICAgICApLAogICAgICAnY2xhc3MnID0+ICcnLAogICAgICAncG9zdGZpeCcgPT4gJycsCiAgICAgICdleHRyYScgPT4gZmFsc2UsCiAgICApLAogICAgJ2l0ZW1wcm9wJyA9PiAKICAgIGFycmF5ICgKICAgICAgJ2FkZHJlc3MnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ3N0cmVldEFkZHJlc3MnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQnLAogICAgICAgICdhZGRyZXNzTG9jYWxpdHknID0+ICcnLAogICAgICAgICdhZGRyZXNzUmVnaW9uJyA9PiAnV2lsbGVtc3RhZCBFYXN0JywKICAgICAgICAnYWRkcmVzc0NvdW50cnknID0+ICdDdXJhw6dhbycsCiAgICAgICksCiAgICAgICdvZmZlcicgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAncHJpY2UnID0+ICczODgzMzMuMzMnLAogICAgICAgICdwcmljZUN1cnJlbmN5JyA9PiAnQU5HJywKICAgICAgICAncHJpY2VWYWxpZFVudGlsJyA9PiAnMjAyMC0xMS0wOFQwOTowNTowNyswMDAwJywKICAgICAgICAndXJsJyA9PiAnaHR0cHM6Ly9jZW50dXJ5MjFudW1iZXJvbmUuY29tL2VuL2MvaW5xdWlyeS8xMTQ0MzkxJywKICAgICAgICAndmFsaWRGcm9tJyA9PiAnMjAxOS0wOC0wMVQxMjowMCcsCiAgICAgICAgJ2F2YWlsYWJpbGl0eScgPT4gJ2h0dHA6Ly9zY2hlbWEub3JnL1NvbGRPdXQnLAogICAgICApLAogICAgICAncHJvZHVjdCcgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnc2t1JyA9PiAnUkVTMTE0NDM5MScsCiAgICAgICAgJ3Byb2R1Y3RJRCcgPT4gJzExNDQzOTEnLAogICAgICAgICduYW1lJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50JywKICAgICAgICAnZGVzY3JpcHRpb24nID0+ICdTcGFjaW91cyB2aWxsYSBsb2NhdGVkIGluIHRoZSB3ZWxsLWtub3duIG5laWdoYm9yaG9vZCBtYWhhYWkgd2l0aCBwb29sIGFuZCBzZXBhcmF0ZSBhcGFydG1lbnQuIFRoaXMgbmljZWx5IGZpbmlzaGVkIHZpbGxhIGlzIGFwcHJveC4gMzAwIG3CsiBhbmQgc2l0dWF0ZWQgb24gYSBsb3Qgb2YgMTMyNSBtwrIuIFRoZSBsaXZpbmcgcm9vbSBpcyBhdCB0aGUgZnJvbnQgb2YgdGhlIGhvdXNlIGFuZCB0aHJvdWdob3V0IHRoZSBtYW55IHdpbmRvd3MgYW5kIHRoZSBoaWdoIGNlaWxpbmdzIGl0IGhhcyBhIHNwYWNpb3VzIGZlZWxpbmcuIFRoZSBsaXZpbmcgcm9vbSBpcyBkaXJlY3RseSBjb25uZWN0ZWQgd2l0aCB0aGUgbmljZWx5IGxhbmRzY2FwZWQgZ2FyZGVuLiBGcm9tIHRoZSBsaXZpbmcgdGhlcmUgaXMgYSBjb25uZWN0aW9uIHdpdGggdGhlIGhhbGYgb3BlbiBraXRjaGVuLiBUaGUga2l0Y2hlbiBpcyBlcXVpcHBlZCB3aXRoIGFsbCBub3cgYW5kIGRheSBhcHBsaWFuY2VzIGFuZCBoYXMgYSBjb3JpYW4gd29ya3RvcC4gVGhlIGxpdmluZyBhbmQga2l0Y2hlbiBzYXkgY29vbCB0aHJvdWdoIHRoZSBoaWdoIGNlaWxpbmdzIGFuZCB0aGUgd2luZG93cyB3aGlzaCBzbGlkZSBvcGVuLiBUaGUgMyBzcGFjaW91cyBiZWRyb29tcyBhcmUgc2l0dWF0ZWQgYXQgdGhlIGJhY2sgb2YgdGhlIGhvdXNlLiBUd28gYmVkcm9vbXMgYXJlIGFzc2Vzc2FibGUgYnkgdGhlIG1haW4gaGFsbHdheS4gVGhlIHRoaXJkIGJlZHJvb20gaXMgYXNzZXNzYWJsZSB0aHJvdWdoIHRoZSBtYXN0ZXIgYmVkcm9vbSBhbmQgaWRlYWwgZm9yIHNtYWxsIGNoaWxkcmVuIG9yIGFzIGEgc3R1ZHkuIFRoZSBtYXN0ZXIgYmVkcm9vbSBoYXMgYSB3YWxrIGluIGNsb3NlZCBhbmQgZGlyZWN0IGFjY2VzcyB0byB0aGUgcG9yY2ggYW5kIHRoZSBzd2ltbWluZyBwb29sIGluIHRoZSBiYWNrIHlhcmQuIEFsbCBiZWRyb29tcyBhcmUgZXF1aXBwZWQgd2l0aCBhaXItY29uZGl0aW9uaW5nLiBUaGUgcHJvcGVydHkgaGFzIHR3byBuaWNlIGJhdGhyb29tcy4gVGhlIG1hc3RlciBiYXRocm9vbSBpcyBlcXVpcHBlZCB3aXRoIGEgbGFyZ2Ugd2Fsay1pbiBzaG93ZXIsIGRvdWJsZSB3YXNoYmFzaW4gYW5kIHRvaWxldC4gVGhlIHNlY29uZCBiYXRocm9vbSBpcyBqdXN0IHJlbmV3ZWQgYW5kIGhhcyBhIHNob3dlciwgd2FzaGJhc2luIGFuZCB0b2lsZXQuIFRoZSBuaWNlbHkgbGFuZHNjYXBlZCB0cm9waWNhbCBnYXJkZW4gbWFrZXMgdGhlIGhvdXNlIGNvbXBsZXRlLiBUaGUgcG9yY2ggaXMgZGlyZWN0bHkgY29ubmVjdGVkIHRvIHRoZSBsaXZpbmcgcm9vbSBoYXMgZW5vdWdoIHNwYWNlIGZvciBhIGxvdW5nZSBhbmQgZGluaW5nIGFyZWEuIFRoZSBwb29sIGlzIG5pY2VseSBsYWlkIG91dCB3aGl0IHBhbG0gdHJlZXMgYXQgdGhlIGJhY2sgc2lkZSBhbmQgYSBwb29sIGRlY2suIFRoZSBhcGFydG1lbnQgb2YgYXBwcm94LiA1MCBtwrIgaXMgc2VwYXJhdGUgZm9yIHRoZSBob3VzZSBhbmQgc2VsZi1zdXBwb3J0aW5nLiBJdCBoYXMgYSBsaXZpbmcsIGtpdGNoZW5ldHRlLCBiYXRocm9vbSBhbmQgYmVkcm9vbSB3aXRoIGFpci1jb25kaXRpb25pbmcuIFRoZSBsb3QgaXMgY29tcGxldGVseSBmZW5jZWQgYW5kIGhhcyBhbiBlbGVjdHJpYyBnYXRlIGF0IHRoZSBmcm9udCB0byB0aGUgZHJpdmV3YXkuIFRoZSBkcml2ZXdheSBoYXMgZW5vdWdoIHNwYWNlIGZvciBtdWx0aXBsZSBjYXJzIGFuZCBhIGNhcnBvcnQgZm9yIHR3byBjYXJzLiBBdCB0aGUgYmFjayB0aGVyZSBpcyBhIHNwYWNpb3VzIHN0b3JhZ2UgYW5kIGZyb20gdGhlIHRoaXJkIGJlZHJvb20gdGhlcmUgaXMgYWNjZXNzIHRvIGFuIGF0dGljLiBJbnRlcmVzdGVkIGluIGEgdmlld2luZz8gRG9uXCd0IGhlc2l0YXRlIHRvIGNvbnRhY3QgdXMhIE1haGFhaSBtYWhhYWkgaXMgYSB3ZWxsLWVzdGFibGlzaGVkLCBkZXNpcmFibGUsIHZlcnkgY2VudHJhbGx5IGxvY2F0ZWQsIHJlc2lkZW50aWFsIGFyZWEgaW4gYSBzdWJ1cmIgb2Ygd2lsbGVtc3RhZC4gVGhlIGNlbnRlciBvZiB3aWxsZW1zdGFkIGlzIG9ubHkgYSA1IG1pbnV0ZXNcJyBkcml2ZSBhd2F5LiBDbG9zZSBieSBhcmUgbWFueSBtYWluIHJvYWRzIGFuZCBmYWNpbGl0aWVzIHN1Y2ggYXMgc3VwZXJtYXJrZXRzLCBzb21lIG9mIHRoZSBiZXN0IHNjaG9vbHMgYW5kIGNvbGxlZ2VzLCBzdG9yZXMsIGJhbmtzLCBvZmZpY2VzLCByZXN0YXVyYW50cyBhbmQgbmlnaHRsaWZlLiBNYWhhYWkgaXMgZGVzaXJlZCBub3Qgb25seSBiZWNhdXNlIG9mIGl0cyBsb2NhdGlvbiwgYnV0IGFsc28gYmVjYXVzZSBtb3N0IGhvdXNlcyBhcmUgc3BhY2lvdXMgYnVpbHQgb24gc3BhY2lvdXMgbG90cy4nLAogICAgICAgICd1cmwnID0+ICdodHRwczovL2NlbnR1cnkyMW51bWJlcm9uZS5jb20vZW4vZC8xMTQ0MzkxJywKICAgICAgICAnaW1hZ2UnID0+ICdodHRwczovL2NlbnR1cnkyMW51bWJlcm9uZS5jb20vbWxzLmNkbi9pbWFnZXMvbGlzdGluZ3MvMTE0NDM5MS94bGcvMC5qcGcnLAogICAgICAgICdvZmZlcnMnID0+IAogICAgICAgIGFycmF5ICgKICAgICAgICAgICdwcmljZScgPT4gJzM4ODMzMy4zMycsCiAgICAgICAgICAncHJpY2VDdXJyZW5jeScgPT4gJ0FORycsCiAgICAgICAgICAncHJpY2VWYWxpZFVudGlsJyA9PiAnMjAyMC0xMS0wOFQwOTowNTowNyswMDAwJywKICAgICAgICAgICd1cmwnID0+ICdodHRwczovL2NlbnR1cnkyMW51bWJlcm9uZS5jb20vZW4vYy9pbnF1aXJ5LzExNDQzOTEnLAogICAgICAgICAgJ3ZhbGlkRnJvbScgPT4gJzIwMTktMDgtMDFUMTI6MDAnLAogICAgICAgICAgJ2F2YWlsYWJpbGl0eScgPT4gJ2h0dHA6Ly9zY2hlbWEub3JnL1NvbGRPdXQnLAogICAgICAgICksCiAgICAgICAgJ2JyYW5kJyA9PiAKICAgICAgICBhcnJheSAoCiAgICAgICAgICAnbmFtZScgPT4gJ0NFTlRVUlkgMjEnLAogICAgICAgICksCiAgICAgICAgJ3NlbGxlcicgPT4gCiAgICAgICAgYXJyYXkgKAogICAgICAgICAgJ2xlZ2FsTmFtZScgPT4gJ0NFTlRVUlkgMjEgIzEgUmVhbCBFc3RhdGUnLAogICAgICAgICAgJ2xvZ28nID0+ICdodHRwczovL2NlbnR1cnkyMW51bWJlcm9uZS5jb20vbWxzLmNkbi9pbWFnZXMvbG9nb3MvMTAwMDM5OS8xNTB4NTAuanBnJywKICAgICAgICAgICdlbXBsb3llZScgPT4gJ1J1ZG9sZiBkZSBKb25nJywKICAgICAgICAgICd0ZWxlcGhvbmUnID0+ICcoNTk5IDkpIDczNy0wMjAxJywKICAgICAgICAgICd1cmwnID0+ICdodHRwOi8vY2VudHVyeTIxbnVtYmVyb25lLmNvbScsCiAgICAgICAgKSwKICAgICAgICAnYWRkaXRpb25hbFByb3BlcnR5JyA9PiAKICAgICAgICBhcnJheSAoCiAgICAgICAgICAwID0+IAogICAgICAgICAgYXJyYXkgKAogICAgICAgICAgICAnbmFtZScgPT4gJ0NvdW50cnknLAogICAgICAgICAgICAndmFsdWUnID0+ICdDdXJhw6dhbycsCiAgICAgICAgICApLAogICAgICAgICAgMSA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ25hbWUnID0+ICdQcm9wZXJ0eSBDbGFzcycsCiAgICAgICAgICAgICd2YWx1ZScgPT4gJ1Jlc2lkZW50aWFsJywKICAgICAgICAgICksCiAgICAgICAgICAyID0+IAogICAgICAgICAgYXJyYXkgKAogICAgICAgICAgICAnbmFtZScgPT4gJ1Byb3BlcnR5IENhdGVnb3J5JywKICAgICAgICAgICAgJ3ZhbHVlJyA9PiAnU2luZ2xlIEZhbWlseSBIb21lcycsCiAgICAgICAgICApLAogICAgICAgICAgMyA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ25hbWUnID0+ICdUcmFuc2FjdGlvbiBUeXBlJywKICAgICAgICAgICAgJ3ZhbHVlJyA9PiAnRm9yIFNhbGUnLAogICAgICAgICAgKSwKICAgICAgICAgIDQgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICduYW1lJyA9PiAnUHJvcGVydHkgVmlldycsCiAgICAgICAgICAgICd2YWx1ZScgPT4gJ0dhcmRlbiBWaWV3JywKICAgICAgICAgICksCiAgICAgICAgICA1ID0+IAogICAgICAgICAgYXJyYXkgKAogICAgICAgICAgICAnbmFtZScgPT4gJ0JlZHJvb21zJywKICAgICAgICAgICAgJ3ZhbHVlJyA9PiAzLAogICAgICAgICAgKSwKICAgICAgICAgIDYgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICduYW1lJyA9PiAnQmF0aHJvb21zJywKICAgICAgICAgICAgJ3ZhbHVlJyA9PiAyLAogICAgICAgICAgKSwKICAgICAgICAgIDcgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICduYW1lJyA9PiAnTGl2aW5nIFNwYWNlJywKICAgICAgICAgICAgJ3ZhbHVlJyA9PiAnMzAwIG3CsicsCiAgICAgICAgICApLAogICAgICAgICAgOCA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ25hbWUnID0+ICdMYW5kIEFyZWEnLAogICAgICAgICAgICAndmFsdWUnID0+ICcxLDMyNSBtwrInLAogICAgICAgICAgKSwKICAgICAgICApLAogICAgICApLAogICAgICAnZXZlbnQnID0+IAogICAgICBhcnJheSAoCiAgICAgICAgJ25hbWUnID0+ICdGb3IgU2FsZTogU2luZ2xlIEZhbWlseSBIb21lcyAtICwgQ3VyYSZjY2VkaWw7YW8nLAogICAgICAgICdsb2NhdGlvbicgPT4gCiAgICAgICAgYXJyYXkgKAogICAgICAgICAgJ25hbWUnID0+ICdTaW5nbGUgRmFtaWx5IEhvbWVzJywKICAgICAgICAgICdhZGRyZXNzJyA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ3N0cmVldEFkZHJlc3MnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQnLAogICAgICAgICAgICAnYWRkcmVzc0xvY2FsaXR5JyA9PiAnJywKICAgICAgICAgICAgJ2FkZHJlc3NSZWdpb24nID0+ICdXaWxsZW1zdGFkIEVhc3QnLAogICAgICAgICAgICAnYWRkcmVzc0NvdW50cnknID0+ICdDdXJhw6dhbycsCiAgICAgICAgICApLAogICAgICAgICksCiAgICAgICAgJ29mZmVycycgPT4gCiAgICAgICAgYXJyYXkgKAogICAgICAgICAgJ3ByaWNlJyA9PiAnMzg4MzMzLjMzJywKICAgICAgICAgICdwcmljZUN1cnJlbmN5JyA9PiAnQU5HJywKICAgICAgICAgICdwcmljZVZhbGlkVW50aWwnID0+ICcyMDIwLTExLTA4VDA5OjA1OjA3KzAwMDAnLAogICAgICAgICAgJ3VybCcgPT4gJ2h0dHBzOi8vY2VudHVyeTIxbnVtYmVyb25lLmNvbS9lbi9jL2lucXVpcnkvMTE0NDM5MScsCiAgICAgICAgICAndmFsaWRGcm9tJyA9PiAnMjAxOS0wOC0wMVQxMjowMCcsCiAgICAgICAgICAnYXZhaWxhYmlsaXR5JyA9PiAnaHR0cDovL3NjaGVtYS5vcmcvU29sZE91dCcsCiAgICAgICAgKSwKICAgICAgICAnaW1hZ2UnID0+ICdodHRwczovL2NlbnR1cnkyMW51bWJlcm9uZS5jb20vbWxzLmNkbi9pbWFnZXMvbGlzdGluZ3MvMTE0NDM5MS94bGcvMC5qcGcnLAogICAgICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwYWNpb3VzIHZpbGxhIGxvY2F0ZWQgaW4gdGhlIHdlbGwta25vd24gbmVpZ2hib3Job29kIG1haGFhaSB3aXRoIHBvb2wgYW5kIHNlcGFyYXRlIGFwYXJ0bWVudC4gVGhpcyBuaWNlbHkgZmluaXNoZWQgdmlsbGEgaXMgYXBwcm94LiAzMDAgbcKyIGFuZCBzaXR1YXRlZCBvbiBhIGxvdCBvZiAxMzI1IG3Csi4gVGhlIGxpdmluZyByb29tIGlzIGF0IHRoZSBmcm9udCBvZiB0aGUgaG91c2UgYW5kIHRocm91Z2hvdXQgdGhlIG1hbnkgd2luZG93cyBhbmQgdGhlIGhpZ2ggY2VpbGluZ3MgaXQgaGFzIGEgc3BhY2lvdXMgZmVlbGluZy4gVGhlIGxpdmluZyByb29tIGlzIGRpcmVjdGx5IGNvbm5lY3RlZCB3aXRoIHRoZSBuaWNlbHkgbGFuZHNjYXBlZCBnYXJkZW4uIEZyb20gdGhlIGxpdmluZyB0aGVyZSBpcyBhIGNvbm5lY3Rpb24gd2l0aCB0aGUgaGFsZiBvcGVuIGtpdGNoZW4uIFRoZSBraXRjaGVuIGlzIGVxdWlwcGVkIHdpdGggYWxsIG5vdyBhbmQgZGF5IGFwcGxpYW5jZXMgYW5kIGhhcyBhIGNvcmlhbiB3b3JrdG9wLiBUaGUgbGl2aW5nIGFuZCBraXRjaGVuIHNheSBjb29sIHRocm91Z2ggdGhlIGhpZ2ggY2VpbGluZ3MgYW5kIHRoZSB3aW5kb3dzIHdoaXNoIHNsaWRlIG9wZW4uIFRoZSAzIHNwYWNpb3VzIGJlZHJvb21zIGFyZSBzaXR1YXRlZCBhdCB0aGUgYmFjayBvZiB0aGUgaG91c2UuIFR3byBiZWRyb29tcyBhcmUgYXNzZXNzYWJsZSBieSB0aGUgbWFpbiBoYWxsd2F5LiBUaGUgdGhpcmQgYmVkcm9vbSBpcyBhc3Nlc3NhYmxlIHRocm91Z2ggdGhlIG1hc3RlciBiZWRyb29tIGFuZCBpZGVhbCBmb3Igc21hbGwgY2hpbGRyZW4gb3IgYXMgYSBzdHVkeS4gVGhlIG1hc3RlciBiZWRyb29tIGhhcyBhIHdhbGsgaW4gY2xvc2VkIGFuZCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBwb3JjaCBhbmQgdGhlIHN3aW1taW5nIHBvb2wgaW4gdGhlIGJhY2sgeWFyZC4gQWxsIGJlZHJvb21zIGFyZSBlcXVpcHBlZCB3aXRoIGFpci1jb25kaXRpb25pbmcuIFRoZSBwcm9wZXJ0eSBoYXMgdHdvIG5pY2UgYmF0aHJvb21zLiBUaGUgbWFzdGVyIGJhdGhyb29tIGlzIGVxdWlwcGVkIHdpdGggYSBsYXJnZSB3YWxrLWluIHNob3dlciwgZG91YmxlIHdhc2hiYXNpbiBhbmQgdG9pbGV0LiBUaGUgc2Vjb25kIGJhdGhyb29tIGlzIGp1c3QgcmVuZXdlZCBhbmQgaGFzIGEgc2hvd2VyLCB3YXNoYmFzaW4gYW5kIHRvaWxldC4gVGhlIG5pY2VseSBsYW5kc2NhcGVkIHRyb3BpY2FsIGdhcmRlbiBtYWtlcyB0aGUgaG91c2UgY29tcGxldGUuIFRoZSBwb3JjaCBpcyBkaXJlY3RseSBjb25uZWN0ZWQgdG8gdGhlIGxpdmluZyByb29tIGhhcyBlbm91Z2ggc3BhY2UgZm9yIGEgbG91bmdlIGFuZCBkaW5pbmcgYXJlYS4gVGhlIHBvb2wgaXMgbmljZWx5IGxhaWQgb3V0IHdoaXQgcGFsbSB0cmVlcyBhdCB0aGUgYmFjayBzaWRlIGFuZCBhIHBvb2wgZGVjay4gVGhlIGFwYXJ0bWVudCBvZiBhcHByb3guIDUwIG3CsiBpcyBzZXBhcmF0ZSBmb3IgdGhlIGhvdXNlIGFuZCBzZWxmLXN1cHBvcnRpbmcuIEl0IGhhcyBhIGxpdmluZywga2l0Y2hlbmV0dGUsIGJhdGhyb29tIGFuZCBiZWRyb29tIHdpdGggYWlyLWNvbmRpdGlvbmluZy4gVGhlIGxvdCBpcyBjb21wbGV0ZWx5IGZlbmNlZCBhbmQgaGFzIGFuIGVsZWN0cmljIGdhdGUgYXQgdGhlIGZyb250IHRvIHRoZSBkcml2ZXdheS4gVGhlIGRyaXZld2F5IGhhcyBlbm91Z2ggc3BhY2UgZm9yIG11bHRpcGxlIGNhcnMgYW5kIGEgY2FycG9ydCBmb3IgdHdvIGNhcnMuIEF0IHRoZSBiYWNrIHRoZXJlIGlzIGEgc3BhY2lvdXMgc3RvcmFnZSBhbmQgZnJvbSB0aGUgdGhpcmQgYmVkcm9vbSB0aGVyZSBpcyBhY2Nlc3MgdG8gYW4gYXR0aWMuIEludGVyZXN0ZWQgaW4gYSB2aWV3aW5nPyBEb25cJ3QgaGVzaXRhdGUgdG8gY29udGFjdCB1cyEgTWFoYWFpIG1haGFhaSBpcyBhIHdlbGwtZXN0YWJsaXNoZWQsIGRlc2lyYWJsZSwgdmVyeSBjZW50cmFsbHkgbG9jYXRlZCwgcmVzaWRlbnRpYWwgYXJlYSBpbiBhIHN1YnVyYiBvZiB3aWxsZW1zdGFkLiBUaGUgY2VudGVyIG9mIHdpbGxlbXN0YWQgaXMgb25seSBhIDUgbWludXRlc1wnIGRyaXZlIGF3YXkuIENsb3NlIGJ5IGFyZSBtYW55IG1haW4gcm9hZHMgYW5kIGZhY2lsaXRpZXMgc3VjaCBhcyBzdXBlcm1hcmtldHMsIHNvbWUgb2YgdGhlIGJlc3Qgc2Nob29scyBhbmQgY29sbGVnZXMsIHN0b3JlcywgYmFua3MsIG9mZmljZXMsIHJlc3RhdXJhbnRzIGFuZCBuaWdodGxpZmUuIE1haGFhaSBpcyBkZXNpcmVkIG5vdCBvbmx5IGJlY2F1c2Ugb2YgaXRzIGxvY2F0aW9uLCBidXQgYWxzbyBiZWNhdXNlIG1vc3QgaG91c2VzIGFyZSBzcGFjaW91cyBidWlsdCBvbiBzcGFjaW91cyBsb3RzLicsCiAgICAgICAgJ3N0YXJ0RGF0ZScgPT4gJzIwMTktMDgtMDFUMTI6MDAnLAogICAgICAgICdlbmREYXRlJyA9PiAnMjAyMC0xMS0wOFQwOTowNTowNyswMDAwJywKICAgICAgICAndXJsJyA9PiAnaHR0cHM6Ly9jZW50dXJ5MjFudW1iZXJvbmUuY29tL2VuL2QvbWFoYWFpLXZpbGxhLWFwYXJ0bWVudC1ob21lLWZvci1zYWxlLWN1cmFjYW8tMTE0NDM5MScsCiAgICAgICAgJ3BlcmZvcm1lcicgPT4gCiAgICAgICAgYXJyYXkgKAogICAgICAgICAgJ25hbWUnID0+ICdDRU5UVVJZIDIxICMxIFJlYWwgRXN0YXRlJywKICAgICAgICApLAogICAgICApLAogICAgKSwKICAgICdtYXAnID0+IAogICAgYXJyYXkgKAogICAgICAnbGF0JyA9PiAnMTIuMTIyMDg0MTEwMTg2MjAwMCcsCiAgICAgICdsbmcnID0+ICctNjguODk4MzUzNTc2NjYwMTYwMCcsCiAgICAgICdjb29yZHMnID0+ICcxMi4xMjIwODQxMTAxODYyMDAwLC02OC44OTgzNTM1NzY2NjAxNjAwJywKICAgICAgJ2RpcmVjdGlvbnMnID0+ICdodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyL0N1cmElQzMlQTdhbyUyQkludGVybmF0aW9uYWwlMkJBaXJwb3J0JTJDJTJCQ3VyYSVDMyVBN2FvLzEyLjEyMjA4NDExMDE4NjIwMDAsLTY4Ljg5ODM1MzU3NjY2MDE2MDAvQDEyLjE0MDcwMTMsLTY4Ljk2NTgzODMsMTN6JywKICAgICksCiAgICAnbWVkaWEnID0+IAogICAgYXJyYXkgKAogICAgICAnZ2FsbGVyeScgPT4gCiAgICAgIGFycmF5ICgKICAgICAgICAnbGFiZWxzJyA9PiAKICAgICAgICBhcnJheSAoCiAgICAgICAgICAncHJldicgPT4gJ1ByZXZpb3VzJywKICAgICAgICAgICduZXh0JyA9PiAnTmV4dCcsCiAgICAgICAgICAnbm9fcGhvdG9zJyA9PiAnU29ycnkuIE5vIFBob3RvcyBBdmFsYWlibGUuJywKICAgICAgICApLAogICAgICAgICdwaG90b3MnID0+IAogICAgICAgIGFycmF5ICgKICAgICAgICAgIDAgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50JywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMC5qcGcnLAogICAgICAgICAgKSwKICAgICAgICAgIDEgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50KDIpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMS5qcGcnLAogICAgICAgICAgKSwKICAgICAgICAgIDIgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50KDMpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMi5qcGcnLAogICAgICAgICAgKSwKICAgICAgICAgIDMgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50KDQpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMy5qcGcnLAogICAgICAgICAgKSwKICAgICAgICAgIDQgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50KDUpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvNC5qcGcnLAogICAgICAgICAgKSwKICAgICAgICAgIDUgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50KDYpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvNS5qcGcnLAogICAgICAgICAgKSwKICAgICAgICAgIDYgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50KDcpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvNi5qcGcnLAogICAgICAgICAgKSwKICAgICAgICAgIDcgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50KDgpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvNy5qcGcnLAogICAgICAgICAgKSwKICAgICAgICAgIDggPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50KDkpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvOC5qcGcnLAogICAgICAgICAgKSwKICAgICAgICAgIDkgPT4gCiAgICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdjYXB0aW9uJyA9PiAnKioqIGNvbWluZyBzb29uICoqKicsCiAgICAgICAgICAgICd0aXRsZV9zYWZlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50KDEwKScsCiAgICAgICAgICAgICdzcmMnID0+ICcvbWxzLmNkbi9pbWFnZXMvbGlzdGluZ3MvMTE0NDM5MS9mLzkuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxMCA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMTEpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTAuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxMSA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMTIpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTEuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxMiA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMTMpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTIuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxMyA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMTQpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTMuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxNCA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMTUpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTQuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxNSA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMTYpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTUuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxNiA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMTcpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTYuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxNyA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMTgpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTcuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxOCA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMTkpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTguanBnJywKICAgICAgICAgICksCiAgICAgICAgICAxOSA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjApJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMTkuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyMCA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjEpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjAuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyMSA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjIpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjEuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyMiA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjMpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjIuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyMyA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjQpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjMuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyNCA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjUpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjQuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyNSA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjYpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjUuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyNiA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjcpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjYuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyNyA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjgpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjcuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyOCA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMjkpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjguanBnJywKICAgICAgICAgICksCiAgICAgICAgICAyOSA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMzApJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMjkuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAzMCA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMzEpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMzAuanBnJywKICAgICAgICAgICksCiAgICAgICAgICAzMSA9PiAKICAgICAgICAgIGFycmF5ICgKICAgICAgICAgICAgJ2NhcHRpb24nID0+ICcqKiogY29taW5nIHNvb24gKioqJywKICAgICAgICAgICAgJ3RpdGxlX3NhZmUnID0+ICdNYWhhYWkgVmlsbGEgKyBBcGFydG1lbnQoMzIpJywKICAgICAgICAgICAgJ3NyYycgPT4gJy9tbHMuY2RuL2ltYWdlcy9saXN0aW5ncy8xMTQ0MzkxL2YvMzEuanBnJywKICAgICAgICAgICksCiAgICAgICAgKSwKICAgICAgKSwKICAgICAgJ21hcGxvYycgPT4gJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9lbWJlZD9wYj0hMW0xOCExbTEyITFtMyExZDE1MDYzLjY5NjQwNjg4ITJkLTY4Ljg5ODM1MzU3NjY2MDE2ITNkMTIuMTIyMDg0MTEwMTg2MjAhMm0zITFmMCEyZjAhM2YwITNtMiExaTEwMjQhMmk3NjghNGYxMy4xITNtMyExbTIhMXMweDAlM0EweDAhMnpNVExDc0Rjbk1Ua3VOU0pPSURZNHdyQTFNeWMxTkM0eElsYyE1ZTAhM20yITFzZW4hMnNjYSE0djE1OTY4Nzc1MDc5NTghNW0yITFzZW4hMnNjYScsCiAgICAgICd2aWRlb3MnID0+IGZhbHNlLAogICAgICAndnRvdXJzJyA9PiBmYWxzZSwKICAgICksCiAgKSwKICAnZVRhZycgPT4gJ2QuMS5lbi4xMTQ0MzkxJywKICAnbWF4QWdlJyA9PiAxNDQwMCwKICAnbWF4RGVmSG91cnMnID0+IDQsCiAgJ2VUYWdBcnInID0+IAogIGFycmF5ICgKICAgICdpY2lkJyA9PiAndXMnLAogICAgJ3RocmVhdCcgPT4gMSwKICAgICdyb2JvdCcgPT4gMCwKICAgICdsYW5nJyA9PiAnZW4nLAogICAgJ2FjY3RJZCcgPT4gJzEwMDAzOTknLAogICAgJ2xpZCcgPT4gJzExNDQzOTEnLAogICAgJ2xhc3R1cGRhdGUnID0+IDE1OTIyMzQ3NjksCiAgICAnc3RyaW5nJyA9PiAnZC4xLmVuLjExNDQzOTEnLAogICAgJ21heEFnZScgPT4gMTQ0MDAsCiAgICAnbWF4RGVmSG91cnMnID0+IDQsCiAgKSwKICAnTWV0YUluZm8nID0+IAogIGFycmF5ICgKICAgICdzaXRlX25hbWUnID0+ICdDRU5UVVJZIDIxIE51bWJlciBPbmUnLAogICAgJ3RpdGxlJyA9PiAnTWFoYWFpIFZpbGxhICsgQXBhcnRtZW50IC0gSG9tZSBGb3IgU2FsZSAgQ3VyYcOnYW8gfCBDZW50dXJ5IDIxIEN1cmHDp2FvIFJlYWwgRXN0YXRlJywKICAgICdkZXNjcmlwdGlvbicgPT4gJ1NwYWNpb3VzIHZpbGxhIGxvY2F0ZWQgaW4gdGhlIHdlbGwta25vd24gbmVpZ2hib3Job29kIG1haGFhaSB3aXRoIHBvb2wgYW5kIHNlcGFyYXRlIGFwYXJ0bWVudC4gVGhpcyBuaWNlbHkgZmluaXNoZWQgdmlsbGEgaXMgYXBwcm94LiAzMDAgbcKyIGFuZCBzaXR1YXRlZCBvbi4uLicsCiAgICAnY2Fub25pY2FsJyA9PiAnaHR0cHM6Ly9jZW50dXJ5MjFudW1iZXJvbmUuY29tL2VuL2QvMTE0NDM5MScsCiAgICAnYW1waHRtbCcgPT4gJy9hbXAvZW4vZC8xMTQ0MzkxJywKICAgICdsb2NhbGUnID0+ICdlbi1VUycsCiAgKSwKICAndXJpX2FsdGVybmF0ZXMnID0+IAogIGFycmF5ICgKICAgICdlbicgPT4gCiAgICBhcnJheSAoCiAgICAgICdsYW5nJyA9PiAnZW4nLAogICAgICAnbGFiZWwnID0+ICdFbmdsaXNoJywKICAgICAgJ2ZsYWcnID0+ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQUxDQUlBQUFENWdKcHVBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMFUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUh6U1VSQlZIamFZa3hPUDhJQUIvLytNZno3dzhEd2k0SGhQNUNjSmIvbi83ZXZiMTYvQVBML2dSRlFEaUFBdzNKdUFnQUlCRURRL2lzd0VFUmpHekJRTEVydTk3bGwwZzArM0h2cU1uMVNwcWxxR3NaTXNac0llMFNJQ0E1Z3Q1YS9BR0lFYXJDUHRGaCs2Ti9mZnd4QTlPdlAvNy8vUVl3ZmYvNmZaYWhtZVBlQjRkTkhoaStmR2I1OVk0enl2SEhtQ0VBQUFXM1lEelFZYUpKOTNhK3ZYNzlhVmY1OC8vNjlmdkVQbHBJZm56NTkrdkRodzd0Mzc5NjhlZlAzYi9TWEw1OU9uandJRUVBc0RQK1lnWTUzYjJiODkrKy9hd3ZMbjk4TURpMmNWeGwrL3ZsNm1pdHVDdEJnaGk5Zi92LzQ4ZS9YTDg2a3JqOVh6d0VFRUVOeThnNmd1MjJyZm43OCtOR3M1T2ZyMTYrWkM1OCtmdnlZd1g4cnhPeFhyMTY5ZlBueStmUG4xLy85M2JKbEJVQUFzUUFEWk1FQnhqOS9HQnhiMlAvOStTL1I4dTN2enh1eWFYOFpIdjNqOC9ZR21zM3c4eWNRQVJtaTJlRTM3dDRBQ0NER1I0L3VTa3JLQVMzNUIzVFQvLy8vd0FET2dMT0JJYVhJeWpCbHd4S0FBR0tSWGpDQjBTT0VhZXUrL3k5Zk1uejRBSFF4Q1AzNDhSL28rbCsvL3NNWlFCTkxFdmlmM0FjSUlNWmJ0eTdMeTZ0OVptWGwrZlhqLzM4R29ISC9VY0dmUDc5Ly9CQmlZSGp5OSs4L29Va05BQUhFd3QxVi92SS9LQlkvUVNJU0ZxTS9HQmcrTXpCOEE2UGZZQzVFRmlEQUFCcWdXNzc2TVAwckFBQUFBRWxGVGtTdVFtQ0MnLAogICAgICAnaHJlZicgPT4gJy9lbi9kL21haGFhaS12aWxsYS1hcGFydG1lbnQtaG9tZS1mb3Itc2FsZS1jdXJhY2FvLTExNDQzOTEnLAogICAgKSwKICAgICdubCcgPT4gCiAgICBhcnJheSAoCiAgICAgICdsYW5nJyA9PiAnbmwnLAogICAgICAnbGFiZWwnID0+ICdOZWRlcmxhbmRzJywKICAgICAgJ2ZsYWcnID0+ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQUxDQUlBQUFENWdKcHVBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMFUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUZYU1VSQlZIamFZdnpQZ0FEL1VObFlFVUFBa3VUZ0NBQUlCZ0pnZ3E1Vm9BczFxTTB2ZHptTXozNjJ2ZXpqb2t4UEdpbWtFUTVXb0FRRUt1SzcxendDQ0t5QjRjLy9KOCtCU2huKy92di8rdy9EMzk5QUVveCsvLzhGSkgvOS93VVUrY1VvS3cyMEFTQ0FXQmhFRGYvTHlET3c4NEJVLy9rRHRnR0kvb0FSbUFIUkRKUVNGd1ZxQUFnZ3hvOGZQL0x5OG9LYzlQOC9BeGppQW95TWpBOGVQQUFJSUpaLy8vNUJWSU0wTU9CV0RwUmxaUHp6NXc5QUFMSDhneXZDYno3UUJyQ0pBQUhFeUtEWVgxNXIvK2oxMTk5Ly92MzUrKy9YbjcrLy8vNzdEU1Qvd01sL2Y0RGszNzhLNGp4N08yY0FCQkFMdzdOUDc3LytldjN4QjBnT3BPSGZyOTlBZFg5L2dUVkFTS0NHUC8vKzhYQ3lNakM4QXdnZ0ZvWmZJSFdTd3B3UWs0Q1cvQVlqc0tsQTh1K2ZmLy8vL3YzMzk5OC9ZUGdCblFRUVFJekFhR05nK0FWR2Y1QVlmNUJFL29DakdFSXlBUVFZQUd2S1o0QzYreFhSQUFBQUFFbEZUa1N1UW1DQycsCiAgICAgICdocmVmJyA9PiAnL25sL2QvbWFoYWFpLXZpbGxhLWFwYXJ0bWVudC10ZS1rb29wLWN1cmFjYW8tMTE0NDM5MScsCiAgICApLAogICAgJ2VzJyA9PiAKICAgIGFycmF5ICgKICAgICAgJ2xhbmcnID0+ICdlcycsCiAgICAgICdsYWJlbCcgPT4gJ0VzcGHDsW9sJywKICAgICAgJ2ZsYWcnID0+ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQUxDQUlBQUFENWdKcHVBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMFUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUZuU1VSQlZIamFZdnpQZ0FEL1VObFlFVUFBbXVUWUFBQVFoQUVZcUYvekZiZTUwUloxY01tUzlUTGkwcEpMUmpab2hBTVRHRlVOOUhkbkhnRUUxc0R3Ly8rVHAwQ2xJTlcvZjBOSUtQb0ZKSC85Ly9VTHlHYVVsUVhhQUJCQUxBeC9HZjR6QXQzMUY0aStmZmozL2NOL1hyRmZ6T3gvL3YvLy9mLy9MekFDTS83OVptRDgvZThUQTBBQU1ZSGREVlQ5NTh2WFAzOG5NREIwczN4OTQvVGo1eStZYWhoaUFLTGZRS1VBQWNRRWR0SmZvREhNRjJMK3ZQekRtRlhMZWxmNTUxdEdGT09oZXY0QS9RZ1FRRXhnSHdBZDhJZEZUL1d6NmorR2hscG1YU09XLzJ6Ly8vOEVxL3NKMThEdy96ZFFBMEFBTVFFeHhKampkeTl4Mi83NkVmTHo0TVhkUC9pK3dzeUdra0EzQXczOTg0Y0JJSUFZZnpJd01LZWwvYnQzandFYUxOQXdnWklReHAvZkRILytNcXFvdkwxNEVTQ0FXSUNlWnZyOWgwRlNFaFNnd0JnQXlnRkRFTVQrd3dBaGdRZ2M0a0FFVkF3UVFJeGZVU01TVHh4REFFQ0FBUUFKV2tlOHY0dTF0QUFBQUFCSlJVNUVya0pnZ2c9PScsCiAgICAgICdocmVmJyA9PiAnL2VzL2QvbWFoYWFpLXZpbGxhLWFwYXJ0bWVudC1jYXNhLWVuLXZlbnRhLWN1cmF6YW8tMTE0NDM5MScsCiAgICApLAogICAgJ2RlJyA9PiAKICAgIGFycmF5ICgKICAgICAgJ2xhbmcnID0+ICdkZScsCiAgICAgICdsYWJlbCcgPT4gJ0RldXRzY2gnLAogICAgICAnZmxhZycgPT4gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBTENBSUFBQUQ1Z0pwdUFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBR3pTVVJCVkhqYVl2VHhjV2I0KzUzaDN6OEdacFpmZi83OSt2M24vNy9mREF6L0dIQUFnQUJpK2YzN2UzRnhPWkQxRHd6Ky92M3o5eStFL0FNRnYzLy8rUXVtZnY5ZXQyNDFRQUN4TURFeEFWV2ZPSGtKSkFFVy9nVUVQMEVRRG43OCtBSEUvZ0ZPUUpVQUFjUWl5OEFnOE8rZkxGajFuMSsvUURwKy9nUWlvSzdmUDM3OCt2a0RxT0gzOXg5QS9SSi9nRTVsQUFoQVloemNBQUNDUUJEa2dSWFJqUDAzNFIwSWFEVFpURlpuMERJdG90MzdTOTRLTE9JTmVyRWNJN2FLSEFIRTh2LzNyLzkvL3pJQTFmMzYvUitvNHRldmYxQU5ZTlZBOVAwN1JEOUlKUU1EUUFDeEFESEQzejhJZzRHTUh6K0FxcUhhZ0twLy9md0xWQTBVLy92N0x3TURRQUN4L0xaaVlGRDcvNS81My8rLy8vNzlCcUsvRU1aL1VQQUNTWWEvdi84RHlYOUEwb1R4eDJFR2dBQmkrYS9IOEYvbTMzOUJvQ29RK2c4a2dSYUNRdmdQSkppQlltQXV3MzloeG4rdURBQUJ4TUx3aStFLzBQdXNSa3dNdnhoQkdvRGtINGIvdi8rRDJFRHl6Ly8vUUIxL1FMYjgrc1AwbFFFZ2dGaCt2R1hZTTIvU1A2QTJab2FmMzBFeC9KK1BnZWtId3o5Z1FEQXovUDBGWXJBeU1mejd3Y0RBelBEdEZ3TkFnQUVBZDNTSXlSaXRYMWdBQUFBQVNVVk9SSzVDWUlJPScsCiAgICAgICdocmVmJyA9PiAnL2RlL2QvbWFoYWFpLXZpbGxhLWFwYXJ0bWVudC16dS12ZXJrYXVmZW4tY3VyYWNhby0xMTQ0MzkxJywKICAgICksCiAgKSwKKQ==