Application

Chose application
.NET Native Web Flutter
Chose version
ver. 14.0 ver. 13.0 ver. 12.0 ver. 11.0 ver. 10.0 ver. 9.0 ver. 8.0 ver. 7.0 ver. 6.0 ver. 5.0 ver. 4.0
Choose device
Tizen.Multimedia.MetadataEditor and <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.MetadataExtractor.md/">Tizen.Multimedia.MetadataExtractor classes, include the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.md/">Tizen.Multimedia namespace in your application:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">using<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Multimedia<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"editing\"><\/a><\/p>\n<h2 id=\"content-edit-metadata-and-artwork-deprecated-since-api-level-12\"><a href=https://samsungtizenos.com/"#content-edit-metadata-and-artwork-deprecated-since-api-level-12\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Edit metadata and artwork (Deprecated since API Level 12)<\/h2>\n<p>To add and edit metadata in an audio file, proceed as follows:<\/p>\n<ol>\n<li>\n<p>Create an instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.MetadataEditor.md/">Tizen.Multimedia.MetadataEditor class with the path of the file to be edited. Make sure you have access to the file whose metadata and artwork you want to edit:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">metadataEditor<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">MetadataEditor<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(mediaPath);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Edit the metadata by using various properties of the <code>Tizen.Multimedia.MetadataEditor<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Set the title of the audio file<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">metadataEditor.Title <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;My Song&quot;<\/span><span style=\"color:#032F62;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Set the artist of the audio file<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">metadataEditor.Artist <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;Artist&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To add images to the audio file:<\/p>\n<ul>\n<li>\n<p>Add an image to the audio file using the <code>AddPicture()<\/code> method of the <code>Tizen.Multimedia.MetadataEditor<\/code> class with an image path containing the artwork:<\/p>\n<p>The image to be added must be in JPEG or PNG format. The image is added to the first free index position. You can add multiple image files to the same audio file.<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">metadataEditor.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">AddPicture<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(artworkpath);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To remove an image from the file, use the <code>RemovePicture()<\/code> method with the index number of image file to be removed:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">index<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">5<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">metadataEditor<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">RemovePicture<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">index<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To retrieve the number of images added to the file, use the <code>PictureCount<\/code> property of the <code>Tizen.Multimedia.MetadataEditor<\/code> class and to retrieve a specific image, use the <code>GetPicture()<\/code> method with the index number of the desired image:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Get the number of images associated with the file<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">pictureCount<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> metadataEditor.PictureCount;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Retrieve a specific image<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Artwork<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">artwork<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> metadataEditor.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetPicture<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(pictureCount <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">-<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">1<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Apply the metadata and artwork changes to the audio file using the <code>Commit()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">metadataEditor.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Commit<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"metadata_extractor\"><\/a><\/p>\n<h2 id=\"content-retrieve-metadata\"><a href=https://samsungtizenos.com/"#content-retrieve-metadata\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Retrieve metadata<\/h2>\n<p>To retrieve metadata from a file, proceed as follows:<\/p>\n<ol>\n<li>\n<p>Create an instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.MetadataExtractor.md/">Tizen.Multimedia.MetadataExtractor class and pass the path of the file or buffer whose metadata you want to retrieve as a parameter:<\/p>\n<ul>\n<li>\n<p>Create a <code>Tizen.Multimedia.MetadataExtractor<\/code> instance with a file path parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">metadataExtractor<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">MetadataExtractor<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(mediaPath);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Create a <code>Tizen.Multimedia.MetadataExtractor<\/code> instance with a buffer parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">buffer<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> File.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">ReadAllBytes<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(mediaPath);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">metadataExtractor<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">MetadataExtractor<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(buffer);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Retrieve the metadata:<\/p>\n<ul>\n<li>\n<p>Retrieve the metadata from the file by using the <code>GetMetadata()<\/code> method of the <code>Tizen.Multimedia.MetadataExtractor<\/code> class, which returns an instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.Metadata.md/">Tizen.Multimedia.Metadata class containing all the metadata of the file.<\/p>\n<p>The following example retrieves the artist and title of the media file:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Get Artist and Title metadata of the file<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Metadata<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">metadata<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> metadataExtractor.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetMetadata<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">Tizen.Log.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Info<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(LogTag, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;Artist: &quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> metadata.Artist);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">Tizen.Log.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Info<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(LogTag, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;Title: &quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> metadata.Title);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>You can retrieve other metadata in the same way.<\/p>\n<\/li>\n<li>\n<p>For an audio file, retrieve the artwork from the file using the <code>GetArtwork()<\/code> method, which returns an instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.Artwork.md/">Tizen.Multimedia.Artwork class containing the encoded artwork image and the MIME type of the artwork:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">artWork<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> metadataExtractor.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetArtwork<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>For an audio file, retrieve the synchronized lyrics from the file using the <code>GetSyncLyrics()<\/code> method with an index number as a parameter.<\/p>\n<p>To retrieve the synchronized lyrics index number, use the <code>SyncLyricsCount<\/code> property of the <code>Tizen.Multimedia.Metadata<\/code> class.<\/p>\n<p>The following example code retrieves the synchronized lyrics from index number 1 and prints the time information and lyrics:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Retrieve the synchronized lyrics of the file<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Metadata<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">metadata<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> metadataExtractor.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetMetadata<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SyncLyrics<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">syncLyrics<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> metadataExtractor.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetSyncLyrics<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">1<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">Tizen.Log.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Info<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(LogTag, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">$&quot;Lyrics = <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">{<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">syncLyrics<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">.<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">Lyrics<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">}<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">, Timestamp = <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">{<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">syncLyrics<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">.<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">Timestamp<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">}<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>For a video file, retrieve frames from the file in one of the following ways:<\/p>\n<ul>\n<li>\n<p>To retrieve a frame without specifying the time when the frame appears, use the <code>GetVideoThumbnail()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">byte<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[] <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">thumbnail<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> metadataExtractor.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetVideoThumbnail<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To retrieve a frame with a timestamp, use the <code>GetFrameAt()<\/code> method with the timestamp in milliseconds. To capture the exact frame desired, the second parameter must be set to <code>true<\/code>, otherwise, the method returns the I-frame nearest to the desired timestamp:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">byte<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[] <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">videoFrame<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> metadataExtractor.<\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">GetFrameAt<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#D73A49;--shiki-dark:#79B8FF\">100<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#D73A49;--shiki-dark:#79B8FF\">true<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><a name=\"mime_type\"><\/a><\/p>\n<h2 id=\"content-retrieve-the-mime-type-for-a-file-extension\"><a href=https://samsungtizenos.com/"#content-retrieve-the-mime-type-for-a-file-extension\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Retrieve the MIME type for a file extension<\/h2>\n<p>To retrieve the MIME type for a given file extension, use the <code>GetMimeType()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Content.MimeType.MimeUtil.md/">Tizen.Content.MimeType.MimeUtil class.<\/p>\n<p>If the given file extension is not associated with any specific file format, the MIME type is <code>application\/octet-stream<\/code>:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">mimeType<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> MimeUtil.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetMimeType<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;png&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><a name=\"mime_extension\"><\/a><\/p>\n<h2 id=\"content-retrieve-file-extensions-for-a-mime-type\"><a href=https://samsungtizenos.com/"#content-retrieve-file-extensions-for-a-mime-type\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Retrieve file extensions for a MIME type<\/h2>\n<p>To retrieve the file extensions for a given MIME type, use <code>GetFileExtension()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Content.MimeType.MimeUtil.md/">Tizen.Content.MimeType.MimeUtil class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Retrieve a list of file extensions for a given MIME type<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">IEnumerable<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt; <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">ext<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> MimeUtil.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetFileExtension<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;video\/mpeg&quot;<\/span><span style=\"color:#032F62;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#F97583\">foreach<\/span><span style=\"color:#032F62;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#032F62;--shiki-dark:#F97583\">string<\/span><span style=\"color:#032F62;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#B392F0\">ex<\/span><span style=\"color:#032F62;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#F97583\">in<\/span><span style=\"color:#032F62;--shiki-dark:#E1E4E8\"> ext<\/span><span style=\"color:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#E1E4E8;--shiki-dark-font-style:inherit\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> Tizen.Log.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Info<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(LogTag, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;Extension = &quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> ex);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><a name=\"attribute\"><\/a><\/p>\n<h2 id=\"content-editable-metadata-attributes-deprecated-since-api-level-12\"><a href=https://samsungtizenos.com/"#content-editable-metadata-attributes-deprecated-since-api-level-12\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Editable metadata attributes (Deprecated since API Level 12)<\/h2>\n<p>The following table lists the metadata you can edit.<\/p>\n<p><strong>Table: Editable metadata attributes<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Attribute<\/th>\n<th>Description<\/th>\n<th>Property or method of the Tizen.Multimedia.MetadataEditor class<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Artist<\/td>\n<td>Artist of the audio content<\/td>\n<td><code>Artist<\/code><\/td>\n<\/tr>\n<tr>\n<td>Title<\/td>\n<td>Title of the audio content<\/td>\n<td><code>Title<\/code><\/td>\n<\/tr>\n<tr>\n<td>Album<\/td>\n<td>Album of the audio content<\/td>\n<td><code>Album<\/code><\/td>\n<\/tr>\n<tr>\n<td>Genre<\/td>\n<td>Genre of the audio content<\/td>\n<td><code>Genre<\/code><\/td>\n<\/tr>\n<tr>\n<td>Author<\/td>\n<td>Author of the audio content<\/td>\n<td><code>Author<\/code><\/td>\n<\/tr>\n<tr>\n<td>Copyright<\/td>\n<td>Copyright of the audio content<\/td>\n<td><code>Copyright<\/code><\/td>\n<\/tr>\n<tr>\n<td>Date<\/td>\n<td>Date of the audio content<\/td>\n<td><code>Date<\/code><\/td>\n<\/tr>\n<tr>\n<td>Description<\/td>\n<td>Description of the audio content<\/td>\n<td><code>Description<\/code><\/td>\n<\/tr>\n<tr>\n<td>Comment<\/td>\n<td>Comment of the audio content<\/td>\n<td><code>Comment<\/code><\/td>\n<\/tr>\n<tr>\n<td>TrackNumber<\/td>\n<td>Track number of the audio content<\/td>\n<td><code>TrackNumber<\/code><\/td>\n<\/tr>\n<tr>\n<td>Picture<\/td>\n<td>Picture of the audio content<\/td>\n<td><code>PictureCount<\/code><br><code>GetPicture()<\/code><br><code>AddPicture()<\/code><br><code>RemovePicture()<\/code><\/td>\n<\/tr>\n<tr>\n<td>Conductor<\/td>\n<td>Conductor of the audio content<\/td>\n<td><code>Conductor<\/code><\/td>\n<\/tr>\n<tr>\n<td>Unsync lyrics<\/td>\n<td>Unsync lyrics of the audio content<\/td>\n<td><code>UnsyncLyrics<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p><a name=\"attribute2\"><\/a><\/p>\n<h2 id=\"content-extractable-metadata-attributes\"><a href=https://samsungtizenos.com/"#content-extractable-metadata-attributes\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Extractable metadata attributes<\/h2>\n<p>The following table lists the extractable metadata.<\/p>\n<p>The metadata is available with the properties and methods of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.AudioMetadata.md/">Tizen.Multimedia.AudioMetadata, <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.Metadata.md/">Tizen.Multimedia.Metadata, <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.MetadataExtractor.md/">Tizen.Multimedia.MetadataExtractor, <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.SyncLyrics.md/">Tizen.Multimedia.SyncLyrics, and <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Multimedia.VideoMetadata.md/">Tizen.Multimedia.VideoMetadata classes.<\/p>\n<p><strong>Table: Metadata extractor attributes<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Attribute<\/th>\n<th>Description<\/th>\n<th>Property or method<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Duration<\/td>\n<td>Duration of the content<\/td>\n<td><code>Metadata.Duration<\/code><\/td>\n<\/tr>\n<tr>\n<td>Video bit rate<\/td>\n<td>Bit rate of the video content<\/td>\n<td><code>VideoMetadata.BitRate<\/code><\/td>\n<\/tr>\n<tr>\n<td>Video FPS<\/td>\n<td>FPS of the video content<\/td>\n<td><code>VideoMetadata.Fps<\/code><\/td>\n<\/tr>\n<tr>\n<td>Video codec<\/td>\n<td>Codec of the video content<\/td>\n<td><code>VideoMetadata.Codec<\/code><\/td>\n<\/tr>\n<tr>\n<td>Video stream count<\/td>\n<td>Number of streams of the video content<\/td>\n<td><code>VideoMetadata.StreamCount<\/code><\/td>\n<\/tr>\n<tr>\n<td>Video resolution<\/td>\n<td>Resolution of the video content<\/td>\n<td><code>VideoMetadata.Width<\/code><br><code>VideoMetadata.Height<\/code><\/td>\n<\/tr>\n<tr>\n<td>Audio bit rate<\/td>\n<td>Bit rate of the audio content<\/td>\n<td><code>AudioMetadata.BitRate<\/code><\/td>\n<\/tr>\n<tr>\n<td>Audio channels<\/td>\n<td>Channel of the audio content<\/td>\n<td><code>AudioMetadata.Channels<\/code><\/td>\n<\/tr>\n<tr>\n<td>Audio sample rate<\/td>\n<td>Sample rate of the audio content<\/td>\n<td><code>AudioMetadata.SampleRate<\/code><\/td>\n<\/tr>\n<tr>\n<td>Audio bit per sample<\/td>\n<td>Bit per sample of the audio content<\/td>\n<td><code>AudioMetadata.BitPerSample<\/code><\/td>\n<\/tr>\n<tr>\n<td>Audio codec<\/td>\n<td>Codec of the audio content<\/td>\n<td><code>AudioMetadata.Codec<\/code><\/td>\n<\/tr>\n<tr>\n<td>Audio stream count<\/td>\n<td>Number of streams of the audio content<\/td>\n<td><code>AudioMetadata.StreamCount<\/code><\/td>\n<\/tr>\n<tr>\n<td>Artist<\/td>\n<td>Artist of the content<\/td>\n<td><code>Metadata.Artist<\/code><\/td>\n<\/tr>\n<tr>\n<td>Title<\/td>\n<td>Title of the content<\/td>\n<td><code>Metadata.Title<\/code><\/td>\n<\/tr>\n<tr>\n<td>Album<\/td>\n<td>Album of the content<\/td>\n<td><code>Metadata.Album<\/code><\/td>\n<\/tr>\n<tr>\n<td>Album artist<\/td>\n<td>Album artist of the content<\/td>\n<td><code>Metadata.AlbumArtist<\/code><\/td>\n<\/tr>\n<tr>\n<td>Genre<\/td>\n<td>Genre of the content<\/td>\n<td><code>Metadata.Genre<\/code><\/td>\n<\/tr>\n<tr>\n<td>Composer<\/td>\n<td>Composer of the content<\/td>\n<td><code>Metadata.Composer<\/code><\/td>\n<\/tr>\n<tr>\n<td>Copyright<\/td>\n<td>Copyright of the content<\/td>\n<td><code>Metadata.Copyright<\/code><\/td>\n<\/tr>\n<tr>\n<td>Release date<\/td>\n<td>Release date of the content<\/td>\n<td><code>Metadata.DateReleased<\/code><\/td>\n<\/tr>\n<tr>\n<td>Description<\/td>\n<td>Description of the content<\/td>\n<td><code>Metadata.Description<\/code><\/td>\n<\/tr>\n<tr>\n<td>Comment<\/td>\n<td>Comment about the content<\/td>\n<td><code>Metadata.Comment<\/code><\/td>\n<\/tr>\n<tr>\n<td>TrackNumber<\/td>\n<td>Track number of the content<\/td>\n<td><code>Metadata.TrackNumber<\/code><\/td>\n<\/tr>\n<tr>\n<td>Classification<\/td>\n<td>Classification of the content<\/td>\n<td><code>Metadata.Classification<\/code><\/td>\n<\/tr>\n<tr>\n<td>Rating<\/td>\n<td>Rating of the content<\/td>\n<td><code>Metadata.Rating<\/code><\/td>\n<\/tr>\n<tr>\n<td>Longitude<\/td>\n<td>Longitude of the content<\/td>\n<td><code>Metadata.Longitude<\/code><\/td>\n<\/tr>\n<tr>\n<td>Latitude<\/td>\n<td>Latitude of the content<\/td>\n<td><code>Metadata.Latitude<\/code><\/td>\n<\/tr>\n<tr>\n<td>Altitude<\/td>\n<td>Altitude of the content<\/td>\n<td><code>Metadata.Altitude<\/code><\/td>\n<\/tr>\n<tr>\n<td>Conductor<\/td>\n<td>Conductor of the content<\/td>\n<td><code>Metadata.Conductor<\/code><\/td>\n<\/tr>\n<tr>\n<td>Unsync lyrics<\/td>\n<td>Asynchronous lyrics of the content<\/td>\n<td><code>Metadata.UnsyncLyrics<\/code><\/td>\n<\/tr>\n<tr>\n<td>Sync lyrics<\/td>\n<td>Synchronous lyrics of the content<\/td>\n<td><code>Metadata.SyncLyricsCount<\/code><br><code>MetadataExtractor.GetSyncLyrics()<\/code><br><code>SyncLyrics.Lyrics<\/code><br><code>SyncLyrics.Timestamp<\/code><\/td>\n<\/tr>\n<tr>\n<td>Recorded date<\/td>\n<td>Recorded date of the content<\/td>\n<td><code>Metadata.DateRecorded<\/code><\/td>\n<\/tr>\n<tr>\n<td>Orientation<\/td>\n<td>Orientation of the content<\/td>\n<td><code>Metadata.Rotation<\/code><\/td>\n<\/tr>\n<tr>\n<td>360 Content<\/td>\n<td>Information for 360 content<\/td>\n<td><code>Metadata.Content360<\/code><\/td>\n<\/tr>\n<tr>\n<td>Stitched 360 Content<\/td>\n<td>Information about 360 video content being stitched or not<\/td>\n<td><code>Metadata.StitchedContent360<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<h2 id=\"content-related-information\"><a href=https://samsungtizenos.com/"#content-related-information\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Related information<\/h2>\n<ul>\n<li>Dependencies\n<ul>\n<li>Tizen 4.0 and Higher<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-prerequisites\">Prerequisites<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-edit-metadata-and-artwork-deprecated-since-api-level-12\">Edit metadata and artwork (Deprecated since API Level 12)<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-retrieve-metadata\">Retrieve metadata<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-retrieve-the-mime-type-for-a-file-extension\">Retrieve the MIME type for a file extension<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-retrieve-file-extensions-for-a-mime-type\">Retrieve file extensions for a MIME type<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-editable-metadata-attributes-deprecated-since-api-level-12\">Editable metadata attributes (Deprecated since API Level 12)<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-extractable-metadata-attributes\">Extractable metadata attributes<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-related-information\">Related information<\/a><\/li>\n<\/ul>\n","title":"Metadata","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"tk0OpmjfhCyQwiitdAWT","name":"documentation::article","path":"docs\/application\/dotnet\/guides\/multimedia\/metadata","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"c00cc9c0a71aa6d8d1377d8b01cd3a2202cfcd634d4d8e97a93886220ba077df"}" wire:effects="[]" wire:id="tk0OpmjfhCyQwiitdAWT" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtbWV0YWRhdGFcIj48YSBocmVmPVwiI2NvbnRlbnQtbWV0YWRhdGFcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPk1ldGFkYXRhPFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxwPllvdSBjYW4gYWNjZXNzLCBhZGQsIGFuZCBlZGl0IG1ldGFkYXRhIGluIG1lZGlhIGZpbGVzLjxcL3A+XG48cD5UaGUgbWFpbiBtZXRhZGF0YSBmZWF0dXJlcyBpbmNsdWRlIHRoZSBmb2xsb3dpbmc6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPk1ldGFkYXRhIGVkaXRpbmcgKERlcHJlY2F0ZWQgc2luY2UgQVBJIExldmVsIDEyKTxcL3A+XG48cD5Zb3UgY2FuIDxhIGhyZWY9XCIjZWRpdGluZ1wiPmVkaXQgdGhlIG1ldGFkYXRhPFwvYT4gb2Ygc2V2ZXJhbCBwb3B1bGFyIGF1ZGlvIGZvcm1hdHMgdXNpbmcgdGhlIG1ldGFkYXRhIGVkaXRvci4gWW91IGNhbiBhZGQgYW5kIHJlbW92ZSBhbGJ1bSBhcnQsIG9yIHVwZGF0ZSB0aGUgaW5mb3JtYXRpb24gZm9yIHRoZSBhdWRpbyBmaWxlLjxcL3A+XG48cD5UaGUgbWV0YWRhdGEgZWRpdG9yIHN1cHBvcnRzIGVkaXRpbmcgdGhlIDxhIGhyZWY9XCIjYXR0cmlidXRlXCI+bWV0YWRhdGE8XC9hPiBvZiBhdWRpbyBmaWxlcyBpbiB0aGUgTVAzIGFuZCBNUDQgZmlsZSBmb3JtYXRzLiBJbWFnZSBhbmQgdmlkZW8gZmlsZSBlZGl0aW5nIGlzIG5vdCBzdXBwb3J0ZWQuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+TWV0YWRhdGEgZXh0cmFjdGlvbjxcL3A+XG48cD5NZWRpYSBmaWxlcywgc3VjaCBhcyBNUDMgYW5kIE1QNCBmaWxlcywgY29udGFpbiA8YSBocmVmPVwiI2F0dHJpYnV0ZTJcIj5leHRyYWN0YWJsZSBtZXRhZGF0YTxcL2E+LiBZb3UgY2FuIDxhIGhyZWY9XCIjbWV0YWRhdGFfZXh0cmFjdG9yXCI+cmV0cmlldmUgbWV0YWRhdGE8XC9hPiBmcm9tIHN1Y2ggbWVkaWEgZmlsZXMgd2l0aCB0aGUgbWV0YWRhdGEgZXh0cmFjdG9yLjxcL3A+XG48cD5UaGUgbWV0YWRhdGEgZXh0cmFjdG9yIGNhbiBiZSB1c2VkIHdpdGggdmlkZW8gYW5kIGF1ZGlvIGZpbGVzIG9ubHkuIEl0IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIGltYWdlIGZpbGVzLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPk1JTUUgdHlwZSBoYW5kbGluZzxcL3A+XG48cD5Zb3UgY2FuIDxhIGhyZWY9XCIjbWltZV90eXBlXCI+Z2V0IHRoZSBNSU1FIHR5cGU8XC9hPiBmb3IgYSBmaWxlIGV4dGVuc2lvbiBhbmQgPGEgaHJlZj1cIiNtaW1lX2V4dGVuc2lvblwiPmdldCBhIGxpc3Qgb2YgZmlsZSBleHRlbnNpb25zPFwvYT4gYXNzb2NpYXRlZCwgZm9yIGV4YW1wbGUsIHdpdGggYW4gaW1hZ2Ugb3IgdGhlIEpQRUcgTUlNRSB0eXBlLjxcL3A+XG48XC9saT5cbjxcL3VsPlxuPGgyIGlkPVwiY29udGVudC1wcmVyZXF1aXNpdGVzXCI+PGEgaHJlZj1cIiNjb250ZW50LXByZXJlcXVpc2l0ZXNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlByZXJlcXVpc2l0ZXM8XC9oMj5cbjxwPlRvIGVuYWJsZSB5b3VyIGFwcGxpY2F0aW9uIHRvIHVzZSB0aGUgbWV0YWRhdGEgZnVuY3Rpb25hbGl0eSwgcHJvY2VlZCBhcyBmb2xsb3dzOjxcL3A+XG48b2w+XG48bGk+XG48cD5UbyBhY2Nlc3MgbWVkaWEgZmlsZXMgb24gdGhlIGRldmljZSwgdGhlIGFwcGxpY2F0aW9uIGhhcyB0byByZXF1ZXN0IHBlcm1pc3Npb24gYnkgYWRkaW5nIHRoZSBmb2xsb3dpbmcgcHJpdmlsZWdlcyB0byB0aGUgPGNvZGU+dGl6ZW4tbWFuaWZlc3QueG1sPFwvY29kZT4gZmlsZTo8XC9wPlxuPGNvZGUgY2xhc3M9XCJsYW5ndWFnZS1YTUxcIj4mbHQ7cHJpdmlsZWdlcyZndDtcbiAgICZsdDshLS1UbyBhY2Nlc3MgbWVkaWEgc3RvcmFnZS0tJmd0O1xuICAgJmx0O3ByaXZpbGVnZSZndDtodHRwOlwvXC90aXplbi5vcmdcL3ByaXZpbGVnZVwvbWVkaWFzdG9yYWdlJmx0O1wvcHJpdmlsZWdlJmd0O1xuICAgJmx0OyEtLVRvIGFjY2VzcyBleHRlcm5hbCBzdG9yYWdlLS0mZ3Q7XG4gICAmbHQ7cHJpdmlsZWdlJmd0O2h0dHA6XC9cL3RpemVuLm9yZ1wvcHJpdmlsZWdlXC9leHRlcm5hbHN0b3JhZ2UmbHQ7XC9wcml2aWxlZ2UmZ3Q7XG4mbHQ7XC9wcml2aWxlZ2VzJmd0O1xuPFwvY29kZT5cbjxcL2xpPlxuPGxpPlxuPHA+VG8gdXNlIHRoZSBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5NdWx0aW1lZGlhLk1ldGFkYXRhRWRpdG9yLm1kXCI+VGl6ZW4uTXVsdGltZWRpYS5NZXRhZGF0YUVkaXRvcjxcL2E+IGFuZCA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5NdWx0aW1lZGlhLk1ldGFkYXRhRXh0cmFjdG9yLm1kXCI+VGl6ZW4uTXVsdGltZWRpYS5NZXRhZGF0YUV4dHJhY3RvcjxcL2E+IGNsYXNzZXMsIGluY2x1ZGUgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk11bHRpbWVkaWEubWRcIj5UaXplbi5NdWx0aW1lZGlhPFwvYT4gbmFtZXNwYWNlIGluIHlvdXIgYXBwbGljYXRpb246PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj51c2luZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+VGl6ZW48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk11bHRpbWVkaWE8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC9vbD5cbjxwPjxhIG5hbWU9XCJlZGl0aW5nXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1lZGl0LW1ldGFkYXRhLWFuZC1hcnR3b3JrLWRlcHJlY2F0ZWQtc2luY2UtYXBpLWxldmVsLTEyXCI+PGEgaHJlZj1cIiNjb250ZW50LWVkaXQtbWV0YWRhdGEtYW5kLWFydHdvcmstZGVwcmVjYXRlZC1zaW5jZS1hcGktbGV2ZWwtMTJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkVkaXQgbWV0YWRhdGEgYW5kIGFydHdvcmsgKERlcHJlY2F0ZWQgc2luY2UgQVBJIExldmVsIDEyKTxcL2gyPlxuPHA+VG8gYWRkIGFuZCBlZGl0IG1ldGFkYXRhIGluIGFuIGF1ZGlvIGZpbGUsIHByb2NlZWQgYXMgZm9sbG93czo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+Q3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5NdWx0aW1lZGlhLk1ldGFkYXRhRWRpdG9yLm1kXCI+VGl6ZW4uTXVsdGltZWRpYS5NZXRhZGF0YUVkaXRvcjxcL2E+IGNsYXNzIHdpdGggdGhlIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZWRpdGVkLiBNYWtlIHN1cmUgeW91IGhhdmUgYWNjZXNzIHRvIHRoZSBmaWxlIHdob3NlIG1ldGFkYXRhIGFuZCBhcnR3b3JrIHlvdSB3YW50IHRvIGVkaXQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm1ldGFkYXRhRWRpdG9yPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk1ldGFkYXRhRWRpdG9yPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4obWVkaWFQYXRoKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5FZGl0IHRoZSBtZXRhZGF0YSBieSB1c2luZyB2YXJpb3VzIHByb3BlcnRpZXMgb2YgdGhlIDxjb2RlPlRpemVuLk11bHRpbWVkaWEuTWV0YWRhdGFFZGl0b3I8XC9jb2RlPiBjbGFzczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPlwvXC9cLyBTZXQgdGhlIHRpdGxlIG9mIHRoZSBhdWRpbyBmaWxlPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bWV0YWRhdGFFZGl0b3IuVGl0bGUgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtNeSBTb25nJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPlwvXC9cLyBTZXQgdGhlIGFydGlzdCBvZiB0aGUgYXVkaW8gZmlsZTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPm1ldGFkYXRhRWRpdG9yLkFydGlzdCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O0FydGlzdCZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlRvIGFkZCBpbWFnZXMgdG8gdGhlIGF1ZGlvIGZpbGU6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPkFkZCBhbiBpbWFnZSB0byB0aGUgYXVkaW8gZmlsZSB1c2luZyB0aGUgPGNvZGU+QWRkUGljdHVyZSgpPFwvY29kZT4gbWV0aG9kIG9mIHRoZSA8Y29kZT5UaXplbi5NdWx0aW1lZGlhLk1ldGFkYXRhRWRpdG9yPFwvY29kZT4gY2xhc3Mgd2l0aCBhbiBpbWFnZSBwYXRoIGNvbnRhaW5pbmcgdGhlIGFydHdvcms6PFwvcD5cbjxwPlRoZSBpbWFnZSB0byBiZSBhZGRlZCBtdXN0IGJlIGluIEpQRUcgb3IgUE5HIGZvcm1hdC4gVGhlIGltYWdlIGlzIGFkZGVkIHRvIHRoZSBmaXJzdCBmcmVlIGluZGV4IHBvc2l0aW9uLiBZb3UgY2FuIGFkZCBtdWx0aXBsZSBpbWFnZSBmaWxlcyB0byB0aGUgc2FtZSBhdWRpbyBmaWxlLjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bWV0YWRhdGFFZGl0b3IuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BZGRQaWN0dXJlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oYXJ0d29ya3BhdGgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlRvIHJlbW92ZSBhbiBpbWFnZSBmcm9tIHRoZSBmaWxlLCB1c2UgdGhlIDxjb2RlPlJlbW92ZVBpY3R1cmUoKTxcL2NvZGU+IG1ldGhvZCB3aXRoIHRoZSBpbmRleCBudW1iZXIgb2YgaW1hZ2UgZmlsZSB0byBiZSByZW1vdmVkOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aW50PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5pbmRleDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+NTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPm1ldGFkYXRhRWRpdG9yPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5SZW1vdmVQaWN0dXJlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5pbmRleDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5UbyByZXRyaWV2ZSB0aGUgbnVtYmVyIG9mIGltYWdlcyBhZGRlZCB0byB0aGUgZmlsZSwgdXNlIHRoZSA8Y29kZT5QaWN0dXJlQ291bnQ8XC9jb2RlPiBwcm9wZXJ0eSBvZiB0aGUgPGNvZGU+VGl6ZW4uTXVsdGltZWRpYS5NZXRhZGF0YUVkaXRvcjxcL2NvZGU+IGNsYXNzIGFuZCB0byByZXRyaWV2ZSBhIHNwZWNpZmljIGltYWdlLCB1c2UgdGhlIDxjb2RlPkdldFBpY3R1cmUoKTxcL2NvZGU+IG1ldGhvZCB3aXRoIHRoZSBpbmRleCBudW1iZXIgb2YgdGhlIGRlc2lyZWQgaW1hZ2U6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gR2V0IHRoZSBudW1iZXIgb2YgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmlsZTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmludDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cGljdHVyZUNvdW50PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWV0YWRhdGFFZGl0b3IuUGljdHVyZUNvdW50OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gUmV0cmlldmUgYSBzcGVjaWZpYyBpbWFnZTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFydHdvcms8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFydHdvcms8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBtZXRhZGF0YUVkaXRvci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldFBpY3R1cmU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihwaWN0dXJlQ291bnQgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4tPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48bGk+XG48cD5BcHBseSB0aGUgbWV0YWRhdGEgYW5kIGFydHdvcmsgY2hhbmdlcyB0byB0aGUgYXVkaW8gZmlsZSB1c2luZyB0aGUgPGNvZGU+Q29tbWl0KCk8XC9jb2RlPiBtZXRob2Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5tZXRhZGF0YUVkaXRvci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNvbW1pdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48cD48YSBuYW1lPVwibWV0YWRhdGFfZXh0cmFjdG9yXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1yZXRyaWV2ZS1tZXRhZGF0YVwiPjxhIGhyZWY9XCIjY29udGVudC1yZXRyaWV2ZS1tZXRhZGF0YVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmV0cmlldmUgbWV0YWRhdGE8XC9oMj5cbjxwPlRvIHJldHJpZXZlIG1ldGFkYXRhIGZyb20gYSBmaWxlLCBwcm9jZWVkIGFzIGZvbGxvd3M6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPkNyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTXVsdGltZWRpYS5NZXRhZGF0YUV4dHJhY3Rvci5tZFwiPlRpemVuLk11bHRpbWVkaWEuTWV0YWRhdGFFeHRyYWN0b3I8XC9hPiBjbGFzcyBhbmQgcGFzcyB0aGUgcGF0aCBvZiB0aGUgZmlsZSBvciBidWZmZXIgd2hvc2UgbWV0YWRhdGEgeW91IHdhbnQgdG8gcmV0cmlldmUgYXMgYSBwYXJhbWV0ZXI6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPkNyZWF0ZSBhIDxjb2RlPlRpemVuLk11bHRpbWVkaWEuTWV0YWRhdGFFeHRyYWN0b3I8XC9jb2RlPiBpbnN0YW5jZSB3aXRoIGEgZmlsZSBwYXRoIHBhcmFtZXRlcjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWV0YWRhdGFFeHRyYWN0b3I8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+TWV0YWRhdGFFeHRyYWN0b3I8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihtZWRpYVBhdGgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPkNyZWF0ZSBhIDxjb2RlPlRpemVuLk11bHRpbWVkaWEuTWV0YWRhdGFFeHRyYWN0b3I8XC9jb2RlPiBpbnN0YW5jZSB3aXRoIGEgYnVmZmVyIHBhcmFtZXRlcjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+YnVmZmVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gRmlsZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlJlYWRBbGxCeXRlczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KG1lZGlhUGF0aCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tZXRhZGF0YUV4dHJhY3RvcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5NZXRhZGF0YUV4dHJhY3RvcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KGJ1ZmZlcik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxsaT5cbjxwPlJldHJpZXZlIHRoZSBtZXRhZGF0YTo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+UmV0cmlldmUgdGhlIG1ldGFkYXRhIGZyb20gdGhlIGZpbGUgYnkgdXNpbmcgdGhlIDxjb2RlPkdldE1ldGFkYXRhKCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxjb2RlPlRpemVuLk11bHRpbWVkaWEuTWV0YWRhdGFFeHRyYWN0b3I8XC9jb2RlPiBjbGFzcywgd2hpY2ggcmV0dXJucyBhbiBpbnN0YW5jZSBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTXVsdGltZWRpYS5NZXRhZGF0YS5tZFwiPlRpemVuLk11bHRpbWVkaWEuTWV0YWRhdGE8XC9hPiBjbGFzcyBjb250YWluaW5nIGFsbCB0aGUgbWV0YWRhdGEgb2YgdGhlIGZpbGUuPFwvcD5cbjxwPlRoZSBmb2xsb3dpbmcgZXhhbXBsZSByZXRyaWV2ZXMgdGhlIGFydGlzdCBhbmQgdGl0bGUgb2YgdGhlIG1lZGlhIGZpbGU6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gR2V0IEFydGlzdCBhbmQgVGl0bGUgbWV0YWRhdGEgb2YgdGhlIGZpbGU8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5NZXRhZGF0YTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWV0YWRhdGE8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBtZXRhZGF0YUV4dHJhY3Rvci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldE1ldGFkYXRhPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+VGl6ZW4uTG9nLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+SW5mbzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KExvZ1RhZywgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtBcnRpc3Q6ICZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+KzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1ldGFkYXRhLkFydGlzdCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+VGl6ZW4uTG9nLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+SW5mbzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KExvZ1RhZywgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtUaXRsZTogJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWV0YWRhdGEuVGl0bGUpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD5Zb3UgY2FuIHJldHJpZXZlIG90aGVyIG1ldGFkYXRhIGluIHRoZSBzYW1lIHdheS48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5Gb3IgYW4gYXVkaW8gZmlsZSwgcmV0cmlldmUgdGhlIGFydHdvcmsgZnJvbSB0aGUgZmlsZSB1c2luZyB0aGUgPGNvZGU+R2V0QXJ0d29yaygpPFwvY29kZT4gbWV0aG9kLCB3aGljaCByZXR1cm5zIGFuIGluc3RhbmNlIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5NdWx0aW1lZGlhLkFydHdvcmsubWRcIj5UaXplbi5NdWx0aW1lZGlhLkFydHdvcms8XC9hPiBjbGFzcyBjb250YWluaW5nIHRoZSBlbmNvZGVkIGFydHdvcmsgaW1hZ2UgYW5kIHRoZSBNSU1FIHR5cGUgb2YgdGhlIGFydHdvcms6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFydFdvcms8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBtZXRhZGF0YUV4dHJhY3Rvci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldEFydHdvcms8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPkZvciBhbiBhdWRpbyBmaWxlLCByZXRyaWV2ZSB0aGUgc3luY2hyb25pemVkIGx5cmljcyBmcm9tIHRoZSBmaWxlIHVzaW5nIHRoZSA8Y29kZT5HZXRTeW5jTHlyaWNzKCk8XC9jb2RlPiBtZXRob2Qgd2l0aCBhbiBpbmRleCBudW1iZXIgYXMgYSBwYXJhbWV0ZXIuPFwvcD5cbjxwPlRvIHJldHJpZXZlIHRoZSBzeW5jaHJvbml6ZWQgbHlyaWNzIGluZGV4IG51bWJlciwgdXNlIHRoZSA8Y29kZT5TeW5jTHlyaWNzQ291bnQ8XC9jb2RlPiBwcm9wZXJ0eSBvZiB0aGUgPGNvZGU+VGl6ZW4uTXVsdGltZWRpYS5NZXRhZGF0YTxcL2NvZGU+IGNsYXNzLjxcL3A+XG48cD5UaGUgZm9sbG93aW5nIGV4YW1wbGUgY29kZSByZXRyaWV2ZXMgdGhlIHN5bmNocm9uaXplZCBseXJpY3MgZnJvbSBpbmRleCBudW1iZXIgMSBhbmQgcHJpbnRzIHRoZSB0aW1lIGluZm9ybWF0aW9uIGFuZCBseXJpY3M6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gUmV0cmlldmUgdGhlIHN5bmNocm9uaXplZCBseXJpY3Mgb2YgdGhlIGZpbGU8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5NZXRhZGF0YTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWV0YWRhdGE8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBtZXRhZGF0YUV4dHJhY3Rvci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldE1ldGFkYXRhPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U3luY0x5cmljczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c3luY0x5cmljczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1ldGFkYXRhRXh0cmFjdG9yLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0U3luY0x5cmljczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+VGl6ZW4uTG9nLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+SW5mbzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KExvZ1RhZywgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4kJnF1b3Q7THlyaWNzID0gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj57PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5zeW5jTHlyaWNzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5MeXJpY3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPn08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiwgVGltZXN0YW1wID0gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj57PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5zeW5jTHlyaWNzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5UaW1lc3RhbXA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPn08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5Gb3IgYSB2aWRlbyBmaWxlLCByZXRyaWV2ZSBmcmFtZXMgZnJvbSB0aGUgZmlsZSBpbiBvbmUgb2YgdGhlIGZvbGxvd2luZyB3YXlzOjxcL3A+XG48dWw+XG48bGk+XG48cD5UbyByZXRyaWV2ZSBhIGZyYW1lIHdpdGhvdXQgc3BlY2lmeWluZyB0aGUgdGltZSB3aGVuIHRoZSBmcmFtZSBhcHBlYXJzLCB1c2UgdGhlIDxjb2RlPkdldFZpZGVvVGh1bWJuYWlsKCk8XC9jb2RlPiBtZXRob2Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5ieXRlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5bXSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnRodW1ibmFpbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1ldGFkYXRhRXh0cmFjdG9yLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0VmlkZW9UaHVtYm5haWw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlRvIHJldHJpZXZlIGEgZnJhbWUgd2l0aCBhIHRpbWVzdGFtcCwgdXNlIHRoZSA8Y29kZT5HZXRGcmFtZUF0KCk8XC9jb2RlPiBtZXRob2Qgd2l0aCB0aGUgdGltZXN0YW1wIGluIG1pbGxpc2Vjb25kcy4gVG8gY2FwdHVyZSB0aGUgZXhhY3QgZnJhbWUgZGVzaXJlZCwgdGhlIHNlY29uZCBwYXJhbWV0ZXIgbXVzdCBiZSBzZXQgdG8gPGNvZGU+dHJ1ZTxcL2NvZGU+LCBvdGhlcndpc2UsIHRoZSBtZXRob2QgcmV0dXJucyB0aGUgSS1mcmFtZSBuZWFyZXN0IHRvIHRoZSBkZXNpcmVkIHRpbWVzdGFtcDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmJ5dGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPltdIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+dmlkZW9GcmFtZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1ldGFkYXRhRXh0cmFjdG9yLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0RnJhbWVBdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MTAwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+dHJ1ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxcL29sPlxuPHA+PGEgbmFtZT1cIm1pbWVfdHlwZVwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtcmV0cmlldmUtdGhlLW1pbWUtdHlwZS1mb3ItYS1maWxlLWV4dGVuc2lvblwiPjxhIGhyZWY9XCIjY29udGVudC1yZXRyaWV2ZS10aGUtbWltZS10eXBlLWZvci1hLWZpbGUtZXh0ZW5zaW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5SZXRyaWV2ZSB0aGUgTUlNRSB0eXBlIGZvciBhIGZpbGUgZXh0ZW5zaW9uPFwvaDI+XG48cD5UbyByZXRyaWV2ZSB0aGUgTUlNRSB0eXBlIGZvciBhIGdpdmVuIGZpbGUgZXh0ZW5zaW9uLCB1c2UgdGhlIDxjb2RlPkdldE1pbWVUeXBlKCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkNvbnRlbnQuTWltZVR5cGUuTWltZVV0aWwubWRcIj5UaXplbi5Db250ZW50Lk1pbWVUeXBlLk1pbWVVdGlsPFwvYT4gY2xhc3MuPFwvcD5cbjxwPklmIHRoZSBnaXZlbiBmaWxlIGV4dGVuc2lvbiBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGFueSBzcGVjaWZpYyBmaWxlIGZvcm1hdCwgdGhlIE1JTUUgdHlwZSBpcyA8Y29kZT5hcHBsaWNhdGlvblwvb2N0ZXQtc3RyZWFtPFwvY29kZT46PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm1pbWVUeXBlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gTWltZVV0aWwuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRNaW1lVHlwZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7cG5nJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD48YSBuYW1lPVwibWltZV9leHRlbnNpb25cIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXJldHJpZXZlLWZpbGUtZXh0ZW5zaW9ucy1mb3ItYS1taW1lLXR5cGVcIj48YSBocmVmPVwiI2NvbnRlbnQtcmV0cmlldmUtZmlsZS1leHRlbnNpb25zLWZvci1hLW1pbWUtdHlwZVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmV0cmlldmUgZmlsZSBleHRlbnNpb25zIGZvciBhIE1JTUUgdHlwZTxcL2gyPlxuPHA+VG8gcmV0cmlldmUgdGhlIGZpbGUgZXh0ZW5zaW9ucyBmb3IgYSBnaXZlbiBNSU1FIHR5cGUsIHVzZSA8Y29kZT5HZXRGaWxlRXh0ZW5zaW9uKCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkNvbnRlbnQuTWltZVR5cGUuTWltZVV0aWwubWRcIj5UaXplbi5Db250ZW50Lk1pbWVUeXBlLk1pbWVVdGlsPFwvYT4gY2xhc3M6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gUmV0cmlldmUgYSBsaXN0IG9mIGZpbGUgZXh0ZW5zaW9ucyBmb3IgYSBnaXZlbiBNSU1FIHR5cGU8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5JRW51bWVyYWJsZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmx0OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RyaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mZ3Q7IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+ZXh0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gTWltZVV0aWwuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRGaWxlRXh0ZW5zaW9uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDt2aWRlb1wvbXBlZyZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5mb3JlYWNoPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmV4PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IGV4dDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojQjMxRDI4Oy0tc2hpa2ktbGlnaHQtZm9udC1zdHlsZTppdGFsaWM7LS1zaGlraS1kYXJrOiNFMUU0RTg7LS1zaGlraS1kYXJrLWZvbnQtc3R5bGU6aW5oZXJpdFwiPik8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj57PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIFRpemVuLkxvZy48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkluZm88XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihMb2dUYWcsIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7RXh0ZW5zaW9uID0gJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gZXgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPn08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+PGEgbmFtZT1cImF0dHJpYnV0ZVwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtZWRpdGFibGUtbWV0YWRhdGEtYXR0cmlidXRlcy1kZXByZWNhdGVkLXNpbmNlLWFwaS1sZXZlbC0xMlwiPjxhIGhyZWY9XCIjY29udGVudC1lZGl0YWJsZS1tZXRhZGF0YS1hdHRyaWJ1dGVzLWRlcHJlY2F0ZWQtc2luY2UtYXBpLWxldmVsLTEyXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5FZGl0YWJsZSBtZXRhZGF0YSBhdHRyaWJ1dGVzIChEZXByZWNhdGVkIHNpbmNlIEFQSSBMZXZlbCAxMik8XC9oMj5cbjxwPlRoZSBmb2xsb3dpbmcgdGFibGUgbGlzdHMgdGhlIG1ldGFkYXRhIHlvdSBjYW4gZWRpdC48XC9wPlxuPHA+PHN0cm9uZz5UYWJsZTogRWRpdGFibGUgbWV0YWRhdGEgYXR0cmlidXRlczxcL3N0cm9uZz48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+QXR0cmlidXRlPFwvdGg+XG48dGg+RGVzY3JpcHRpb248XC90aD5cbjx0aD5Qcm9wZXJ0eSBvciBtZXRob2Qgb2YgdGhlIFRpemVuLk11bHRpbWVkaWEuTWV0YWRhdGFFZGl0b3IgY2xhc3M8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+QXJ0aXN0PFwvdGQ+XG48dGQ+QXJ0aXN0IG9mIHRoZSBhdWRpbyBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+QXJ0aXN0PFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPlRpdGxlPFwvdGQ+XG48dGQ+VGl0bGUgb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5UaXRsZTxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5BbGJ1bTxcL3RkPlxuPHRkPkFsYnVtIG9mIHRoZSBhdWRpbyBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+QWxidW08XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+R2VucmU8XC90ZD5cbjx0ZD5HZW5yZSBvZiB0aGUgYXVkaW8gY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPkdlbnJlPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkF1dGhvcjxcL3RkPlxuPHRkPkF1dGhvciBvZiB0aGUgYXVkaW8gY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPkF1dGhvcjxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5Db3B5cmlnaHQ8XC90ZD5cbjx0ZD5Db3B5cmlnaHQgb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5Db3B5cmlnaHQ8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+RGF0ZTxcL3RkPlxuPHRkPkRhdGUgb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5EYXRlPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkRlc2NyaXB0aW9uPFwvdGQ+XG48dGQ+RGVzY3JpcHRpb24gb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5EZXNjcmlwdGlvbjxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5Db21tZW50PFwvdGQ+XG48dGQ+Q29tbWVudCBvZiB0aGUgYXVkaW8gY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPkNvbW1lbnQ8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+VHJhY2tOdW1iZXI8XC90ZD5cbjx0ZD5UcmFjayBudW1iZXIgb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5UcmFja051bWJlcjxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5QaWN0dXJlPFwvdGQ+XG48dGQ+UGljdHVyZSBvZiB0aGUgYXVkaW8gY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPlBpY3R1cmVDb3VudDxcL2NvZGU+PGJyPjxjb2RlPkdldFBpY3R1cmUoKTxcL2NvZGU+PGJyPjxjb2RlPkFkZFBpY3R1cmUoKTxcL2NvZGU+PGJyPjxjb2RlPlJlbW92ZVBpY3R1cmUoKTxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5Db25kdWN0b3I8XC90ZD5cbjx0ZD5Db25kdWN0b3Igb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5Db25kdWN0b3I8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+VW5zeW5jIGx5cmljczxcL3RkPlxuPHRkPlVuc3luYyBseXJpY3Mgb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5VbnN5bmNMeXJpY3M8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPjxhIG5hbWU9XCJhdHRyaWJ1dGUyXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1leHRyYWN0YWJsZS1tZXRhZGF0YS1hdHRyaWJ1dGVzXCI+PGEgaHJlZj1cIiNjb250ZW50LWV4dHJhY3RhYmxlLW1ldGFkYXRhLWF0dHJpYnV0ZXNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkV4dHJhY3RhYmxlIG1ldGFkYXRhIGF0dHJpYnV0ZXM8XC9oMj5cbjxwPlRoZSBmb2xsb3dpbmcgdGFibGUgbGlzdHMgdGhlIGV4dHJhY3RhYmxlIG1ldGFkYXRhLjxcL3A+XG48cD5UaGUgbWV0YWRhdGEgaXMgYXZhaWxhYmxlIHdpdGggdGhlIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk11bHRpbWVkaWEuQXVkaW9NZXRhZGF0YS5tZFwiPlRpemVuLk11bHRpbWVkaWEuQXVkaW9NZXRhZGF0YTxcL2E+LCA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5NdWx0aW1lZGlhLk1ldGFkYXRhLm1kXCI+VGl6ZW4uTXVsdGltZWRpYS5NZXRhZGF0YTxcL2E+LCA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5NdWx0aW1lZGlhLk1ldGFkYXRhRXh0cmFjdG9yLm1kXCI+VGl6ZW4uTXVsdGltZWRpYS5NZXRhZGF0YUV4dHJhY3RvcjxcL2E+LCA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5NdWx0aW1lZGlhLlN5bmNMeXJpY3MubWRcIj5UaXplbi5NdWx0aW1lZGlhLlN5bmNMeXJpY3M8XC9hPiwgYW5kIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk11bHRpbWVkaWEuVmlkZW9NZXRhZGF0YS5tZFwiPlRpemVuLk11bHRpbWVkaWEuVmlkZW9NZXRhZGF0YTxcL2E+IGNsYXNzZXMuPFwvcD5cbjxwPjxzdHJvbmc+VGFibGU6IE1ldGFkYXRhIGV4dHJhY3RvciBhdHRyaWJ1dGVzPFwvc3Ryb25nPjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5BdHRyaWJ1dGU8XC90aD5cbjx0aD5EZXNjcmlwdGlvbjxcL3RoPlxuPHRoPlByb3BlcnR5IG9yIG1ldGhvZDxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5EdXJhdGlvbjxcL3RkPlxuPHRkPkR1cmF0aW9uIG9mIHRoZSBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuRHVyYXRpb248XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+VmlkZW8gYml0IHJhdGU8XC90ZD5cbjx0ZD5CaXQgcmF0ZSBvZiB0aGUgdmlkZW8gY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPlZpZGVvTWV0YWRhdGEuQml0UmF0ZTxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5WaWRlbyBGUFM8XC90ZD5cbjx0ZD5GUFMgb2YgdGhlIHZpZGVvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5WaWRlb01ldGFkYXRhLkZwczxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5WaWRlbyBjb2RlYzxcL3RkPlxuPHRkPkNvZGVjIG9mIHRoZSB2aWRlbyBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+VmlkZW9NZXRhZGF0YS5Db2RlYzxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5WaWRlbyBzdHJlYW0gY291bnQ8XC90ZD5cbjx0ZD5OdW1iZXIgb2Ygc3RyZWFtcyBvZiB0aGUgdmlkZW8gY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPlZpZGVvTWV0YWRhdGEuU3RyZWFtQ291bnQ8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+VmlkZW8gcmVzb2x1dGlvbjxcL3RkPlxuPHRkPlJlc29sdXRpb24gb2YgdGhlIHZpZGVvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5WaWRlb01ldGFkYXRhLldpZHRoPFwvY29kZT48YnI+PGNvZGU+VmlkZW9NZXRhZGF0YS5IZWlnaHQ8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+QXVkaW8gYml0IHJhdGU8XC90ZD5cbjx0ZD5CaXQgcmF0ZSBvZiB0aGUgYXVkaW8gY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPkF1ZGlvTWV0YWRhdGEuQml0UmF0ZTxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5BdWRpbyBjaGFubmVsczxcL3RkPlxuPHRkPkNoYW5uZWwgb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5BdWRpb01ldGFkYXRhLkNoYW5uZWxzPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkF1ZGlvIHNhbXBsZSByYXRlPFwvdGQ+XG48dGQ+U2FtcGxlIHJhdGUgb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5BdWRpb01ldGFkYXRhLlNhbXBsZVJhdGU8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+QXVkaW8gYml0IHBlciBzYW1wbGU8XC90ZD5cbjx0ZD5CaXQgcGVyIHNhbXBsZSBvZiB0aGUgYXVkaW8gY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPkF1ZGlvTWV0YWRhdGEuQml0UGVyU2FtcGxlPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkF1ZGlvIGNvZGVjPFwvdGQ+XG48dGQ+Q29kZWMgb2YgdGhlIGF1ZGlvIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5BdWRpb01ldGFkYXRhLkNvZGVjPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkF1ZGlvIHN0cmVhbSBjb3VudDxcL3RkPlxuPHRkPk51bWJlciBvZiBzdHJlYW1zIG9mIHRoZSBhdWRpbyBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+QXVkaW9NZXRhZGF0YS5TdHJlYW1Db3VudDxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5BcnRpc3Q8XC90ZD5cbjx0ZD5BcnRpc3Qgb2YgdGhlIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5NZXRhZGF0YS5BcnRpc3Q8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+VGl0bGU8XC90ZD5cbjx0ZD5UaXRsZSBvZiB0aGUgY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPk1ldGFkYXRhLlRpdGxlPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkFsYnVtPFwvdGQ+XG48dGQ+QWxidW0gb2YgdGhlIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5NZXRhZGF0YS5BbGJ1bTxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5BbGJ1bSBhcnRpc3Q8XC90ZD5cbjx0ZD5BbGJ1bSBhcnRpc3Qgb2YgdGhlIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5NZXRhZGF0YS5BbGJ1bUFydGlzdDxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5HZW5yZTxcL3RkPlxuPHRkPkdlbnJlIG9mIHRoZSBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuR2VucmU8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+Q29tcG9zZXI8XC90ZD5cbjx0ZD5Db21wb3NlciBvZiB0aGUgY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPk1ldGFkYXRhLkNvbXBvc2VyPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkNvcHlyaWdodDxcL3RkPlxuPHRkPkNvcHlyaWdodCBvZiB0aGUgY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPk1ldGFkYXRhLkNvcHlyaWdodDxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5SZWxlYXNlIGRhdGU8XC90ZD5cbjx0ZD5SZWxlYXNlIGRhdGUgb2YgdGhlIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5NZXRhZGF0YS5EYXRlUmVsZWFzZWQ8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+RGVzY3JpcHRpb248XC90ZD5cbjx0ZD5EZXNjcmlwdGlvbiBvZiB0aGUgY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPk1ldGFkYXRhLkRlc2NyaXB0aW9uPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkNvbW1lbnQ8XC90ZD5cbjx0ZD5Db21tZW50IGFib3V0IHRoZSBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuQ29tbWVudDxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5UcmFja051bWJlcjxcL3RkPlxuPHRkPlRyYWNrIG51bWJlciBvZiB0aGUgY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPk1ldGFkYXRhLlRyYWNrTnVtYmVyPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkNsYXNzaWZpY2F0aW9uPFwvdGQ+XG48dGQ+Q2xhc3NpZmljYXRpb24gb2YgdGhlIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5NZXRhZGF0YS5DbGFzc2lmaWNhdGlvbjxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5SYXRpbmc8XC90ZD5cbjx0ZD5SYXRpbmcgb2YgdGhlIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5NZXRhZGF0YS5SYXRpbmc8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+TG9uZ2l0dWRlPFwvdGQ+XG48dGQ+TG9uZ2l0dWRlIG9mIHRoZSBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuTG9uZ2l0dWRlPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPkxhdGl0dWRlPFwvdGQ+XG48dGQ+TGF0aXR1ZGUgb2YgdGhlIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5NZXRhZGF0YS5MYXRpdHVkZTxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5BbHRpdHVkZTxcL3RkPlxuPHRkPkFsdGl0dWRlIG9mIHRoZSBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuQWx0aXR1ZGU8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+Q29uZHVjdG9yPFwvdGQ+XG48dGQ+Q29uZHVjdG9yIG9mIHRoZSBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuQ29uZHVjdG9yPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPlVuc3luYyBseXJpY3M8XC90ZD5cbjx0ZD5Bc3luY2hyb25vdXMgbHlyaWNzIG9mIHRoZSBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuVW5zeW5jTHlyaWNzPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPlN5bmMgbHlyaWNzPFwvdGQ+XG48dGQ+U3luY2hyb25vdXMgbHlyaWNzIG9mIHRoZSBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuU3luY0x5cmljc0NvdW50PFwvY29kZT48YnI+PGNvZGU+TWV0YWRhdGFFeHRyYWN0b3IuR2V0U3luY0x5cmljcygpPFwvY29kZT48YnI+PGNvZGU+U3luY0x5cmljcy5MeXJpY3M8XC9jb2RlPjxicj48Y29kZT5TeW5jTHlyaWNzLlRpbWVzdGFtcDxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5SZWNvcmRlZCBkYXRlPFwvdGQ+XG48dGQ+UmVjb3JkZWQgZGF0ZSBvZiB0aGUgY29udGVudDxcL3RkPlxuPHRkPjxjb2RlPk1ldGFkYXRhLkRhdGVSZWNvcmRlZDxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5PcmllbnRhdGlvbjxcL3RkPlxuPHRkPk9yaWVudGF0aW9uIG9mIHRoZSBjb250ZW50PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuUm90YXRpb248XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+MzYwIENvbnRlbnQ8XC90ZD5cbjx0ZD5JbmZvcm1hdGlvbiBmb3IgMzYwIGNvbnRlbnQ8XC90ZD5cbjx0ZD48Y29kZT5NZXRhZGF0YS5Db250ZW50MzYwPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPlN0aXRjaGVkIDM2MCBDb250ZW50PFwvdGQ+XG48dGQ+SW5mb3JtYXRpb24gYWJvdXQgMzYwIHZpZGVvIGNvbnRlbnQgYmVpbmcgc3RpdGNoZWQgb3Igbm90PFwvdGQ+XG48dGQ+PGNvZGU+TWV0YWRhdGEuU3RpdGNoZWRDb250ZW50MzYwPFwvY29kZT48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aDIgaWQ9XCJjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtcmVsYXRlZC1pbmZvcm1hdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmVsYXRlZCBpbmZvcm1hdGlvbjxcL2gyPlxuPHVsPlxuPGxpPkRlcGVuZGVuY2llc1xuPHVsPlxuPGxpPlRpemVuIDQuMCBhbmQgSGlnaGVyPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvdWw+XG4iLCJ0YWJsZV9vZl9jb250ZW50IjoiPHVsIGNsYXNzPVwidGFibGUtb2YtY29udGVudHNcIj5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcHJlcmVxdWlzaXRlc1wiPlByZXJlcXVpc2l0ZXM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1lZGl0LW1ldGFkYXRhLWFuZC1hcnR3b3JrLWRlcHJlY2F0ZWQtc2luY2UtYXBpLWxldmVsLTEyXCI+RWRpdCBtZXRhZGF0YSBhbmQgYXJ0d29yayAoRGVwcmVjYXRlZCBzaW5jZSBBUEkgTGV2ZWwgMTIpPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcmV0cmlldmUtbWV0YWRhdGFcIj5SZXRyaWV2ZSBtZXRhZGF0YTxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJldHJpZXZlLXRoZS1taW1lLXR5cGUtZm9yLWEtZmlsZS1leHRlbnNpb25cIj5SZXRyaWV2ZSB0aGUgTUlNRSB0eXBlIGZvciBhIGZpbGUgZXh0ZW5zaW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcmV0cmlldmUtZmlsZS1leHRlbnNpb25zLWZvci1hLW1pbWUtdHlwZVwiPlJldHJpZXZlIGZpbGUgZXh0ZW5zaW9ucyBmb3IgYSBNSU1FIHR5cGU8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1lZGl0YWJsZS1tZXRhZGF0YS1hdHRyaWJ1dGVzLWRlcHJlY2F0ZWQtc2luY2UtYXBpLWxldmVsLTEyXCI+RWRpdGFibGUgbWV0YWRhdGEgYXR0cmlidXRlcyAoRGVwcmVjYXRlZCBzaW5jZSBBUEkgTGV2ZWwgMTIpPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZXh0cmFjdGFibGUtbWV0YWRhdGEtYXR0cmlidXRlc1wiPkV4dHJhY3RhYmxlIG1ldGFkYXRhIGF0dHJpYnV0ZXM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1yZWxhdGVkLWluZm9ybWF0aW9uXCI+UmVsYXRlZCBpbmZvcm1hdGlvbjxcL2E+PFwvbGk+XG48XC91bD5cbiIsInRpdGxlIjoiTWV0YWRhdGEiLCJyYXciOm51bGx9LHsiY2xhc3MiOiJBcHBcXFNlcnZpY2VzXFxEb2N1bWVudGF0aW9uXFxEYXRhXFxSZW5kZXJlZE1hcmtkb3duIiwicyI6IndyYmwifV19LHsicyI6ImFyciJ9XX0sIm1lbW8iOnsiaWQiOiJaUDQ0Q3hFQ01NejhWSHRqMkpPUyIsIm5hbWUiOiJfX21vdW50UGFyYW1zQ29udGFpbmVyIiwicGF0aCI6ImRvY3NcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2d1aWRlc1wvbXVsdGltZWRpYVwvbWV0YWRhdGEiLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiI5NzVjZTE3MjkxMDI5MWU4NzkyOTE0N2EzYmFmMjNiNTVhMTBmNDM5NjAxYmZjNmM3MGFhYWIxN2IwZDA5ZThjIn0=')" >

For the best experience,
Please visit us from a computer

Copyright © 2026 SAMSUNG. All rights reserved.

Customize your cookie preferences

You can enable or disable non-essential cookies. Essential cookies are always on to ensure the site works properly and to keep you signed in.

Necessary

These cookies are necessary for the website to function properly and cannot be switched off. They help with things like logging in and setting your privacy preferences.

Always on

Analytics

These cookies help us improve the site by tracking which pages are most popular and how visitors move around the site.

Enable analytics cookies
Public Forum Public Forum
Employees only. Please sign in with your company account.