WPF Path Markup Syntax vs. Png XAML benefits?

I have made some WPF Xaml designs. The current workflow is that our designer sends a design file containing all PNG assets and embeds the PNGs into the application.

But I found a XAML with the tool I use to display the design <Path ... is also generated, which I can copy and paste directly into the XAML.

I could not find any articles about these types of best practices, but is there a compelling reason to do that Path markup syntax instead of embedding PNGs directly (is this a better practice than using PNGs)?

Nginx proxy cache 404 did not find any static files (css, js, jpg, png vb)

My nginx proxy server: 10.90.100.2
My backend server: 10.90.100.3

My proxy server does not load static files (css, js, woff, png vb.)

My conf





Proxy_Cache_Path / etc / nginx / Proxy_Cache Layers = 1: 2 keys_zone = ferditest: 10m inactive = 60m;
proxy_cache_key "$ scheme $ request_method $ host $ request_uri";

Server {

listen 80;
you hear 443 ssl;
Server name www.abc.com abc.com;

ssl_certificate /etc/letsencrypt/live/abc.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/abc.com/privkey.pem;




location ~ * . (jpg | jpeg | png | gif | ico | css | js | pdf | woff | woff2 | pdf) $ {
expires 30d;
}



#include /etc/nginx/bots.d/ddos.conf;
#include /etc/nginx/bots.d/blockbots.conf;
#include /etc/nginx/bots.d/blacklist-ips.conf;


ssl_ciphers HIGH :! aNULL :! MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared: SSL: 1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Do not use SSLv3 for killer glands


Page number on;
pagespeed FileCachePath "/ etc / nginx / ngx_pagespeed /";
pagespeed EnableFilters collapse_whitespace;
pagespeed EnableFilters extend_cache;
pagespeed EnableFilters make_google_analytics_async;
pagespeed EnableFilters lazyload_images;
pagespeed EnableFilters rewrite_images;

location ~ " .pagespeed . ([a-z].)?[a-z]{2} .[^.]{10} .[^.]+ "{
add_header "" "";
}
location ~ "^ / pagespeed_static /" {}
location ~ "^ / ngx_pagespeed_beacon $" {}



Location / {


add_header Strict-Transport-Security "max-age = 31536000";
add_header X-Content-Type-Options nosniff;
add_header X-Cache $ upstream_cache_status;


proxy_cache ferditest;
add_header X proxy cache $ upstream_cache_status;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control-Set-Cookie;
proxy_set_header Accept-Encoding "gzip";

proxy_buffering on;
proxy_cache_valid 200 302 1m;
proxy_cache_valid 404 1m;
proxy_cache_methods GET HEAD;

proxy_cache_use_stale Error Timeout invalid_header Updated from http_500 http_502 http_503 http_504;
proxy_cache_lock;
proxy_cache_use_stale update;
Proxy_bind 0.0.0.0;


proxy_pass http://10.90.100.3;

proxy_set_header Host $ http_host;
proxy_set_header X-Forwarded host $ http_host;
proxy_set_header X-Real-IP $ remote_addr;
proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header HTTPS "on";
proxy_set_header X-NginX proxy true;
proxy_set_header X-Accel Internal / Internal Nginx Static Location;





}
}

error log


[error]    23151 # 23151: * 6 open () "/etc/nginx/html/test1/wp-includes/js/wp-embed.min.js" failed (2: No such file or directory), client:

Many Thanks

Add tEXt blocks to PNG frames exported from ffmpeg

I currently use ffmpeg and make a video as input and a complex filter:

  • Split into multiple streams
  • Apply a set of filters for each stream (each filter performs a different transformation).

Then I assign each of the streams to output a sequence of PNG images.

Currently I am writing everything Pipe: 1 (stdout) so that the program that starts ffmpeg can process the output.

Each of the streams must be processed separately in the calling program.

So I want to tag the PNGs to identify how they should be processed. The text Chunk type in PNGs would be perfect for that.

The question is, how can I have ffmpeg encode this piece (or another piece of metadata) into the PNG?

Right now I'm trying the following:

ffmpeg 
-I  
-filter_complex 
Split = 2[in1][in2];[in1][out1];[in2][out2]    
-Map [out1] -metadata title = -codec png -f image2pipe pipe: 1 
-Map [out2] -metadata title = -codec png -f image2pipe pipe: 1

However, there are no extra chunks in the PNGs being streamed to the pipe.

I tried that too metadata filter like this:

ffmpeg 
-I  
-filter_complex 
Split = 2[in1][in2];[in1], metadata = add: key = mykey: value = mytag1[out1];[in2], metadata = add: key = mykey: value = mytag2[out2] 
-Map [out1] -metadata title = -codec png -f image2pipe pipe: 1 
-Map [out2] -metadata title = -codec png -f image2pipe pipe: 1

However, this does not generate additional metadata in the PNG stream.

Is this possible or do I have to find another way to somehow separate and process the streams?

Convert PDF and PNG to $ 5 in Word, Excel, and PPW

  • Convert PDF and PNG to Word, Excel and PPW

Hello I am Maria.

I am anxious to work with you, to test my services and to contact you if you have any questions.

My services include:

  • PDF to Word, Excel, Power Point.
  • Word, Excel, Power Point => PDF
  • Can perform any format conversion.
  • Inputs of scanned PDFs / images in Word.
  • Create uneditable files.
  • Create files that are password protected.
  • Data entry tasks.

If you have any questions or would like to discuss prices for an individual project, do not hesitate to contact me.

MY SKILLS.

  • Woman word
  • Ms. Excel
  • Woman PowerPoint


This service has no reviews – order and let the first!


$5In stock

,

html – jpg / png Problems with Huzzah ESP2866 + Arduino IDE

I am using a Huzzah ESP2866 with Arduino IDE. I'm trying to upload images with html + spiffy, but the broken image logo still appears. The text works well. Also, the HTML file will open with a working image in a browser, so I'm pretty sure the location of jpeg / png is not the problem.
I also tried different jpegs / pngs, but the same result.

I use code from here:

The text works well. The HTML file is also opened with a working image in a browser. So I'm pretty sure the JPEG position is not the problem. I also tried different jpegs / pngs, but the same result.

I use code from here:
https://circuits4you.com/2018/01/31/upload-image-png-jpeg-to-esp8266-web-page/

index.html





This example shows how to load images from the ESP8266 Web server "Image" and HTML web page files are uploaded to ESP Flash with the SPIFFS tool:

Picture of ESP8266

ESP.ino

* ESP8266 SPIFF HTML web page with JPEG, PNG image
*
* /

#include 
#include 
#include    // Include file system headers

const char * imagefile = "http://stackoverflow.com/image.png";
const char * htmlfile = "index.html";

// Configuration of the ESP-AP mode
const char * ssid = "image-demo-circuits4you.com";
const char * password = "password";


ESP8266 Web server server (80);

void handleRoot () {
server.sendHeader ("Location", "/index.html",true); // Forward to
our HTML website
server.send (302, "text / plane", "");
}

void handleWebRequests () {
if (loadFromSpiffs (server.uri ())) return;
String message = "File not found  n  n";
message + = "URI:";
message + = server.uri ();
message + = " nMethod:";
message + = (server.method () == HTTP_GET)? "GET": "POST";
message + = " nArguments:";
message + = server.args ();
Message + = " n";
for (uint8_t i = 0; i <server.args (); i ++) {
message + = "NAME:" + server.argName (i) + " n VALUE:" + server.arg (i)
+ " n";
}
server.send (404, "text / plain", message);
Serial.println (message);
}

void setup () {
Delay (1000);
Series start (115200);
Serial.println ();

// initialize file system
SPIFFS.begin ();
Serial.println ("file system initialized");

// Initialize AP mode
WiFi.softAP (ssid); // password not used
IP address myIP = WiFi.softAPIP ();
Serial.print ("Web Server IP:");
Serial.println (myIP);

// Initialize web server
server.on ("/", handleRoot);
server.onNotFound (handleWebRequests); // set all paths
not found, so we can handle via URI
server.begin ();
}

Empty loop () {
server.handleClient ();
}

bool loadFromSpiffs (String Path) {
String dataType = "text / plain";
if (path.endsWith ("/")) path + = "index.htm";

if (path.endsWith (".src")) path = path.substring (0,
path.lastIndexOf ("."));
else if (path.endsWith (".html")) dataType = "text / html";
else if (path.endsWith (".htm")) dataType = "text / html";
else if (path.endsWith (".css")) dataType = "text / css";
else if (path.endsWith (".js")) dataType = "application / javascript";
else if (path.endsWith (".png")) dataType = "image / png";
else if (path.endsWith (".gif")) dataType = "image / gif";
else if (path.endsWith (".jpg")) dataType = "image / jpeg";
else if (path.endsWith (".ico")) dataType = "image / x-icon";
else if (path.endsWith (".xml")) dataType = "text / xml";
else if (path.endsWith (".pdf")) dataType = "application / pdf";
else if (path.endsWith (".zip")) dataType = "application / zip";
File dataFile = SPIFFS.open (path.c_str (), "r");
if (server.hasArg ("download")) dataType = "application / octet-
Electricity";
if (server.streamFile (dataFile, dataType)! = dataFile.size ()) {
}

dataFile.close ();
return true;
}

Javascript – How to Download Images Using the Base64 URL (Data: image / png)

I have the following code to use to transform an element of my site into png using the html2canvas library:

Function saveStory () {
html2canvas (document.querySelector ("# story")). then (canvas => {
$ (& # 39; # appCanvas & # 39;). append (artboard)
var canvaUrl = canvas.toDataURL ("image / png");
$ (# Test #). attr (& # 39; href & # 39; canvaUrl);
$ (# Test #). attr (& # 39; download & # 39 ;, test file.png & # 39;);
$ (# Test #)[0]click ();
});
}

However, I have a problem and the download does not start because Chrome at least does not allow the pictures base64, I've tried to change the following code, but will then download without the .png extension, so it's an unknown file until the extension is added manually.

Instead of var canvaUrl = canvas.toDataURL ("image / png"); :

var canvaUrl = canvas.toDataURL ("image / png"). replace (/ ^ data: image  /[^;]+ /, # Data: application / octet-stream & # 39;);

Note: #test is an empty link, which then takes the link of the image, but pressing does not matter.

Safari Displays Base64-encoded PNG, but no SVG

I am trying to display a base64-encoded svg that uses a pixel with the base64 string as its source. I use fabricjs to set the source of a pattern on the image and then use the pattern as a fill of a rectangle. This works in Chrome, Firefox, Opera and Edge.
Safari displays only the base64 encoded PNG.
I tried to set the cross origin of the image and made sure that the encoded string was written with & # 39; = & # 39; ends. I also made sure that the SVG contains a viewbox attribute and I tried to remove the attribute. I'm just not sure why Safari is the only browser that has this problem or what will be tried next. Any advice would be helpful.

Safari Version 12.0 (13606.2.11)

Here is a code snippet:

fabricConfig: {
Width: 32,
Height: 32,
scaleX: 1,
scaleY: 1,
originX: "center",
originY: "center",
lockScalingFlip: true,
Stroke: & rgb (0,0,0) & # 39 ;,
fill: & rgba (0,0,0,0) & # 39;
},

Draw: Function (Canvas, Options)
var coords = canvas.getPointer (options.e),
pointX = coords.x,
pointY = coords.y,
encodedPattern = // This would be the base64 encoded string, see below
Rectangle pattern = new fabric.Rect (Ext.apply ({
left: pointX,
above: PointY
}, this.fabricConfig)),
Rectangle = new substance.Rect (Ext.apply ({
left: pointX,
above: PointY
}, this.fabricConfig));

fabric.util.loadImage (encodedPattern, function (img) {
var pattern = new fabric.Pattern ({
Source: img,
repeat: "repeat"
});
rectanglepattern.fill = pattern;
var patternGroup = new fabric.Group ([rectangle, rectanglePattern]{
lockScalingFlip: true,
originX: "center",
originY: "center",
Stroke: & gt; rgb (0,0,0) & # 39;
});
canvas.add (patternGroup);
canvas.setActiveObject (patternGroup);
return patternGroup;
});

Base64 encoded svg:
, Data: image / svg + xml; Base64, PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8 + PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiICAgd2lkdGg9IjE1MCIgICBoZWlnaHQ9IjE1MCIgICB2aWV3Qm94PSIwIDAgMzkuNjg3NDk1IDM5LjY4NzQ5OCIgICB2ZXJzaW9uPSIxLjEiICAgaWQ9InN2ZzEwMDEzIiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMSByMTUzNzEiICAgc29kaXBvZGk6ZG9jbmFtZT0icGF0dGVybi5zdmciPiAgPGRlZnMgICAgIGlkPSJkZWZzMTAwMDciPiAgICA8bWFya2VyICAgICAgIGlua3NjYXBlOnN0b2NraWQ9IkRpYW1vbmRMIiAgICAgICBvcmllbnQ9ImF1dG8iICAgICAgIHJlZlk9IjAiICAgICAgIHJlZlg9IjAiICAgICAgIGlkPSJEaWFtb25kTCIgICAgI CAgc3R5bGU9Im92Z XJmbG93OnZpc2libGUiICAgICAgIGlua3NjYXBlOmlzc3RvY2s9InRydWUiPiAgICAgIDxwYXRoICAgICAgICAgaWQ9InBhdGgxNDYwMSIgICAgICAgICBkPSJNIDAsLTcuMDcxMDc2OCAtNy4wNzEwODk0LDAgMCw3LjA3MTA1ODkgNy4wNzEwNDYyLDAgWiIgICAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjAwMDAwMDAzcHQ7c3Ryb2tlLW9wYWNpdHk6MSIgICAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuOCkiICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPC9tYXJrZXI + + ICA8L2RlZnM ICA8c29kaXBvZGk6bmFtZWR2aWV3ICAgICBpZD0iYmFzZSIgICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIgICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IiAgICAgYm9yZGVyb3BhY2l0eT0iMS4wIiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIgICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiICAgICBpbmtzY2FwZTp6b29tPSIzLjk2NjMzMTciICAgICBpbmtzY2FwZTpjeD0iODkuMDA1ODM0IiAgICAgaW5rc2NhcGU6Y3k9Ijg0LjkxMzYzNyIgICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIgICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIgICAgIHNob3dncmlkPSJ0cnVlIiAgICAgdW5pdHM9InB4IiAgICAgb2JqZWN0dG9sZXJhb mNlPSI1IiAg ICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxMzgzIiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iOTgyIiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjI2IiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI2IiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIgICAgIGZpdC1tYXJnaW4tdG9wPSIwIiAgICAgZml0LW1hcmdpbi1sZWZ0PSIwIiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCIgICAgIGZpdC1tYXJnaW4tYm90dG9tPSIwIiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9ImZhbHNlIiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiPiAgICA8aW5rc2NhcGU6Z3JpZCAgICAgICB0eXBlPSJ4eWdyaWQiICAgICAgIGlkPSJncmlkMTQ0OTAiICAgICAgIG9yaWdpbng9IjEuNDEwNzQ1OSIgICAgICAgb3JpZ2lueT0iMS40MTA3NDI0IiAvPiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc + + ICA8bWV0YWRhdGEgICAgIGlkPSJtZXRhZGF0YTEwMDEwIj4gICAgPHJkZjpSREY ICAgICAgPGNjOldvcmsgICAgICAgICByZGY6YWJvdXQ9IiI + + ICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4gICAgICAgIDxkYzp0eXBlICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPiAgICAgICAgPGRjOnRpdGxlIC8 ICAgICAgPC9jYzpXb3JrPiAgICA8L3JkZjpSREY + ICA8L21ldGFkYXRhPiAgPGcgI CAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIgICAgIGlkPSJsYXllcjEiICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjQxMDc0NjMsLTI1OC43MjMyMykiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAgICAgICBkPSJNIC0yLjY0NTgzMzcsMjU3LjMxMjQ5IDM5LjY4NzUsMjk5LjY0NTgyIiAgICAgICBpZD0icGF0aDg0NTgiICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8 + ICAgIDxwYXRoICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOmJldmVsO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiICAgICAgIGQ9Ik0gMi42NDU4MzI5LDI1OC42MzU0IDM4LjM2NDU4MywyOTQuMzU0MTUiICAgICAgIGlkPSJwYXRoODQ2MCIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4gICA gp HBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgICAgICAgZD0ibSA2LjYxNDU4MjksMjU4LjYzNTQgMzEuNzUwMDAwMSwzMS43NSIgICAgICAgaWQ9InBhdGg4NDYyIiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAgICAgICBkPSJtIDEwLjU4MzMzMywyNTguNjM1NCAyNy43ODEyNSwyNy43ODEyNSIgICAgICAgaWQ9InBhdGg4NDY0IiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS 1KY XNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAgICAgICBkPSJtIDE0LjU1MjA4MywyNTguNjM1NCAyMy44MTI1LDIzLjgxMjUiICAgICAgIGlkPSJwYXRoODQ2OCIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgICAgICAgZD0ibSAzOC4zNjQ1ODIsMjU4LjYzNTQgdiAwIiAgICAgICBpZD0icGF0aDg0NzAiICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8 + ICAgIDxwYXRoICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOmJldmVsO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiICAgICAgIGQ9Im0gMTguNTIwODMzLDI1OC42MzU0IDE5Ljg0Mzc1LDE5Ljg0Mzc1IiAgICAgICBpZD0icGF0aDg0NzIiICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8 + I CAgIDxwY XRoICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOmJldmVsO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiICAgICAgIGQ9Im0gLTEuMzIyOTE3MSwyOTQuMzU0MTUgMy45Njg3NSwzLjk2ODc1IiAgICAgICBpZD0icGF0aDg0NzQiICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8 + + ICAgIDxwYXRoICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOmJldmVsO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiICAgICAgIGQ9Ik0gLTEuMzIyOTE3MSwyNjIuNjA0MTUgMzQuMzk1ODMzLDI5OC4zMjI5IiAgICAgICBpZD0icGF0aDg0NzYiICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8 ICAgIDxwYXRoICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOmJldmVsO3N0cm9rZS1taXRlcmxpbWl0 OjQ7c3Ryb2tlL WRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiICAgICAgIGQ9Im0gLTEuMzIyOTE3MSwyNjYuNTcyOSAzMS43NTAwMDAxLDMxLjc1IiAgICAgICBpZD0icGF0aDg0NzgiICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8 + + ICAgIDxwYXRoICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOmJldmVsO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiICAgICAgIGQ9Ik0gLTEuMzIyOTE3MSwyNzAuNTQxNjUgMjYuNDU4MzMzLDI5OC4zMjI5IiAgICAgICBpZD0icGF0aDg0ODAiICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8 ICAgIDxwYXRoICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOmJldmVsO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiICAgICAgIGQ9Ik0gLTEuMzIyOTE3MSwyNzQuNTEwNCAyMi40ODk1ODMsMjk4LjMyMjkiICAgICAgIGlkPSJwYXRoODQ4MiIgICAgICAgaW5rc2N hcGU6Y29ubmVjdG9yL WN1cnZhdHVyZT0iMCIgICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgICAgICAgZD0iTSAtMS4zMjI5MTcxLDI3OC40NzkxNSAxOC41MjA4MzMsMjk4LjMyMjkiICAgICAgIGlkPSJwYXRoODQ4NCIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgICAgICAgZD0ibSAyMi40ODk1ODMsMjU4LjYzNTQgMTUuODc1LDE1Ljg3NSIgICAgICAgaWQ9InBhdGg4NDg2IiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLW xpbmVjYXA6c3F1YXJlO 3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAgICAgICBkPSJtIDI2LjQ1ODMzMywyNTguNjM1NCAxMS45MDYyNSwxMS45MDYyNSIgICAgICAgaWQ9InBhdGg4NDg4IiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAgICAgICBkPSJtIC0xLjMyMjkxNzEsMjgyLjQ0NzkgMTUuODc1MDAwMSwxNS44NzUiICAgICAgIGlkPSJwYXRoODQ5MCIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW9wYWNpdHk6MDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgICAgICAgZD0iTSAxLjMyMjkxNjIsMjU4LjYzNTQgMzguM zY0NTgyLDI5NS42NzcwN yIgICAgICAgaWQ9InBhdGg4NDkyIiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2Utb3BhY2l0eTowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIiAgICAgICBkPSJtIDYuNjE0NTgyOCwyNTguNjM1NCAzMS43NDk5OTkyLDMxLjc1IiAgICAgICBpZD0icGF0aDg0OTQiICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8 + ICAgIDxwYXRoICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOmJldmVsO3N0cm9rZS1vcGFjaXR5OjA7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiICAgICAgIGQ9Im0gMTEuOTA2MjQ5LDI1OC42MzU0IDI2LjQ1ODMzMywyNi40NTgzNCIgICAgICAgaWQ9InBhdGg4NDk2IiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdH Jva2Utb3BhY2l0eTowO3N0c m9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIiAgICAgICBkPSJtIDE3LjE5NzkxNiwyNTguNjM1NCAyMS4xNjY2NjYsMjEuMTY2NjciICAgICAgIGlkPSJwYXRoODQ5OCIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW9wYWNpdHk6MDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgICAgICAgZD0ibSAyMi40ODk1ODMsMjU4LjYzNTQgMTUuODc0OTk5LDE1Ljg3NSIgICAgICAgaWQ9InBhdGg4NTAwIiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2Utb3BhY2l0eTowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIiAgICAgICBkPSJtIDI3Ljc4MTI0OCwyNTguNjM1NCAxMC41ODMzMzQsMTAuNTgzMzQiICAgICAgIGlkPSJwYXRoODUwMiIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9I mZpbGw6bm9uZTtzdHJva2U6I zAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW9wYWNpdHk6MDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgICAgICAgZD0ibSAzMy4wNzI5MTUsMjU4LjYzNTQgNS4yOTE2NjcsNS4yOTE2NyIgICAgICAgaWQ9InBhdGg4NTA0IiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2Utb3BhY2l0eTowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIiAgICAgICBkPSJNIC0xLjMyMjkxNzEsMjYxLjI4MTI0IDM1LjcxODc0OCwyOTguMzIyOSIgICAgICAgaWQ9InBhdGg4NTA2IiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2Utb3BhY2l0eTowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIiAgICAgICBkPSJtIC0xLjMyMjkxNzEsMjY2LjU3MjkgMzEuNzQ5OTk5MSwz MS43NSIgICAgICAgaWQ9InBhd Gg4NTA4IiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2Utb3BhY2l0eTowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIiAgICAgICBkPSJNIC0xLjMyMjkxNzEsMjcxLjg2NDU3IDI1LjEzNTQxNSwyOTguMzIyOSIgICAgICAgaWQ9InBhdGg4NTEwIiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2Utb3BhY2l0eTowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIiAgICAgICBkPSJNIC0xLjMyMjkxNzEsMjc3LjE1NjI0IDE5Ljg0Mzc0OSwyOTguMzIyOSIgICAgICAgaWQ9InBhdGg4NTEyIiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2Utb3B hY2l0eTowO3N0cm9rZS1taXRlc mxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIiAgICAgICBkPSJtIC0xLjMyMjkxNzEsMjgyLjQ0NzkgMTUuODc1MDAwMSwxNS44NzUiICAgICAgIGlkPSJwYXRoODUxNCIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MCIgICAgICAgZD0iTSAtMS4zMjI5MTcxLDI4Ny43Mzk1NyA5LjI2MDQxNjEsMjk4LjMyMjkiICAgICAgIGlkPSJwYXRoODUxNiIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MCIgICAgICAgZD0ibSAtMS4zMjI5MTcxLDI5My4wMzEyNCA1LjI5MTY2NjYsNS4yOTE2NiIgICAgICAgaWQ9InBhdGg4NTE4IiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPS IwIiAgICAgICBzb2RpcG9kaTpub 2RldHlwZXM9ImNjIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAgICAgICBkPSJtIDMwLjQyNzA4MywyNTguNjM1NCA3LjkzNzUsNy45Mzc1IiAgICAgICBpZD0icGF0aDg0ODgtNiIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46YmV2ZWw7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgICAgICAgZD0ibSAzNC4zOTU4MzMsMjU4LjYzNTQgMy45Njg3NSwzLjk2ODc1IiAgICAgICBpZD0icGF0aDg0ODgtMCIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4gICAgPHBhdGggICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC41O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZ WpvaW46YmV2ZWw7c3Ryb2tlLW1pd GVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgICAgICAgZD0iTSAtMS4zMjI5MTcxLDI4Ni40MTY2NSAxMC41ODMzMzMsMjk4LjMyMjkiICAgICAgIGlkPSJwYXRoODQ5MC03IiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAgICAgICBkPSJtIC0xLjMyMjkxNzEsMjkwLjM4NTQgNy45Mzc1LDcuOTM3NSIgICAgICAgaWQ9InBhdGg4NDkwLTczIiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjIiAvPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjpiZXZlbDtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIiAgICAgICBkPSJtIC0xLjMyMjkxNzEsMjk4LjMyMjkgMCwwIiAgICAgICBpZD0icGF0aDg1Nzki ICAgICAgIGlua3NjYXBlOmNvbm5lY 3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8 + ICAgIDxwYXRoICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOmJldmVsO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiICAgICAgIGQ9Im0gLTMuOTY4NzUwNCwzMDAuOTY4NzMgMS4zMjI5MTY3LDEuMzIyOTIiICAgICAgIGlkPSJwYXRoODU4MSIgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gIDwvZz48L3N2Zz4 = '

Base64 coded png:
& # 39; Data: image / PNG; Base64, iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsSAAALEgHS3X78AAACR0lEQVR4nO3RuZECQRBE0TQBUzAJ0zAJU / BgVlmBmJiGPuqK6C + U9pXKJ0mHpMdxHGqdpEdnd5f0LtzdJL0kPQt33WODEtENjg2KczczNiiO3ezYoDh1K2OD4tCtjg2KcWcxNiiGXTMEJaeT4dig2HSmY4Oy3pmPDcpK5zQ2KJOd59igTHTeY4My2EWMDcpAFzU2KJ1d5NigdHTNEJQcFCWMDcr3LmVsUNpd2tigXHXJY4NyBQJKHZQqY4NyBQJKPkq1sbdHqTj21ijNEJQcFEm6Fx17VxS9QSmFogcohVA ngalAMr5aVCSUa6eBiURpfU0KEko354GJQHl19OgBKM0Q1ByUNQ5NihxKN1jgxKDMjQ2KN7dxNigOHazY4Pi1K2MDYpDtzo2KMadxdigGHZWY4Ni1DVDUHI6GY8NynpnPjYoa53L2KDMdo5jgzLReY8NymAXMTYoA13U2KB0dpFjg9LRRY8Nyo + + + uGYKSg6KksUFpd2ljg3LdpY4NyrkrMDYoZ5ACY4NyBikwNihnkAJjb49SceytUaqOvS1KMyww9pYoknQrPPaOKHqBUgpFT1AKofzHoBRB YxBKYByjkFJRrmKQUlEacWgJKF8i0FJQGmGoOSgqGNsUGJRusYGJQ6le2xQIrrBsUFx7mbGBsWxmx0bFKduZWxQHLrVsUEx7izGBsWwa4ag5HQyHBsUm850bFDWO / OxQVnpnMYGZbLzHBuUic57bFAGu4ixQRnoosYGpbOLHBuUjq4ZgpKDooSxQfnS / QFooemaz5aVewAAAABJRU5ErkJggg == & # 39;

How do I convert a BMP, PNG or JPG image to PDF?

Look for an online PDF creator to convert various documents to PDF.
online2pdf is my favorite online free service to save images as a PDF. It's a free platform that allows users to convert Word, Excel, PowerPoint, IMAGE, text, etc. to PDF. You can also merge, compress, and protect PDF output when these files are saved to PDF. In addition, users can export PDF files to Word, Excel, PowerPoint and images.

magento 1.9 – How to show shadows on product images (png image)

Working on the Magento 1.9 website (currently running on shared hosting)

I want to show a small shadow for all product images (png) on ​​all Categoy and product pages for all products (by default).

for example :
Enter the image description here

I would like to show shadows on all uploaded pictures like the second picture
Is this possible, can someone please lead?