The only thing more glorious than the city itself was its inhabitants, Godlike beings, with silvery skin and hair of the purest, flowing white. Able to create powerful magics with a mere wave of their hands, the Elantrians were able to heal mortal wounds and create any object they desired. To be an Elantrian was to be without sickness, without pain and without want.
And anyone could become a god. Through a process known as the "Shaod",a normal person could go to bed one night and awake the next morning to throw away the shackles of mortality and become a being of incomparable power and grace. With Elantris as their beacon, the light inside all humanity was allowed to shine, elevating it to new heights.
But Elantris fell...ten years ago.
Includes Elantris Parts 1-3 and 2 side stories.
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.
5 Titles In This Set - See AllSee Fewer
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTExMTItMTAyNjM2OTE3MSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iRUxBTlRSSVMxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlJXeGhiblJ5YVhNZ01TQnZaaUF6IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L24vZS9uZXdfZWxhbnRyaXNfMV9vZl8zXzEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJFbGFudHJpcyYjeDIwOzEmI3gyMDtvZiYjeDIwOzMiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMTEyLTEwMjYzNjkxNzEgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0xMTEyLTEwMjYzNjkxNzEgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTExMi0xMDI2MzY5MTcxIik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTExMi0xMDI2MzY5MTcxICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5FbGFudHJpczwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4xIDo8L3NwYW4+ICAgICAgICAgICAgICAgIEVsYW50cmlzICgxIG9mIDMpICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBCcmFuZG9uIFNhbmRlcnNvbjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEFwciAxLCAyMDA5ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDYgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+VGhlIGNpdHkgb2YgdGhlIGdvZHMuIEVsYW50cmlzIG9uY2Ugc3Rvb2QgYXMgdGhlIHN5bWJvbCBvZiBhbGwgdGhhdCBpcyBiZWF1dGlmdWwuIEEgc3ByYXdsaW5nIG1ldHJvcG9saXMgb2YgdW5yaXZhbGVkIGdyYW5kZXVyLCBpdCB3YXMgYSBzeW1ib2wgb2YgcG93ZXIgYW5kIHN0cmVuZ3RoLCBidWlsdCB0byBiZSBhcyBpbXBvc2luZyBhcyBpdCB3YXMgbWFnbmlmaWNlbnQuPGJyLz48YnIvPlRoZSBvbmx5IHRoaW5nIG1vcmUgZ2xvcmlvdXMgdGhhbiB0aGUgY2l0eSBpdHNlbGYgd2FzIGl0cyBpbmhhYml0YW50cywgR29kbGlrZSBiZWluZ3MsIHdpdGggc2lsdmVyeSBza2luIGFuZCBoYWlyIG9mIHRoZSBwdXJlc3QsIGZsb3dpbmcgd2hpdGUuIEFibGUgdG8gY3JlYXRlIHBvd2VyZnVsIG1hZ2ljcyB3aXRoIGEgbWVyZSB3YXZlIG9mIHRoZWlyIGhhbmRzLCB0aGUgRWxhbnRyaWFucyB3ZXJlIGFibGUgdG8gaGVhbCBtb3J0YWwgd291bmRzIGFuZCBjcmVhdGUgYW55IG9iamVjdCB0aGV5IGRlc2lyZWQuIFRvIGJlIGFuIEVsYW50cmlhbiB3YXMgdG8gYmUgd2l0aG91dCBzaWNrbmVzcywgd2l0aG91dCBwYWluIGFuZCB3aXRob3V0IHdhbnQuPGJyLz48YnIvPkFuZCBhbnlvbmUgY291bGQgYmVjb21lIGEgZ29kLiBUaHJvdWdoIGEgcHJvY2VzcyBrbm93biBhcyB0aGUgIlNoYW9kIixhIG5vcm1hbCBwZXJzb24gY291bGQgZ28gdG8gYmVkIG9uZSBuaWdodCBhbmQgYXdha2UgdGhlIG5leHQgbW9ybmluZyB0byB0aHJvdyBhd2F5IHRoZSBzaGFja2xlcyBvZiBtb3J0YWxpdHkgYW5kIGJlY29tZSBhIGJlaW5nIG9mIGluY29tcGFyYWJsZSBwb3dlciBhbmQgZ3JhY2UuIFdpdGggRWxhbnRyaXMgYXMgdGhlaXIgYmVhY29uLCB0aGUgbGlnaHQgaW5zaWRlIGFsbCBodW1hbml0eSB3YXMgYWxsb3dlZCB0byBzaGluZSwgZWxldmF0aW5nIGl0IHRvIG5ldyBoZWlnaHRzLjxici8+PGJyLz5CdXQgRWxhbnRyaXMgZmVsbC4uLnRlbiB5ZWFycyBhZ28uICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICAmY29weTsgMjAwNSBieSBCcmFuZG9uIFNhbmRlcnNvbi4gUmVjb3JkZWQgd2l0aCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgQXV0aG9yIGFuZCBEcmFnb25zdGVlbCBFbnRlcnRhaW5tZW50LCBMTEMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChQKSAyMDA5IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0VMQU5UUklTMS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9FTEFOVFJJUzEubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTExMTMtOTQwMjU0MiI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iRUxBTlRSSVMyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlJXeGhiblJ5YVhNZ01pQnZaaUF6IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ1NDE4MDU0LmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iRWxhbnRyaXMmI3gyMDsyJiN4MjA7b2YmI3gyMDszIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTExMy05NDAyNTQyIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTExMy05NDAyNTQyIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTExMTMtOTQwMjU0MiIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTExMTMtOTQwMjU0MiAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RWxhbnRyaXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MiA6PC9zcGFuPiAgICAgICAgICAgICAgICBFbGFudHJpcyAoMiBvZiAzKSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgQnJhbmRvbiBTYW5kZXJzb248L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBNYXkgMSwgMjAwOSAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA2IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPlRoZSBjaXR5IG9mIHRoZSBnb2RzLiBFbGFudHJpcyBvbmNlIHN0b29kIGFzIHRoZSBzeW1ib2wgb2YgYWxsIHRoYXQgaXMgYmVhdXRpZnVsLiBBIHNwcmF3bGluZyBtZXRyb3BvbGlzIG9mIHVucml2YWxlZCBncmFuZGV1ciwgaXQgd2FzIGEgc3ltYm9sIG9mIHBvd2VyIGFuZCBzdHJlbmd0aCwgYnVpbHQgdG8gYmUgYXMgaW1wb3NpbmcgYXMgaXQgd2FzIG1hZ25pZmljZW50Ljxici8+PGJyLz5UaGUgb25seSB0aGluZyBtb3JlIGdsb3Jpb3VzIHRoYW4gdGhlIGNpdHkgaXRzZWxmIHdhcyBpdHMgaW5oYWJpdGFudHMsIEdvZGxpa2UgYmVpbmdzLCB3aXRoIHNpbHZlcnkgc2tpbiBhbmQgaGFpciBvZiB0aGUgcHVyZXN0LCBmbG93aW5nIHdoaXRlLiBBYmxlIHRvIGNyZWF0ZSBwb3dlcmZ1bCBtYWdpY3Mgd2l0aCBhIG1lcmUgd2F2ZSBvZiB0aGVpciBoYW5kcywgdGhlIEVsYW50cmlhbnMgd2VyZSBhYmxlIHRvIGhlYWwgbW9ydGFsIHdvdW5kcyBhbmQgY3JlYXRlIGFueSBvYmplY3QgdGhleSBkZXNpcmVkLiBUbyBiZSBhbiBFbGFudHJpYW4gd2FzIHRvIGJlIHdpdGhvdXQgc2lja25lc3MsIHdpdGhvdXQgcGFpbiBhbmQgd2l0aG91dCB3YW50Ljxici8+PGJyLz5BbmQgYW55b25lIGNvdWxkIGJlY29tZSBhIGdvZC4gVGhyb3VnaCBhIHByb2Nlc3Mga25vd24gYXMgdGhlICJTaGFvZCIsYSBub3JtYWwgcGVyc29uIGNvdWxkIGdvIHRvIGJlZCBvbmUgbmlnaHQgYW5kIGF3YWtlIHRoZSBuZXh0IG1vcm5pbmcgdG8gdGhyb3cgYXdheSB0aGUgc2hhY2tsZXMgb2YgbW9ydGFsaXR5IGFuZCBiZWNvbWUgYSBiZWluZyBvZiBpbmNvbXBhcmFibGUgcG93ZXIgYW5kIGdyYWNlLiBXaXRoIEVsYW50cmlzIGFzIHRoZWlyIGJlYWNvbiwgdGhlIGxpZ2h0IGluc2lkZSBhbGwgaHVtYW5pdHkgd2FzIGFsbG93ZWQgdG8gc2hpbmUsIGVsZXZhdGluZyBpdCB0byBuZXcgaGVpZ2h0cy48YnIvPjxici8+QnV0IEVsYW50cmlzIGZlbGwuLi50ZW4geWVhcnMgYWdvLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDIwMDUgYnkgQnJhbmRvbiBTYW5kZXJzb24uIFJlY29yZGVkIHdpdGggdGhlIHBlcm1pc3Npb24gb2YgdGhlIEF1dGhvciBhbmQgRHJhZ29uc3RlZWwgRW50ZXJ0YWlubWVudCwgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoUCkgMjAwOSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9FTEFOVFJJUzIubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvRUxBTlRSSVMyLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTExMTQtMTU0NjQyNDA0MyI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iRUxBTlRSSVMzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlJXeGhiblJ5YVhNZ015QnZaaUF6IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ1NDE4MDc4LmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iRWxhbnRyaXMmI3gyMDszJiN4MjA7b2YmI3gyMDszIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTExNC0xNTQ2NDI0MDQzIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMTExNC0xNTQ2NDI0MDQzIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTExMTQtMTU0NjQyNDA0MyIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTExMTQtMTU0NjQyNDA0MyAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RWxhbnRyaXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MyA6PC9zcGFuPiAgICAgICAgICAgICAgICBFbGFudHJpcyAoMyBvZiAzKSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgQnJhbmRvbiBTYW5kZXJzb248L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBKdW4gMSwgMjAwOSAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA2IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPlRoZSBjaXR5IG9mIHRoZSBnb2RzLiBFbGFudHJpcyBvbmNlIHN0b29kIGFzIHRoZSBzeW1ib2wgb2YgYWxsIHRoYXQgaXMgYmVhdXRpZnVsLiBBIHNwcmF3bGluZyBtZXRyb3BvbGlzIG9mIHVucml2YWxlZCBncmFuZGV1ciwgaXQgd2FzIGEgc3ltYm9sIG9mIHBvd2VyIGFuZCBzdHJlbmd0aCwgYnVpbHQgdG8gYmUgYXMgaW1wb3NpbmcgYXMgaXQgd2FzIG1hZ25pZmljZW50Ljxici8+PGJyLz5UaGUgb25seSB0aGluZyBtb3JlIGdsb3Jpb3VzIHRoYW4gdGhlIGNpdHkgaXRzZWxmIHdhcyBpdHMgaW5oYWJpdGFudHMsIEdvZGxpa2UgYmVpbmdzLCB3aXRoIHNpbHZlcnkgc2tpbiBhbmQgaGFpciBvZiB0aGUgcHVyZXN0LCBmbG93aW5nIHdoaXRlLiBBYmxlIHRvIGNyZWF0ZSBwb3dlcmZ1bCBtYWdpY3Mgd2l0aCBhIG1lcmUgd2F2ZSBvZiB0aGVpciBoYW5kcywgdGhlIEVsYW50cmlhbnMgd2VyZSBhYmxlIHRvIGhlYWwgbW9ydGFsIHdvdW5kcyBhbmQgY3JlYXRlIGFueSBvYmplY3QgdGhleSBkZXNpcmVkLiBUbyBiZSBhbiBFbGFudHJpYW4gd2FzIHRvIGJlIHdpdGhvdXQgc2lja25lc3MsIHdpdGhvdXQgcGFpbiBhbmQgd2l0aG91dCB3YW50Ljxici8+PGJyLz5BbmQgYW55b25lIGNvdWxkIGJlY29tZSBhIGdvZC4gVGhyb3VnaCBhIHByb2Nlc3Mga25vd24gYXMgdGhlICJTaGFvZCIsYSBub3JtYWwgcGVyc29uIGNvdWxkIGdvIHRvIGJlZCBvbmUgbmlnaHQgYW5kIGF3YWtlIHRoZSBuZXh0IG1vcm5pbmcgdG8gdGhyb3cgYXdheSB0aGUgc2hhY2tsZXMgb2YgbW9ydGFsaXR5IGFuZCBiZWNvbWUgYSBiZWluZyBvZiBpbmNvbXBhcmFibGUgcG93ZXIgYW5kIGdyYWNlLiBXaXRoIEVsYW50cmlzIGFzIHRoZWlyIGJlYWNvbiwgdGhlIGxpZ2h0IGluc2lkZSBhbGwgaHVtYW5pdHkgd2FzIGFsbG93ZWQgdG8gc2hpbmUsIGVsZXZhdGluZyBpdCB0byBuZXcgaGVpZ2h0cy48YnIvPjxici8+QnV0IEVsYW50cmlzIGZlbGwuLi50ZW4geWVhcnMgYWdvLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDIwMDUgYnkgQnJhbmRvbiBTYW5kZXJzb24uIFJlY29yZGVkIHdpdGggdGhlIHBlcm1pc3Npb24gb2YgdGhlIEF1dGhvciBhbmQgRHJhZ29uc3RlZWwgRW50ZXJ0YWlubWVudCwgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoUCkgMjAwOSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9FTEFOVFJJUzMubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvRUxBTlRSSVMzLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTMwMzItMTIzNzkyMDAzNyI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iRUxBTlRSSVNIT1BFIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlZHaGxJRWh2Y0dVZ1QyWWdSV3hoYm5SeWFYTT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvOS83Lzk3ODE2NDU0MTkxMTJfMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IlRoZSYjeDIwO0hvcGUmI3gyMDtPZiYjeDIwO0VsYW50cmlzIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzAzMi0xMjM3OTIwMDM3IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMzAzMi0xMjM3OTIwMDM3IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTMwMzItMTIzNzkyMDAzNyIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTMwMzItMTIzNzkyMDAzNyAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+RWxhbnRyaXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBIb3BlIE9mIEVsYW50cmlzICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBCcmFuZG9uIFNhbmRlcnNvbjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE1heSAxNiwgMjAxNyAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiAwLjYgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+Tm90ZXMgRnJvbSBUaGUgQXV0aG9yOiBUaGUgZm9sbG93aW5nIGlzIGEgc2hvcnQgc3RvcnkgSSB3cm90ZSBpbiB0aGUgRWxhbnRyaXMgd29ybGQgYmFjayBpbiBKYW51YXJ5IG9mIDIwMDYuIEF0IHRoYXQgcG9pbnQsIEVsYW50cmlzIGhhZCBvbmx5IGJlZW4gb3V0IGluIHN0b3JlcyBmb3IgYWJvdXQgc2V2ZW4gb3IgZWlnaHQgbW9udGhzLCBidXQgSSBhY3R1YWxseSBoYWRu4oCZdCB3cml0dGVuIGFueXRoaW5nIG5ldyBvbiB0aGUgc3Rvcnkgb3Igd29ybGQgc2luY2UgMjAwMCwgd2hlbiBJ4oCZZCBmaW5pc2hlZCB0aGUgZmlyc3QgZHJhZnQgb2YgdGhlIG9yaWdpbmFsIGJvb2suPGJyIC8+DQo8YnIgLz4NClRoZXJlIHdlcmUgYWx3YXlzIGEgZmV3IGhvbGVzIGluIHRoZSBtYW51c2NyaXB0IHdoZXJlIEkgZGVjaWRlZCBub3QgdG8gaW5jbHVkZSB2aWV3cG9pbnRzIG9yIHNlY3Rpb25zIG9mIGV4cGxhbmF0aW9uIGluIHRoZSBuYW1lIG9mIHN0cmVhbWxpbmluZywgcGFydGljdWxhcmx5IGF0IHRoZSBlbmQuIEluIHRoZSBiYWNrIG9mIG15IG1pbmQsIEkga25ldyB3aGF0IGhhcHBlbmVkLiBUaGlzIHN0b3J5IHRhbGtzIGFib3V0IG9uZSBvZiB0aG9zZSBob2xlczsgaXQgaXMgbWVhbnQgdG8gYmUgcmVhZCBhZnRlciB5b3XigJl2ZSBmaW5pc2hlZCB0aGUgbm92ZWwgYW5kIHRha2VzIHBsYWNlIGR1cmluZyB0aGUgZXZlbnRzIG9mIHRoZSBjbGltYXguIEluIHRoZSBhbm5vdGF0aW9uLCBJ4oCZdmUgd3JpdHRlbiBhIGZ1cnRoZXIgZXhwbGFuYXRpb24gb2Ygd2h5IEkgd3JvdGUgdGhpcyBwaWVjZS4gU29tZSBvZiB5b3UgbWF5IGZpbmQgaXQgaW50ZXJlc3RpbmcgdG8gcmVhZCB0aGlzIGFoZWFkIG9mIHRpbWU7IEkgcHV0IGl0IGluIHRoZSBhbm5vdGF0aW9uLCBob3dldmVyLCBhcyBJIGtub3cgb3RoZXJzIHdvdWxkIHJhdGhlciBlbmpveSB0aGUgc3Rvcnkgd2l0aG91dCBiaWFzIGJlZm9yZWhhbmQsIHRoZW4gcmVhZCBteSB0aG91Z2h0cyBhZnRlcndhcmQuIEVpdGhlciB3YXksIGlmIHlvdSBoYXZlbuKAmXQgbGlzdGVuZWQgdG8gRWxhbnRyaXMsIHRoaXMgY29udGFpbnMgbWFqb3Igc3BvaWxlcnMuIE1pZ2h0IEkgc3VnZ2VzdCBsaXN0ZW5pbmcgdG8gdGhlIGJvb2sgZmlyc3Q/IFRoaXMgc3Rvcnkgd29u4oCZdCB3b3JrIGF0IGFsbCBmb3IgeW91IGlmIHlvdSBoYXZlbuKAmXQuICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICDCqSAyMDA2IGJ5IEJyYW5kb24gU2FuZGVyc29uLiBSZWNvcmRlZCB3aXRoIHRoZSBwZXJtaXNzaW9uIG9mIHRoZSBBdXRob3IgYW5kIERyYWdvbnN0ZWVsIEVudGVydGFpbm1lbnQsIExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g4oSXIDIwMTcgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9FTEFOVFJJU0hPUEUubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvRUxBTlRSSVNIT1BFLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTQ0MTEtMTg5NzU0ODE0MiI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iRUxBTlRSSVNTT1VMIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlZHaGxJRVZ0Y0dWeWIzSW5jeUJUYjNWcyIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0NTQxOTEzNl8xLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iVGhlJiN4MjA7RW1wZXJvciYjeDI3O3MmI3gyMDtTb3VsIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItNDQxMS0xODk3NTQ4MTQyIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItNDQxMS0xODk3NTQ4MTQyIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTQ0MTEtMTg5NzU0ODE0MiIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTQ0MTEtMTg5NzU0ODE0MiAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+U3RhbmQtQWxvbmUgVGl0bGU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBFbXBlcm9yJ3MgU291bCAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgQnJhbmRvbiBTYW5kZXJzb248L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBKdWwgMjQsIDIwMTkgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNCBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5XaGVuIFNoYWkgaXMgY2F1Z2h0IHJlcGxhY2luZyB0aGUgTW9vbiBTY2VwdGVyIHdpdGggaGVyIG5lYXJseSBmbGF3bGVzcyBmb3JnZXJ5LCBzaGUgbXVzdCBiYXJnYWluIGZvciBoZXIgbGlmZS4gQW4gYXNzYXNzaW4gaGFzIGxlZnQgdGhlIEVtcGVyb3IgQXNocmF2YW4gd2l0aG91dCBjb25zY2lvdXNuZXNzLCBhIGNpcmN1bXN0YW5jZSBjb25jZWFsZWQgb25seSBieSB0aGUgZGVhdGggb2YgaGlzIHdpZmUuIElmIHRoZSBlbXBlcm9yIGRvZXMgbm90IGVtZXJnZSBhZnRlciBoaXMgaHVuZHJlZC1kYXkgbW91cm5pbmcgcGVyaW9kLCB0aGUgcnVsZSBvZiB0aGUgSGVyaXRhZ2UgRmFjdGlvbiB3aWxsIGJlIGZvcmZlaXQgYW5kIHRoZSBlbXBpcmUgd2lsbCBmYWxsIGludG8gY2hhb3MuPGJyIC8+DQo8YnIgLz4NClNoYWkgaXMgZ2l2ZW4gYW4gaW1wb3NzaWJsZSB0YXNrOiB0byBjcmVhdGXigJR0byBGb3JnZeKAlGEgbmV3IHNvdWwgZm9yIHRoZSBlbXBlcm9yIGluIGxlc3MgdGhhbiBvbmUgaHVuZHJlZCBkYXlzLiBCdXQgaGVyIHNvdWwtRm9yZ2VyeSBpcyBjb25zaWRlcmVkIGFuIGFib21pbmF0aW9uIGJ5IGhlciBjYXB0b3JzLiBTaGUgaXMgY29uZmluZWQgdG8gYSB0aW55LCBkaXJ0eSBjaGFtYmVyLCBndWFyZGVkIGJ5IGEgbWFuIHdobyBoYXRlcyBoZXIsIHNwaWVkIHVwb24gYnkgcG9saXRpY2lhbnMsIGFuZCB0cmFwcGVkIGJlaGluZCBhIGRvb3Igc2VhbGVkIGluIGhlciBvd24gYmxvb2QuIFNoYWkncyBvbmx5IHBvc3NpYmxlIGFsbHkgaXMgdGhlIGVtcGVyb3IncyBtb3N0IGxveWFsIGNvdW5zZWxvciwgR2FvdG9uYSwgd2hvIHN0cnVnZ2xlcyB0byB1bmRlcnN0YW5kIGhlciB0cnVlIHRhbGVudC48YnIgLz4NCjxiciAvPg0KVGltZSBpcyBydW5uaW5nIG91dCBmb3IgU2hhaS4gRm9yZ2luZywgd2hpbGUgZGVkdWNpbmcgdGhlIG1vdGl2YXRpb25zIG9mIGhlciBjYXB0b3JzLCBzaGUgbmVlZHMgYSBwZXJmZWN0IHBsYW4gdG8gZXNjYXBlLi4uPGJyIC8+DQo8YnIgLz4NCldpbm5lciwgMjAxMyBIdWdvIEF3YXJkIGZvciBCZXN0IE5vdmVsbGEhPGJyIC8+DQpOb21pbmVlLCAyMDEzIFdvcmxkIEZhbnRhc3kgQXdhcmQgZm9yIE5vdmVsbGEhPGJyIC8+DQo8YnIgLz4NCkJyYW5kb24gU2FuZGVyc29uIHNheXMgIknigJltIGV4dHJlbWVseSBwcm91ZCBvZiB0aGlzIG5vdmVsbGEuIEkgdGhpbmsgaXTigJlzIG15IGJlc3QgcGllY2Ugb2Ygc2hvcnQgZmljdGlvbiB0byBkYXRlLCBhbmQgc3RhbmRzIGFzIG9uZSBvZiB0aGUgYmVzdCBjb21wbGV0ZSB3b3JrcyBJ4oCZdmUgZG9uZSBvZiBhbnkgbGVuZ3RoLiBJdCByZWFkcyBtb3JlIGxpa2UgYSBzaG9ydCBub3ZlbCB0aGFuIGl0IGRvZXMgYSBsb25nIHNob3J0IHN0b3J5LCBhbmQgZG9lcyBhIGxvdCBvZiB3aGF0IEkgZG8gaW4gbXkgbG9uZ2VyIGZpY3Rpb27igJRpdCBoYXMgYSBncmVhdCBtYWdpYyBzeXN0ZW0gYW5kIGNvb2wgY2hhcmFjdGVycy48YnIgLz4NCjxiciAvPg0KU28gd2hhdCBpcyBUaGUgRW1wZXJvcuKAmXMgU291bD8gSXQgdGFrZXMgcGxhY2UgaW4gdGhlIHNhbWUgd29ybGQgYXMgRWxhbnRyaXMsIHRob3VnaCBpbiBhIHZlcnkgZGlmZmVyZW50IHJlZ2lvbiwgd2l0aCBvbmx5IGEgZmV3IHRpZXMgdG8gRWxhbnRyaXMuIFNvIHlvdSBkZWZpbml0ZWx5IGRvbuKAmXQgaGF2ZSB0byBoYXZlIHJlYWQgRWxhbnRyaXMgdG8gYXBwcmVjaWF0ZSBpdC4gKFRob3VnaCBpZiB5b3UgaGF2ZSwgeW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSBzb21lIGZ1biB0aWVzIGJldHdlZW4gdGhlIG1hZ2ljIHN5c3RlbXMuKSBJdCB0ZWxscyB0aGUgc3Rvcnkgb2YgYSB3b21hbiBuYW1lZCBTaGFpLCBhIHRoaWVmIGFuZCBhIEZvcmdlcuKAlGEgcGVyc29uIGNhcGFibGUgb2YgcmV3cml0aW5nIHRoZSBwYXN0cyBvZiBvYmplY3RzIGluIG9yZGVyIHRvIGNoYW5nZSB0aGVpciBwcmVzZW50LiIgICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIMKpIDIwMTIgYnkgQnJhbmRvbiBTYW5kZXJzb24uIFJlY29yZGVkIHdpdGggdGhlIHBlcm1pc3Npb24gb2YgdGhlIEF1dGhvciBhbmQgRHJhZ29uc3RlZWwgRW50ZXJ0YWlubWVudCwgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLiDihJcgMjAxOSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0VMQU5UUklTU09VTC5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9FTEFOVFJJU1NPVUwubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=