Share this vehicle

Enquire Now

420 km
Automatic
Convertible
Red
Vehicle Details
Price: $818,880 Ex Gov't Charges*
Category: Used
Kilometres: 420 km
Fuel Consumption: 13L/100km
Body Type: Convertible, 2 doors, 2 seats
Engine: Petrol 3.9L
Exterior Colour: Red
Interior Colour: Beige
Reg Plate: F8SPIDER22
Reg Expiry: July 2025
Build Date: October 2022
Drive Type: Rear Wheel Drive
Stock #: SG22448888
VIN: WDD19772A22448888
Dealer Comments

2023 FERRARI F8 SPIDER

Finished in a sensational Tailor Made specification: Rosso 70 Anni (extra-range) paint with Nuovo Cuoio (extra range) interior.
Car has travelled a mere 420 kilometers and would suit 'New Car Buyers'.
Comes with full history, books, spare key, trickle charger, and car cover.
Manufacturer's New Car Warranty till January 2026.
Maintenance Free Program till January 2030.

Fantastic options:

• EXTRA RANGE:
Rosso 70 Anni
Nuovo Cuoio

• Apple CarPlay
• ADAS Full Pack
• Adaptive Front Light System
• Coloured Inner Details
• Seat Stripe in Tricolore Leather
• Centre Console Leather
• Dash Inserts in Carbon Fiber
• Dedicated Plate in Silver
• Coloured Upper Dashboard
• SUSPENSION LIFTER
• Cavallino Stitched on Head-Rests
• Italian Flag Embroidered Under EMPH
• Leather Inserts on Sides of Seats
• Steering Wheel with Tricolor Stitching
• Carbon Fiber Steering Wheel + LEDS
• Inner Colour Rear Leather Trim
• Tricolor Livery on Upper + Low Rim of Steering Wheel
• Scuderia Ferrari Shields on Fenders
• Front and Rear Parking Sensors
• Passenger Display
• Special 2 Layer Colors
• Aluminum Rev Counter
• Carbon Fiber Racing Seats
• Racing Seat Lifter
• Red Air Vent Grip on Dashboard
• Special Equipment
• Coloured Special Stitching
• Coloured Steering Wheel
• Surround View
• Upper Part of Passenger Compartment in Leather

~~~~~~~~~~~

AVAILABLE FOR IMMEDIATE DELIVERY & AS ALWAYS, HAPPY MOTORING….!

Our team is committed to offering the best selection of European Prestige and Sports Cars.
Our aim is to always have on offer, the best motor cars available at the most competitive prices.

* Price excludes Statutory charges

INTERSTATE VEHICLE SALE:
• Cars will be sold unregistered
• Short term Drive Permit provided
• NSW "Pink-Slip" supplied

NSW VEHICLE SALE:
• Stamp Duty should be paid to the dealer prior to collection, or otherwise within 14 days of invoice when transferred by client.

• Finance and Insurance available
• Australia-wide delivery available
• Trade-ins are welcomed
• Crypto currency accepted
• E&OE

PLEASE NOTE:
Various details are automatically supplied by Redbook and may or may not be specific to the model.
All due diligence enquiries ought to be made by the buyer with the original selling dealer or the manufacturer.

Specifications

Specifications

Standard Features

Standard Features

Contact Scuderia Graziani
Monday: 9:00am - 6:00pm
Tuesday: 9:00am - 6:00pm
Wednesday: 9:00am - 6:00pm
Thursday: 9:00am - 6:00pm
Friday: 9:00am - 6:00pm
Saturday: 9:00am - 6:00pm
Sunday: Closed and By Appointment Only

* If the price does not contain the notation that it is "Drive Away", the price may not include additional costs, such as stamp duty and other government charges. Please confirm price and features with the seller of the vehicle.

JOIN THE SCUDERIA GRAZIANI COMMUNITY
DREAM CARS, NEW ARRIVALS, LATEST EVENTS!
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBnZm9ybTtnZm9ybXx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImdmb3JtX21haW5fc2NyaXB0c19sb2FkZWQiLGZ1bmN0aW9uKCl7Z2Zvcm0uc2NyaXB0c0xvYWRlZD0hMH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe2dmb3JtLmRvbUxvYWRlZD0hMH0pLGdmb3JtPXtkb21Mb2FkZWQ6ITEsc2NyaXB0c0xvYWRlZDohMSxpbml0aWFsaXplT25Mb2FkZWQ6ZnVuY3Rpb24obyl7Z2Zvcm0uZG9tTG9hZGVkJiZnZm9ybS5zY3JpcHRzTG9hZGVkP28oKTohZ2Zvcm0uZG9tTG9hZGVkJiZnZm9ybS5zY3JpcHRzTG9hZGVkP3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixvKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJnZm9ybV9tYWluX3NjcmlwdHNfbG9hZGVkIixvKX0saG9va3M6e2FjdGlvbjp7fSxmaWx0ZXI6e319LGFkZEFjdGlvbjpmdW5jdGlvbihvLG4scix0KXtnZm9ybS5hZGRIb29rKCJhY3Rpb24iLG8sbixyLHQpfSxhZGRGaWx0ZXI6ZnVuY3Rpb24obyxuLHIsdCl7Z2Zvcm0uYWRkSG9vaygiZmlsdGVyIixvLG4scix0KX0sZG9BY3Rpb246ZnVuY3Rpb24obyl7Z2Zvcm0uZG9Ib29rKCJhY3Rpb24iLG8sYXJndW1lbnRzKX0sYXBwbHlGaWx0ZXJzOmZ1bmN0aW9uKG8pe3JldHVybiBnZm9ybS5kb0hvb2soImZpbHRlciIsbyxhcmd1bWVudHMpfSxyZW1vdmVBY3Rpb246ZnVuY3Rpb24obyxuKXtnZm9ybS5yZW1vdmVIb29rKCJhY3Rpb24iLG8sbil9LHJlbW92ZUZpbHRlcjpmdW5jdGlvbihvLG4scil7Z2Zvcm0ucmVtb3ZlSG9vaygiZmlsdGVyIixvLG4scil9LGFkZEhvb2s6ZnVuY3Rpb24obyxuLHIsdCxpKXtudWxsPT1nZm9ybS5ob29rc1tvXVtuXSYmKGdmb3JtLmhvb2tzW29dW25dPVtdKTt2YXIgZT1nZm9ybS5ob29rc1tvXVtuXTtudWxsPT1pJiYoaT1uKyJfIitlLmxlbmd0aCksZ2Zvcm0uaG9va3Nbb11bbl0ucHVzaCh7dGFnOmksY2FsbGFibGU6cixwcmlvcml0eTp0PW51bGw9PXQ/MTA6dH0pfSxkb0hvb2s6ZnVuY3Rpb24obixvLHIpe3ZhciB0O2lmKHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwociwxKSxudWxsIT1nZm9ybS5ob29rc1tuXVtvXSYmKChvPWdmb3JtLmhvb2tzW25dW29dKS5zb3J0KGZ1bmN0aW9uKG8sbil7cmV0dXJuIG8ucHJpb3JpdHktbi5wcmlvcml0eX0pLG8uZm9yRWFjaChmdW5jdGlvbihvKXsiZnVuY3Rpb24iIT10eXBlb2YodD1vLmNhbGxhYmxlKSYmKHQ9d2luZG93W3RdKSwiYWN0aW9uIj09bj90LmFwcGx5KG51bGwscik6clswXT10LmFwcGx5KG51bGwscil9KSksImZpbHRlciI9PW4pcmV0dXJuIHJbMF19LHJlbW92ZUhvb2s6ZnVuY3Rpb24obyxuLHQsaSl7dmFyIHI7bnVsbCE9Z2Zvcm0uaG9va3Nbb11bbl0mJihyPShyPWdmb3JtLmhvb2tzW29dW25dKS5maWx0ZXIoZnVuY3Rpb24obyxuLHIpe3JldHVybiEhKG51bGwhPWkmJmkhPW8udGFnfHxudWxsIT10JiZ0IT1vLnByaW9yaXR5KX0pLGdmb3JtLmhvb2tzW29dW25dPXIpfX0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZ2ZfYnJvd3Nlcl9jaHJvbWUgZ2Zvcm1fd3JhcHBlciBncmF2aXR5LXRoZW1lIGdmb3JtLXRoZW1lLS1uby1mcmFtZXdvcmsgam9pbi1jb21tdW5pdHlfd3JhcHBlcicgZGF0YS1mb3JtLXRoZW1lPSdncmF2aXR5LXRoZW1lJyBkYXRhLWZvcm0taW5kZXg9JzAnIGlkPSdnZm9ybV93cmFwcGVyXzYnID48ZGl2IGlkPSdnZl82JyBjbGFzcz0nZ2Zvcm1fYW5jaG9yJyB0YWJpbmRleD0nLTEnPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9oZWFkaW5nJz4KCQkJCQkJCTxwIGNsYXNzPSdnZm9ybV9yZXF1aXJlZF9sZWdlbmQnPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfNicgaWQ9J2dmb3JtXzYnIGNsYXNzPSdqb2luLWNvbW11bml0eScgYWN0aW9uPScvY2xpZW50ZWxlI2dmXzYnIGRhdGEtZm9ybWlkPSc2JyBub3ZhbGlkYXRlPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybS1ib2R5IGdmb3JtX2JvZHknPjxkaXYgaWQ9J2dmb3JtX2ZpZWxkc182JyBjbGFzcz0nZ2Zvcm1fZmllbGRzIHRvcF9sYWJlbCBmb3JtX3N1YmxhYmVsX2JlbG93IGRlc2NyaXB0aW9uX2JlbG93IHZhbGlkYXRpb25fYmVsb3cnPjxkaXYgaWQ9ImZpZWxkXzZfMSIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtdGV4dCBnZmllbGQtLWlucHV0LXR5cGUtdGV4dCBnZmllbGQtLXdpZHRoLXRoaXJkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBnZmllbGQtLW5vLWRlc2NyaXB0aW9uIGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGhpZGRlbl9sYWJlbCBmaWVsZF92YWxpZGF0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUiICBkYXRhLWpzLXJlbG9hZD0iZmllbGRfNl8xIiA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwgZ2Zvcm0tZmllbGQtbGFiZWwnIGZvcj0naW5wdXRfNl8xJz5GaXJzdCBOYW1lPHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCI+PHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCBnZmllbGRfcmVxdWlyZWRfYXN0ZXJpc2siPio8L3NwYW4+PC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX3RleHQnPjxpbnB1dCBuYW1lPSdpbnB1dF8xJyBpZD0naW5wdXRfNl8xJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbGFyZ2UnICAgIHBsYWNlaG9sZGVyPSdGaXJzdCBOYW1lJyBhcmlhLXJlcXVpcmVkPSJ0cnVlIiBhcmlhLWludmFsaWQ9ImZhbHNlIiAgIC8+IDwvZGl2PjwvZGl2PjxkaXYgaWQ9ImZpZWxkXzZfMiIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtdGV4dCBnZmllbGQtLWlucHV0LXR5cGUtdGV4dCBnZmllbGQtLXdpZHRoLXRoaXJkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBnZmllbGQtLW5vLWRlc2NyaXB0aW9uIGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGhpZGRlbl9sYWJlbCBmaWVsZF92YWxpZGF0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUiICBkYXRhLWpzLXJlbG9hZD0iZmllbGRfNl8yIiA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwgZ2Zvcm0tZmllbGQtbGFiZWwnIGZvcj0naW5wdXRfNl8yJz5MYXN0IE5hbWU8c3BhbiBjbGFzcz0iZ2ZpZWxkX3JlcXVpcmVkIj48c3BhbiBjbGFzcz0iZ2ZpZWxkX3JlcXVpcmVkIGdmaWVsZF9yZXF1aXJlZF9hc3RlcmlzayI+Kjwvc3Bhbj48L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyIGdpbnB1dF9jb250YWluZXJfdGV4dCc+PGlucHV0IG5hbWU9J2lucHV0XzInIGlkPSdpbnB1dF82XzInIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdsYXJnZScgICAgcGxhY2Vob2xkZXI9J0xhc3QgTmFtZScgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgICAvPiA8L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWVsZF82XzQiIGNsYXNzPSJnZmllbGQgZ2ZpZWxkLS10eXBlLWVtYWlsIGdmaWVsZC0taW5wdXQtdHlwZS1lbWFpbCBnZmllbGQtLXdpZHRoLXRoaXJkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBnZmllbGQtLW5vLWRlc2NyaXB0aW9uIGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGhpZGRlbl9sYWJlbCBmaWVsZF92YWxpZGF0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUiICBkYXRhLWpzLXJlbG9hZD0iZmllbGRfNl80IiA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwgZ2Zvcm0tZmllbGQtbGFiZWwnIGZvcj0naW5wdXRfNl80Jz5FbWFpbDxzcGFuIGNsYXNzPSJnZmllbGRfcmVxdWlyZWQiPjxzcGFuIGNsYXNzPSJnZmllbGRfcmVxdWlyZWQgZ2ZpZWxkX3JlcXVpcmVkX2FzdGVyaXNrIj4qPC9zcGFuPjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0naW5wdXRfNCcgaWQ9J2lucHV0XzZfNCcgdHlwZT0nZW1haWwnIHZhbHVlPScnIGNsYXNzPSdsYXJnZScgICBwbGFjZWhvbGRlcj0nRW1haWwnIGFyaWEtcmVxdWlyZWQ9InRydWUiIGFyaWEtaW52YWxpZD0iZmFsc2UiICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWVsZF82XzUiIGNsYXNzPSJnZmllbGQgZ2ZpZWxkLS10eXBlLXNlbGVjdCBnZmllbGQtLWlucHV0LXR5cGUtc2VsZWN0IGdmaWVsZC0td2lkdGgtdHdvLXRoaXJkcyBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZ2ZpZWxkLS1uby1kZXNjcmlwdGlvbiBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBoaWRkZW5fbGFiZWwgZmllbGRfdmFsaWRhdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlIiAgZGF0YS1qcy1yZWxvYWQ9ImZpZWxkXzZfNSIgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsIGdmb3JtLWZpZWxkLWxhYmVsJyBmb3I9J2lucHV0XzZfNSc+V2hhdCBpbnRlcmVzdHMgeW91PzxzcGFuIGNsYXNzPSJnZmllbGRfcmVxdWlyZWQiPjxzcGFuIGNsYXNzPSJnZmllbGRfcmVxdWlyZWQgZ2ZpZWxkX3JlcXVpcmVkX2FzdGVyaXNrIj4qPC9zcGFuPjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QnPjxzZWxlY3QgbmFtZT0naW5wdXRfNScgaWQ9J2lucHV0XzZfNScgY2xhc3M9J2xhcmdlIGdmaWVsZF9zZWxlY3QnICAgIGFyaWEtcmVxdWlyZWQ9InRydWUiIGFyaWEtaW52YWxpZD0iZmFsc2UiID48b3B0aW9uIHZhbHVlPScnIHNlbGVjdGVkPSdzZWxlY3RlZCcgY2xhc3M9J2dmX3BsYWNlaG9sZGVyJz5XaGF0IGludGVyZXN0cyB5b3U/PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FyczogTGF0ZXN0IEFycml2YWxzICZhbXA7IFN0b2NrJyA+Q2FyczogTGF0ZXN0IEFycml2YWxzICZhbXA7IFN0b2NrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3czogU0cgTmV3cycgPk5ld3M6IFNHIE5ld3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWZlc3R5bGUnID5MaWZlc3R5bGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGwgb2YgdGhlIGFib3ZlJyA+QWxsIG9mIHRoZSBhYm92ZTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImZpZWxkXzZfNiIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtaGlkZGVuIGdmaWVsZC0taW5wdXQtdHlwZS1oaWRkZW4gZ2ZpZWxkLS13aWR0aC1mdWxsIGdmb3JtX2hpZGRlbiBmaWVsZF9zdWJsYWJlbF9iZWxvdyBnZmllbGQtLW5vLWRlc2NyaXB0aW9uIGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGZpZWxkX3ZhbGlkYXRpb25fYmVsb3cgZ2ZpZWxkX3Zpc2liaWxpdHlfdmlzaWJsZSIgIGRhdGEtanMtcmVsb2FkPSJmaWVsZF82XzYiID48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyIGdpbnB1dF9jb250YWluZXJfdGV4dCc+PGlucHV0IG5hbWU9J2lucHV0XzYnIGlkPSdpbnB1dF82XzYnIHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgIGFyaWEtaW52YWxpZD0iZmFsc2UiIHZhbHVlPSdDbGllbnRlbGUnIC8+PC9kaXY+PC9kaXY+PGRpdiBpZD0iZmllbGRfNl83IiBjbGFzcz0iZ2ZpZWxkIGdmaWVsZC0tdHlwZS1oaWRkZW4gZ2ZpZWxkLS1pbnB1dC10eXBlLWhpZGRlbiBnZmllbGQtLXdpZHRoLWZ1bGwgZ2Zvcm1faGlkZGVuIGZpZWxkX3N1YmxhYmVsX2JlbG93IGdmaWVsZC0tbm8tZGVzY3JpcHRpb24gZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgZmllbGRfdmFsaWRhdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlIiAgZGF0YS1qcy1yZWxvYWQ9ImZpZWxkXzZfNyIgPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl90ZXh0Jz48aW5wdXQgbmFtZT0naW5wdXRfNycgaWQ9J2lucHV0XzZfNycgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyAgYXJpYS1pbnZhbGlkPSJmYWxzZSIgdmFsdWU9J2h0dHBzOi8vd3d3LnNjdWRlcmlhZ3JhemlhbmkuY29tL2NsaWVudGVsZScgLz48L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWVsZF82XzgiIGNsYXNzPSJnZmllbGQgZ2ZpZWxkLS10eXBlLWhvbmV5cG90IGdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIGZpZWxkX3N1YmxhYmVsX2JlbG93IGdmaWVsZC0taGFzLWRlc2NyaXB0aW9uIGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGZpZWxkX3ZhbGlkYXRpb25fYmVsb3cgZ2ZpZWxkX3Zpc2liaWxpdHlfdmlzaWJsZSIgIGRhdGEtanMtcmVsb2FkPSJmaWVsZF82XzgiID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCBnZm9ybS1maWVsZC1sYWJlbCcgZm9yPSdpbnB1dF82XzgnPkVtYWlsPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfOCcgaWQ9J2lucHV0XzZfOCcgdHlwZT0ndGV4dCcgdmFsdWU9JycgYXV0b2NvbXBsZXRlPSduZXctcGFzc3dvcmQnLz48L2Rpdj48ZGl2IGNsYXNzPSdnZmllbGRfZGVzY3JpcHRpb24nIGlkPSdnZmllbGRfZGVzY3JpcHRpb25fNl84Jz5UaGlzIGZpZWxkIGlzIGZvciB2YWxpZGF0aW9uIHB1cnBvc2VzIGFuZCBzaG91bGQgYmUgbGVmdCB1bmNoYW5nZWQuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fZm9vdGVyIHRvcF9sYWJlbCc+IDxidXR0b24gY2xhc3M9J2J1dHRvbicgdHlwZT0nc3VibWl0JyBpZD0nZ2Zvcm1fc3VibWl0X2J1dHRvbl82Jz5TdWJzY3JpYmU8L2J1dHRvbj4gPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZ2Zvcm1fYWpheCcgdmFsdWU9J2Zvcm1faWQ9NiZhbXA7dGl0bGU9JmFtcDtkZXNjcmlwdGlvbj0mYW1wO3RhYmluZGV4PTAmYW1wO3RoZW1lPWdyYXZpdHktdGhlbWUnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF82JyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nNicgLz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3VuaXF1ZV9pZCcgdmFsdWU9JycgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nc3RhdGVfNicgdmFsdWU9J1d5SmJYU0lzSWpJeE5EVTFZbVU1TmpBd1kyUm1PRFJrTkRsalpHRTRZMkZqWWpVM05UaGpJbDA9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfNicgaWQ9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl82JyB2YWx1ZT0nMCcgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzYnIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfNicgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJICAgICAgICAgICAgICAgIDxpZnJhbWUgc3R5bGU9J2Rpc3BsYXk6bm9uZTt3aWR0aDowcHg7aGVpZ2h0OjBweDsnIHNyYz0nYWJvdXQ6YmxhbmsnIG5hbWU9J2dmb3JtX2FqYXhfZnJhbWVfNicgaWQ9J2dmb3JtX2FqYXhfZnJhbWVfNicgdGl0bGU9J1RoaXMgaWZyYW1lIGNvbnRhaW5zIHRoZSBsb2dpYyByZXF1aXJlZCB0byBoYW5kbGUgQWpheCBwb3dlcmVkIEdyYXZpdHkgRm9ybXMuJz48L2lmcmFtZT4KCQkgICAgICAgICAgICAgICAgPHNjcmlwdD4KZ2Zvcm0uaW5pdGlhbGl6ZU9uTG9hZGVkKCBmdW5jdGlvbigpIHtnZm9ybUluaXRTcGlubmVyKCA2LCAnaHR0cHM6Ly93d3cuc2N1ZGVyaWFncmF6aWFuaS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5zdmcnLCB0cnVlICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV82Jykub24oJ2xvYWQnLGZ1bmN0aW9uKCl7dmFyIGNvbnRlbnRzID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnKicpLmh0bWwoKTt2YXIgaXNfcG9zdGJhY2sgPSBjb250ZW50cy5pbmRleE9mKCdHRl9BSkFYX1BPU1RCQUNLJykgPj0gMDtpZighaXNfcG9zdGJhY2spe3JldHVybjt9dmFyIGZvcm1fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV93cmFwcGVyXzYnKTt2YXIgaXNfY29uZmlybWF0aW9uID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyXzYnKS5sZW5ndGggPiAwO3ZhciBpc19yZWRpcmVjdCA9IGNvbnRlbnRzLmluZGV4T2YoJ2dmb3JtUmVkaXJlY3QoKXsnKSA+PSAwO3ZhciBpc19mb3JtID0gZm9ybV9jb250ZW50Lmxlbmd0aCA+IDAgJiYgISBpc19yZWRpcmVjdCAmJiAhIGlzX2NvbmZpcm1hdGlvbjt2YXIgbXQgPSBwYXJzZUludChqUXVlcnkoJ2h0bWwnKS5jc3MoJ21hcmdpbi10b3AnKSwgMTApICsgcGFyc2VJbnQoalF1ZXJ5KCdib2R5JykuY3NzKCdtYXJnaW4tdG9wJyksIDEwKSArIDEwMDtpZihpc19mb3JtKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzYnKS5odG1sKGZvcm1fY29udGVudC5odG1sKCkpO2lmKGZvcm1fY29udGVudC5oYXNDbGFzcygnZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcicpKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzYnKS5hZGRDbGFzcygnZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcicpO30gZWxzZSB7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl82JykucmVtb3ZlQ2xhc3MoJ2dmb3JtX3ZhbGlkYXRpb25fZXJyb3InKTt9c2V0VGltZW91dCggZnVuY3Rpb24oKSB7IC8qIGRlbGF5IHRoZSBzY3JvbGwgYnkgNTAgbWlsbGlzZWNvbmRzIHRvIGZpeCBhIGJ1ZyBpbiBjaHJvbWUgKi8galF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl82Jykub2Zmc2V0KCkudG9wIC0gbXQpOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzYnKS52YWwoKTtnZm9ybUluaXRTcGlubmVyKCA2LCAnaHR0cHM6Ly93d3cuc2N1ZGVyaWFncmF6aWFuaS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5zdmcnLCB0cnVlICk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wYWdlX2xvYWRlZCcsIFs2LCBjdXJyZW50X3BhZ2VdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfNiddID0gZmFsc2U7fWVsc2UgaWYoIWlzX3JlZGlyZWN0KXt2YXIgY29uZmlybWF0aW9uX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcuR0ZfQUpBWF9QT1NUQkFDSycpLmh0bWwoKTtpZighY29uZmlybWF0aW9uX2NvbnRlbnQpe2NvbmZpcm1hdGlvbl9jb250ZW50ID0gY29udGVudHM7fWpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfNicpLnJlcGxhY2VXaXRoKGNvbmZpcm1hdGlvbl9jb250ZW50KTtqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZl82Jykub2Zmc2V0KCkudG9wIC0gbXQpO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fY29uZmlybWF0aW9uX2xvYWRlZCcsIFs2XSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzYnXSA9IGZhbHNlO3dwLmExMXkuc3BlYWsoalF1ZXJ5KCcjZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2VfNicpLnRleHQoKSk7fWVsc2V7alF1ZXJ5KCcjZ2Zvcm1fNicpLmFwcGVuZChjb250ZW50cyk7aWYod2luZG93WydnZm9ybVJlZGlyZWN0J10pIHtnZm9ybVJlZGlyZWN0KCk7fX1qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoImdmb3JtX3ByZV9wb3N0X3JlbmRlciIsIFt7IGZvcm1JZDogIjYiLCBjdXJyZW50UGFnZTogImN1cnJlbnRfcGFnZSIsIGFib3J0OiBmdW5jdGlvbigpIHsgdGhpcy5wcmV2ZW50RGVmYXVsdCgpOyB9IH1dKTsgICAgICAgICAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHsgICAgICAgICAgICAgICAgcmV0dXJuOyAgICAgICAgIH0gICAgICAgIGNvbnN0IGdmb3JtV3JhcHBlckRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAiZ2Zvcm1fd3JhcHBlcl82IiApOyAgICAgICAgaWYgKCBnZm9ybVdyYXBwZXJEaXYgKSB7ICAgICAgICAgICAgY29uc3QgdmlzaWJpbGl0eVNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAic3BhbiIgKTsgICAgICAgICAgICB2aXNpYmlsaXR5U3Bhbi5pZCA9ICJnZm9ybV92aXNpYmlsaXR5X3Rlc3RfNiI7ICAgICAgICAgICAgZ2Zvcm1XcmFwcGVyRGl2Lmluc2VydEFkamFjZW50RWxlbWVudCggImFmdGVyZW5kIiwgdmlzaWJpbGl0eVNwYW4gKTsgICAgICAgIH0gICAgICAgIGNvbnN0IHZpc2liaWxpdHlUZXN0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoICJnZm9ybV92aXNpYmlsaXR5X3Rlc3RfNiIgKTsgICAgICAgIGxldCBwb3N0UmVuZGVyRmlyZWQgPSBmYWxzZTsgICAgICAgICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlclBvc3RSZW5kZXIoKSB7ICAgICAgICAgICAgaWYgKCBwb3N0UmVuZGVyRmlyZWQgKSB7ICAgICAgICAgICAgICAgIHJldHVybjsgICAgICAgICAgICB9ICAgICAgICAgICAgcG9zdFJlbmRlckZpcmVkID0gdHJ1ZTsgICAgICAgICAgICBqUXVlcnkoIGRvY3VtZW50ICkudHJpZ2dlciggJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzYsIGN1cnJlbnRfcGFnZV0gKTsgICAgICAgICAgICBnZm9ybS51dGlscy50cmlnZ2VyKCB7IGV2ZW50OiAnZ2Zvcm0vcG9zdFJlbmRlcicsIG5hdGl2ZTogZmFsc2UsIGRhdGE6IHsgZm9ybUlkOiA2LCBjdXJyZW50UGFnZTogY3VycmVudF9wYWdlIH0gfSApOyAgICAgICAgICAgIGlmICggdmlzaWJpbGl0eVRlc3REaXYgKSB7ICAgICAgICAgICAgICAgIHZpc2liaWxpdHlUZXN0RGl2LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoIHZpc2liaWxpdHlUZXN0RGl2ICk7ICAgICAgICAgICAgfSAgICAgICAgfSAgICAgICAgZnVuY3Rpb24gZGVib3VuY2UoIGZ1bmMsIHdhaXQsIGltbWVkaWF0ZSApIHsgICAgICAgICAgICB2YXIgdGltZW91dDsgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7ICAgICAgICAgICAgICAgIHZhciBjb250ZXh0ID0gdGhpcywgYXJncyA9IGFyZ3VtZW50czsgICAgICAgICAgICAgICAgdmFyIGxhdGVyID0gZnVuY3Rpb24oKSB7ICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ID0gbnVsbDsgICAgICAgICAgICAgICAgICAgIGlmICggIWltbWVkaWF0ZSApIGZ1bmMuYXBwbHkoIGNvbnRleHQsIGFyZ3MgKTsgICAgICAgICAgICAgICAgfTsgICAgICAgICAgICAgICAgdmFyIGNhbGxOb3cgPSBpbW1lZGlhdGUgJiYgIXRpbWVvdXQ7ICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCggdGltZW91dCApOyAgICAgICAgICAgICAgICB0aW1lb3V0ID0gc2V0VGltZW91dCggbGF0ZXIsIHdhaXQgKTsgICAgICAgICAgICAgICAgaWYgKCBjYWxsTm93ICkgZnVuYy5hcHBseSggY29udGV4dCwgYXJncyApOyAgICAgICAgICAgIH07ICAgICAgICB9ICAgICAgICBjb25zdCBkZWJvdW5jZWRUcmlnZ2VyUG9zdFJlbmRlciA9IGRlYm91bmNlKCBmdW5jdGlvbigpIHsgICAgICAgICAgICB0cmlnZ2VyUG9zdFJlbmRlcigpOyAgICAgICAgfSwgMjAwICk7ICAgICAgICBpZiAoIHZpc2liaWxpdHlUZXN0RGl2ICYmIHZpc2liaWxpdHlUZXN0RGl2Lm9mZnNldFBhcmVudCA9PT0gbnVsbCApIHsgICAgICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCAoIG11dGF0aW9ucyApID0+IHsgICAgICAgICAgICAgICAgbXV0YXRpb25zLmZvckVhY2goICggbXV0YXRpb24gKSA9PiB7ICAgICAgICAgICAgICAgICAgICBpZiAoIG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJyAmJiB2aXNpYmlsaXR5VGVzdERpdi5vZmZzZXRQYXJlbnQgIT09IG51bGwgKSB7ICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkVHJpZ2dlclBvc3RSZW5kZXIoKTsgICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7ICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIH0pOyAgICAgICAgICAgIH0pOyAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUoIGRvY3VtZW50LmJvZHksIHsgICAgICAgICAgICAgICAgYXR0cmlidXRlczogdHJ1ZSwgICAgICAgICAgICAgICAgY2hpbGRMaXN0OiBmYWxzZSwgICAgICAgICAgICAgICAgc3VidHJlZTogdHJ1ZSwgICAgICAgICAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbICdzdHlsZScsICdjbGFzcycgXSwgICAgICAgICAgICB9KTsgICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgdHJpZ2dlclBvc3RSZW5kZXIoKTsgICAgICAgIH0gICAgfSApO30gKTsKPC9zY3JpcHQ+Cg==