Carrying a sealed message from the war-hero Dragon King to the queen, Quentin and his outlaw companion, Theido, plunge headlong into a fantastic odyssey and mystic quest. Danger lurks everywhere in the brutal terrain and particularly in the threats from merciless creatures, both human and not-so-human.
While at the castle, the wicked Prince Jaspin schemes to secure the crown for himself and an evil sorcerer concocts his own monstrous plan. A plan that Quentin and Theido could never imagine.
In the youth's valiant efforts to save the kingdom and fulfill his unique destiny, he will cross strange and wondrous lands; encounter brave knights, beautiful maidens and a mysterious hermit; and battle a giant, deadly serpent.
Includes Dragon King Trilogy 1-3 (6 Parts).
Audio Sample Player
Social Media Share Widgets
Purchase Options
Format Information
ALL DOWNLOAD FORMATS INCLUDE LISTENING TO THE TITLE IN GRAPHICAUDIO ACCESS™ APP ON ANDROID AND APPLE IOS DEVICES! LEARN MORE.
GraphicAudio is available in various high quality digital audio formats.
Listen with Access App Only - Download our app for Apple iOS & Android. App Device Compatibility: Android phones with OS 5 or later and iPhone, iPad, and iPod touch with iOS 9.0 or later. The Access App Only option does not include a zip download.
MP3 (256kbps) - Download the zip file and Play with any media player. You also get to Listen with GraphicAudio Access App. This is the most common audio download format that will play on any computer or media player. The average size of this download will be around 600 MB.
M4B (256kbps) - Download the zip file and Play with Apple Music, iPhone, iPod and iPad. You also get to Listen with GraphicAudio Access App. This format will work only in iTunes, Quicktime, on a Mac computer, or on an iOS device such as iPhone or iPad. M4B's have the ability to bookmark in some audio apps. The M4B download is one complete file, so it is not split up into smaller parts. The average size of this download will be around 600 MB.
FLAC (16 bit / 44.1 khz) - Download the zip file and Play with VLC or other high quality audio software. You also get to Listen with GraphicAudio Access App. This a studio-quality lossless digital audio format. This means that it does not lose data like other types of compressed audio files. Lossless compression still retains low-level resolution of a standard CD. The advantage of FLAC is that it takes up less room on your computer than an WAV (CD files). The average size of this download will be around 2,000 MB (2 GB).
FLAC 5.1 SURROUND (16 bit / 44.1 khz) - Download the zip file and Play with 5.1 Surround Sound Home Theater systems or other high quality surround sound audio software. You also get to listen to stereo version with the GraphicAudio Access App. The average size of this download will be around 4,500 MB (4.5 GB).
How do I un-zip my download?
When you download the file, it arrives on your computer in a compressed format called zip. Before you can add the audio files to your library and listen to it, you'll need to decompress, or "unzip" it. Doing so is very easy: If you're on a PC, right-click the file and choose Extract All... You're done. If you're on a Mac, double-click the file and it extracts into a separate folder next to where the other file is located.
My zip download says it's expired. What now?
Click here to send a customer support ticket to us. Please include the order number if you have it.
6 Titles In This Set - See AllSee Fewer
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODYtMzE3NDQ5NDAxIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJES1QwMTAxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlJISmhaMjl1SUV0cGJtY2dWSEpwYkc5bmVTQXhPaUJKYmlCMGFHVWdTR0ZzYkNCdlppQjBhR1VnUkhKaFoyOXVJRXRwYm1jZ01TQnZaaUF5IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L2Qvay9ka3QwMTAxLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iRHJhZ29uJiN4MjA7S2luZyYjeDIwO1RyaWxvZ3kmI3gyMDsxJiN4M0E7JiN4MjA7SW4mI3gyMDt0aGUmI3gyMDtIYWxsJiN4MjA7b2YmI3gyMDt0aGUmI3gyMDtEcmFnb24mI3gyMDtLaW5nJiN4MjA7MSYjeDIwO29mJiN4MjA7MiIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODYtMzE3NDQ5NDAxIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4Ni0zMTc0NDk0MDEgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4Ni0zMTc0NDk0MDEiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDg2LTMxNzQ0OTQwMSAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RHJhZ29uIEtpbmcgVHJpbG9neTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4xIDo8L3NwYW4+ICAgICAgICAgICAgICAgIEluIHRoZSBIYWxsIG9mIHRoZSBEcmFnb24gS2luZyAoMSBvZiAyKSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgU3RlcGhlbiBSLiBMYXdoZWFkPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gTWF5IDEsIDIwMTEgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5BIGtpbmdkb20gaGFuZ3MgaW4gdGhlIGJhbGFuY2UuLi5hbmQgYSB5b3VuZyBib3kgYW5zd2VycyB0aGUgY2FsbC48YnIvPjxici8+Q2FycnlpbmcgYSBzZWFsZWQgbWVzc2FnZSBmcm9tIHRoZSB3YXItaGVybyBEcmFnb24gS2luZyB0byB0aGUgcXVlZW4sIFF1ZW50aW4gYW5kIGhpcyBvdXRsYXcgY29tcGFuaW9uLCBUaGVpZG8sIHBsdW5nZSBoZWFkbG9uZyBpbnRvIGEgZmFudGFzdGljIG9keXNzZXkgYW5kIG15c3RpYyBxdWVzdC4gRGFuZ2VyIGx1cmtzIGV2ZXJ5d2hlcmUgaW4gdGhlIGJydXRhbCB0ZXJyYWluIGFuZCBwYXJ0aWN1bGFybHkgaW4gdGhlIHRocmVhdHMgZnJvbSBtZXJjaWxlc3MgY3JlYXR1cmVzLCBib3RoIGh1bWFuIGFuZCBub3Qtc28taHVtYW4uPGJyLz48YnIvPldoaWxlIGF0IHRoZSBjYXN0bGUsIHRoZSB3aWNrZWQgUHJpbmNlIEphc3BpbiBzY2hlbWVzIHRvIHNlY3VyZSB0aGUgY3Jvd24gZm9yIGhpbXNlbGYgYW5kIGFuIGV2aWwgc29yY2VyZXIgY29uY29jdHMgaGlzIG93biBtb25zdHJvdXMgcGxhbi4gQSBwbGFuIHRoYXQgUXVlbnRpbiBhbmQgVGhlaWRvIGNvdWxkIG5ldmVyIGltYWdpbmUuPGJyLz48YnIvPkluIHRoZSB5b3V0aCdzIHZhbGlhbnQgZWZmb3J0cyB0byBzYXZlIHRoZSBraW5nZG9tIGFuZCBmdWxmaWxsIGhpcyB1bmlxdWUgZGVzdGlueSwgaGUgd2lsbCBjcm9zcyBzdHJhbmdlIGFuZCB3b25kcm91cyBsYW5kczsgZW5jb3VudGVyIGJyYXZlIGtuaWdodHMsIGJlYXV0aWZ1bCBtYWlkZW5zIGFuZCBhIG15c3RlcmlvdXMgaGVybWl0OyBhbmQgYmF0dGxlIGEgZ2lhbnQsIGRlYWRseSBzZXJwZW50LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDE5ODIgU3RlcGhlbiBMYXdoZWFkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUaG9tYXMgTmVsc29uLCBhIGRpdmlzaW9uIG9mIEhhcnBlckNvbGxpbnMgQ2hyaXN0aWFuIFB1Ymxpc2hpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTEgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvREtUMDEwMS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMTAxLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODctNzI1OTkwMTkwIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJES1QwMTAyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlJISmhaMjl1SUV0cGJtY2dWSEpwYkc5bmVTQXhPaUJKYmlCMGFHVWdTR0ZzYkNCdlppQjBhR1VnUkhKaFoyOXVJRXRwYm1jZ01pQnZaaUF5IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L2Qvay9ka3QwMTAyLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iRHJhZ29uJiN4MjA7S2luZyYjeDIwO1RyaWxvZ3kmI3gyMDsxJiN4M0E7JiN4MjA7SW4mI3gyMDt0aGUmI3gyMDtIYWxsJiN4MjA7b2YmI3gyMDt0aGUmI3gyMDtEcmFnb24mI3gyMDtLaW5nJiN4MjA7MiYjeDIwO29mJiN4MjA7MiIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODctNzI1OTkwMTkwIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4Ny03MjU5OTAxOTAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4Ny03MjU5OTAxOTAiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDg3LTcyNTk5MDE5MCAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RHJhZ29uIEtpbmcgVHJpbG9neTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4xIDo8L3NwYW4+ICAgICAgICAgICAgICAgIEluIHRoZSBIYWxsIG9mIHRoZSBEcmFnb24gS2luZyAoMiBvZiAyKSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgU3RlcGhlbiBSLiBMYXdoZWFkPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gSnVuIDEsIDIwMTEgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5BIGtpbmdkb20gaGFuZ3MgaW4gdGhlIGJhbGFuY2UuLi5hbmQgYSB5b3VuZyBib3kgYW5zd2VycyB0aGUgY2FsbC48YnIvPjxici8+Q2FycnlpbmcgYSBzZWFsZWQgbWVzc2FnZSBmcm9tIHRoZSB3YXItaGVybyBEcmFnb24gS2luZyB0byB0aGUgcXVlZW4sIFF1ZW50aW4gYW5kIGhpcyBvdXRsYXcgY29tcGFuaW9uLCBUaGVpZG8sIHBsdW5nZSBoZWFkbG9uZyBpbnRvIGEgZmFudGFzdGljIG9keXNzZXkgYW5kIG15c3RpYyBxdWVzdC4gRGFuZ2VyIGx1cmtzIGV2ZXJ5d2hlcmUgaW4gdGhlIGJydXRhbCB0ZXJyYWluIGFuZCBwYXJ0aWN1bGFybHkgaW4gdGhlIHRocmVhdHMgZnJvbSBtZXJjaWxlc3MgY3JlYXR1cmVzLCBib3RoIGh1bWFuIGFuZCBub3Qtc28taHVtYW4uPGJyLz48YnIvPldoaWxlIGF0IHRoZSBjYXN0bGUsIHRoZSB3aWNrZWQgUHJpbmNlIEphc3BpbiBzY2hlbWVzIHRvIHNlY3VyZSB0aGUgY3Jvd24gZm9yIGhpbXNlbGYgYW5kIGFuIGV2aWwgc29yY2VyZXIgY29uY29jdHMgaGlzIG93biBtb25zdHJvdXMgcGxhbi4gQSBwbGFuIHRoYXQgUXVlbnRpbiBhbmQgVGhlaWRvIGNvdWxkIG5ldmVyIGltYWdpbmUuPGJyLz48YnIvPkluIHRoZSB5b3V0aCdzIHZhbGlhbnQgZWZmb3J0cyB0byBzYXZlIHRoZSBraW5nZG9tIGFuZCBmdWxmaWxsIGhpcyB1bmlxdWUgZGVzdGlueSwgaGUgd2lsbCBjcm9zcyBzdHJhbmdlIGFuZCB3b25kcm91cyBsYW5kczsgZW5jb3VudGVyIGJyYXZlIGtuaWdodHMsIGJlYXV0aWZ1bCBtYWlkZW5zIGFuZCBhIG15c3RlcmlvdXMgaGVybWl0OyBhbmQgYmF0dGxlIGEgZ2lhbnQsIGRlYWRseSBzZXJwZW50LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDE5ODIgU3RlcGhlbiBMYXdoZWFkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUaG9tYXMgTmVsc29uLCBhIGRpdmlzaW9uIG9mIEhhcnBlckNvbGxpbnMgQ2hyaXN0aWFuIFB1Ymxpc2hpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTEgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvREtUMDEwMi5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMTAyLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODgtMTM4MDczMDE4NCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iREtUMDIwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJSSEpoWjI5dUlFdHBibWNnVkhKcGJHOW5lU0F5T2lCVWFHVWdWMkZ5Ykc5eVpITWdiMllnVG1sdUlERWdiMllnTWc9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9kL2svZGt0MDIwMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkRyYWdvbiYjeDIwO0tpbmcmI3gyMDtUcmlsb2d5JiN4MjA7MiYjeDNBOyYjeDIwO1RoZSYjeDIwO1dhcmxvcmRzJiN4MjA7b2YmI3gyMDtOaW4mI3gyMDsxJiN4MjA7b2YmI3gyMDsyIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4OC0xMzgwNzMwMTg0IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4OC0xMzgwNzMwMTg0IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODgtMTM4MDczMDE4NCIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODgtMTM4MDczMDE4NCAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RHJhZ29uIEtpbmcgVHJpbG9neTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4yIDo8L3NwYW4+ICAgICAgICAgICAgICAgIFRoZSBXYXJsb3JkcyBvZiBOaW4gKDEgb2YgMikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IFN0ZXBoZW4gUi4gTGF3aGVhZDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEF1ZyAxLCAyMDExICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDUgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SXQgaGFzIGJlZW4gdGVuIHllYXJzIHNpbmNlIFF1ZW50aW4gaGVscGVkIEVza2V2YXIsIHRoZSBEcmFnb24gS2luZywgYmF0dGxlIHRoZSBtb25zdHJvdXMgc29yY2VyZXIgTmltcm9vZC4gU2luY2UgdGhhdCB0aW1lLCB0aGVyZSBoYXMgYmVlbiBwZWFjZSBpbiB0aGUgbGFuZCBvZiBNZW5zYW5kb3IuIEJ1dCBldmVyeXRoaW5nIGlzIGFib3V0IHRvIGNoYW5nZS48YnIvPjxici8+QW4gdXJnZW50IG1lc3NhZ2Ugc3VtbW9ucyBRdWVudGluIHRvIENhc3RsZSBBc2tlbG9uLiBUaGUga2luZywgd2hvIGlzIGR5aW5nLCB3aXNoZXMgdG8gbmFtZSB0aGUgYnJhdmUgeW91bmcgbWFuIGhpcyBzdWNjZXNzb3IuIEJ1dCBmaXJzdCwgaGUgc2VuZHMgaGltIG9uIGFuIHVuZmF0aG9tYWJsZSBtaXNzaW9uLjxici8+PGJyLz5XaGF0IFF1ZW50aW4gYW5kIGhpcyBmcmllbmQgVG9saSwgdGhlIEpoZXIgaG9yc2VtYW4sIGRpc2NvdmVyIGlzIG5vdCBmb3IgdGhlIGNvd2FyZGx5LiBUaGUgYnJpZ2h0ZW5pbmcgV29sZiBTdGFyIGlzIGFuIG9tZW4gb2YgaW1wZW5kaW5nIGV2aWwgdGhhdCBtaWdodCBoZXJhbGQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZW5kIG9mIG1hbmtpbmQgb24gZWFydGguIEl0IHNpZ25pZmllcyBOaW4sIGEgZmVhcnNvbWUgZ2lhbnQgb2YgYSBtYW4gd2hvIGhvcGVzIHRvIGFkZCBNZW5zYW5kb3IgdG8gaGlzIGdyb3dpbmcgZW1waXJlLiBBbG9uZyB3aXRoIGhpcyBtZXJjaWxlc3Mgd2FybG9yZHMsIHRoZXkgYXJlIHRoZSBmdWxmaWxsbWVudCBvZiBhIG5pZ2h0bWFyaXNoIHByb3BoZWN5LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDE5ODMgU3RlcGhlbiBMYXdoZWFkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUaG9tYXMgTmVsc29uLCBhIGRpdmlzaW9uIG9mIEhhcnBlckNvbGxpbnMgQ2hyaXN0aWFuIFB1Ymxpc2hpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTEgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvREtUMDIwMS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMjAxLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODktMTcwNjIyNDUyOSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iREtUMDIwMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJSSEpoWjI5dUlFdHBibWNnVkhKcGJHOW5lU0F5T2lCVWFHVWdWMkZ5Ykc5eVpITWdiMllnVG1sdUlESWdiMllnTWc9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9kL2svZGt0MDIwMi5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkRyYWdvbiYjeDIwO0tpbmcmI3gyMDtUcmlsb2d5JiN4MjA7MiYjeDNBOyYjeDIwO1RoZSYjeDIwO1dhcmxvcmRzJiN4MjA7b2YmI3gyMDtOaW4mI3gyMDsyJiN4MjA7b2YmI3gyMDsyIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4OS0xNzA2MjI0NTI5IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA4OS0xNzA2MjI0NTI5IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODktMTcwNjIyNDUyOSIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwODktMTcwNjIyNDUyOSAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RHJhZ29uIEtpbmcgVHJpbG9neTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4yIDo8L3NwYW4+ICAgICAgICAgICAgICAgIFRoZSBXYXJsb3JkcyBvZiBOaW4gKDIgb2YgMikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IFN0ZXBoZW4gUi4gTGF3aGVhZDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IFNlcCAxLCAyMDExICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDYgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SXQgaGFzIGJlZW4gdGVuIHllYXJzIHNpbmNlIFF1ZW50aW4gaGVscGVkIEVza2V2YXIsIHRoZSBEcmFnb24gS2luZywgYmF0dGxlIHRoZSBtb25zdHJvdXMgc29yY2VyZXIgTmltcm9vZC4gU2luY2UgdGhhdCB0aW1lLCB0aGVyZSBoYXMgYmVlbiBwZWFjZSBpbiB0aGUgbGFuZCBvZiBNZW5zYW5kb3IuIEJ1dCBldmVyeXRoaW5nIGlzIGFib3V0IHRvIGNoYW5nZS48YnIvPjxici8+QW4gdXJnZW50IG1lc3NhZ2Ugc3VtbW9ucyBRdWVudGluIHRvIENhc3RsZSBBc2tlbG9uLiBUaGUga2luZywgd2hvIGlzIGR5aW5nLCB3aXNoZXMgdG8gbmFtZSB0aGUgYnJhdmUgeW91bmcgbWFuIGhpcyBzdWNjZXNzb3IuIEJ1dCBmaXJzdCwgaGUgc2VuZHMgaGltIG9uIGFuIHVuZmF0aG9tYWJsZSBtaXNzaW9uLjxici8+PGJyLz5XaGF0IFF1ZW50aW4gYW5kIGhpcyBmcmllbmQgVG9saSwgdGhlIEpoZXIgaG9yc2VtYW4sIGRpc2NvdmVyIGlzIG5vdCBmb3IgdGhlIGNvd2FyZGx5LiBUaGUgYnJpZ2h0ZW5pbmcgV29sZiBTdGFyIGlzIGFuIG9tZW4gb2YgaW1wZW5kaW5nIGV2aWwgdGhhdCBtaWdodCBoZXJhbGQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZW5kIG9mIG1hbmtpbmQgb24gZWFydGguIEl0IHNpZ25pZmllcyBOaW4sIGEgZmVhcnNvbWUgZ2lhbnQgb2YgYSBtYW4gd2hvIGhvcGVzIHRvIGFkZCBNZW5zYW5kb3IgdG8gaGlzIGdyb3dpbmcgZW1waXJlLiBBbG9uZyB3aXRoIGhpcyBtZXJjaWxlc3Mgd2FybG9yZHMsIHRoZXkgYXJlIHRoZSBmdWxmaWxsbWVudCBvZiBhIG5pZ2h0bWFyaXNoIHByb3BoZWN5LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDE5ODMgU3RlcGhlbiBMYXdoZWFkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUaG9tYXMgTmVsc29uLCBhIGRpdmlzaW9uIG9mIEhhcnBlckNvbGxpbnMgQ2hyaXN0aWFuIFB1Ymxpc2hpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTEgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvREtUMDIwMi5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMjAyLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTAtODYxMTY5NjkyIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJES1QwMzAxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlJISmhaMjl1SUV0cGJtY2dWSEpwYkc5bmVTQXpPaUJVYUdVZ1UzZHZjbVFnWVc1a0lIUm9aU0JHYkdGdFpTQXhJRzltSURJPSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9kL2svZGt0MDMwMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkRyYWdvbiYjeDIwO0tpbmcmI3gyMDtUcmlsb2d5JiN4MjA7MyYjeDNBOyYjeDIwO1RoZSYjeDIwO1N3b3JkJiN4MjA7YW5kJiN4MjA7dGhlJiN4MjA7RmxhbWUmI3gyMDsxJiN4MjA7b2YmI3gyMDsyIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA5MC04NjExNjk2OTIgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDkwLTg2MTE2OTY5MiBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDkwLTg2MTE2OTY5MiIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTAtODYxMTY5NjkyICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5EcmFnb24gS2luZyBUcmlsb2d5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgVGhlIFN3b3JkIGFuZCB0aGUgRmxhbWUgKDEgb2YgMikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IFN0ZXBoZW4gUi4gTGF3aGVhZDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE9jdCAxLCAyMDExICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDUgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+VGhlIERyYWdvbiBLaW5nIHdobyBydWxlcyB0aGUgbGFuZCBvZiBNZW5zYW5kb3IgaXMgbm9uZSBvdGhlciB0aGFuIFF1ZW50aW4sIHdob3NlIGNvdXJhZ2UgYW5kIGhlcm9pc20gaGF2ZSBzbG93bHkgdHJhbnNmb3JtZWQgaGltIGZyb20gYW4gb3JwaGFuZWQgc2VydmFudCBpbnRvIGEgd2FyIGhlcm8sIHJlc3BlY3RlZCBsZWFkZXIgYW5kIGEgZmllcmNlIG1hbiBvZiBmYWl0aC4gPGJyLz48YnIvPkJ1dCBldmVuIHRoZSBwb3dlcmZ1bCBjYW4gZmFsbCBwcmV5IHRvIHdlYWtuZXNzLiBUaGUgd29ybGQgaXMgdHVybmVkIHVwc2lkZS1kb3duIHdoZW4gdGhlIGRhcmsgc29yY2VyZXIgTmltcm9vZC0tbG9uZyB0aG91Z2h0IGRlYWQgYWZ0ZXIgYSBiYXR0bGUgd2l0aCB0aGUgcHJldmlvdXMgRHJhZ29uIEtpbmctLXJldHVybnMgd2l0aCBhIGZlYXJzb21lIHBsYW4uIFNoYXR0ZXJlZCBieSB0aGUgZGVhdGggb2YgYSBkZWFyIGFuZCB0cnVzdGVkIGZyaWVuZCwgdGhlIGFiZHVjdGlvbiBvZiBoaXMgYmVsb3ZlZCBzb24gYW5kIHRoZSBsb3NzIG9mIGhpcyBlbmNoYW50ZWQgc3dvcmQsIFF1ZW50aW4gZmluZHMgaGlzIGZhaXRoIHRlc3RlZCBsaWtlIG5ldmVyIGJlZm9yZS4gPGJyLz48YnIvPkluIFRoZSBTd29yZCBhbmQgdGhlIEZsYW1lLCB0aGUgZmluYWwgdm9sdW1lIG9mIFN0ZXBoZW4gUi4gTGF3aGVhZCdzIGNhcHRpdmF0aW5nIERyYWdvbiBLaW5nIFRyaWxvZ3ksIHRoZSBmYXRlIG9mIHRoZSBlbnRpcmUgd29ybGQgZGVwZW5kcyBvbiB0aGUgb3V0Y29tZSBvZiB0aGlzIGNsaW1hY3RpYyBiYXR0bGUgYmV0d2VlbiBnb29kIGFuZCBldmlsLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDE5ODQgU3RlcGhlbiBMYXdoZWFkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUaG9tYXMgTmVsc29uLCBhIGRpdmlzaW9uIG9mIEhhcnBlckNvbGxpbnMgQ2hyaXN0aWFuIFB1Ymxpc2hpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTEgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvREtUMDMwMS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMzAxLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTEtNjM2ODExODEwIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJES1QwMzAyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlJISmhaMjl1SUV0cGJtY2dWSEpwYkc5bmVTQXpPaUJVYUdVZ1UzZHZjbVFnWVc1a0lIUm9aU0JHYkdGdFpTQXlJRzltSURJPSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9kL2svZGt0MDMwMi5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkRyYWdvbiYjeDIwO0tpbmcmI3gyMDtUcmlsb2d5JiN4MjA7MyYjeDNBOyYjeDIwO1RoZSYjeDIwO1N3b3JkJiN4MjA7YW5kJiN4MjA7dGhlJiN4MjA7RmxhbWUmI3gyMDsyJiN4MjA7b2YmI3gyMDsyIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTA5MS02MzY4MTE4MTAgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDkxLTYzNjgxMTgxMCBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMDkxLTYzNjgxMTgxMCIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTEwOTEtNjM2ODExODEwICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5EcmFnb24gS2luZyBUcmlsb2d5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgVGhlIFN3b3JkIGFuZCB0aGUgRmxhbWUgKDIgb2YgMikgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IFN0ZXBoZW4gUi4gTGF3aGVhZDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE5vdiAxLCAyMDExICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDQgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+VGhlIERyYWdvbiBLaW5nIHdobyBydWxlcyB0aGUgbGFuZCBvZiBNZW5zYW5kb3IgaXMgbm9uZSBvdGhlciB0aGFuIFF1ZW50aW4sIHdob3NlIGNvdXJhZ2UgYW5kIGhlcm9pc20gaGF2ZSBzbG93bHkgdHJhbnNmb3JtZWQgaGltIGZyb20gYW4gb3JwaGFuZWQgc2VydmFudCBpbnRvIGEgd2FyIGhlcm8sIHJlc3BlY3RlZCBsZWFkZXIgYW5kIGEgZmllcmNlIG1hbiBvZiBmYWl0aC4gPGJyLz48YnIvPkJ1dCBldmVuIHRoZSBwb3dlcmZ1bCBjYW4gZmFsbCBwcmV5IHRvIHdlYWtuZXNzLiBUaGUgd29ybGQgaXMgdHVybmVkIHVwc2lkZS1kb3duIHdoZW4gdGhlIGRhcmsgc29yY2VyZXIgTmltcm9vZC0tbG9uZyB0aG91Z2h0IGRlYWQgYWZ0ZXIgYSBiYXR0bGUgd2l0aCB0aGUgcHJldmlvdXMgRHJhZ29uIEtpbmctLXJldHVybnMgd2l0aCBhIGZlYXJzb21lIHBsYW4uIFNoYXR0ZXJlZCBieSB0aGUgZGVhdGggb2YgYSBkZWFyIGFuZCB0cnVzdGVkIGZyaWVuZCwgdGhlIGFiZHVjdGlvbiBvZiBoaXMgYmVsb3ZlZCBzb24gYW5kIHRoZSBsb3NzIG9mIGhpcyBlbmNoYW50ZWQgc3dvcmQsIFF1ZW50aW4gZmluZHMgaGlzIGZhaXRoIHRlc3RlZCBsaWtlIG5ldmVyIGJlZm9yZS4gPGJyLz48YnIvPkluIFRoZSBTd29yZCBhbmQgdGhlIEZsYW1lLCB0aGUgZmluYWwgdm9sdW1lIG9mIFN0ZXBoZW4gUi4gTGF3aGVhZCdzIGNhcHRpdmF0aW5nIERyYWdvbiBLaW5nIFRyaWxvZ3ksIHRoZSBmYXRlIG9mIHRoZSBlbnRpcmUgd29ybGQgZGVwZW5kcyBvbiB0aGUgb3V0Y29tZSBvZiB0aGlzIGNsaW1hY3RpYyBiYXR0bGUgYmV0d2VlbiBnb29kIGFuZCBldmlsLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDE5ODQgU3RlcGhlbiBMYXdoZWFkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUaG9tYXMgTmVsc29uLCBhIGRpdmlzaW9uIG9mIEhhcnBlckNvbGxpbnMgQ2hyaXN0aWFuIFB1Ymxpc2hpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKFApIDIwMTEgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvREtUMDMwMi5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9ES1QwMzAyLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+