<p>html2canvas: рдХреНрд▓реЛрди рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ DIV рдЦреЛрдЬрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдЬрдире░ 2018  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: niklasvh/html2canvas

рджреЛрд╖ рд░рд┐рдкреЛрд░реНрдЯ:

html2canvas рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ HTMLElement рдкрд░ element.cloneNode(true) рдпрд╛ angular.copy(element) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдпрд╣ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред

html2canvas: рдХреНрд▓реЛрди рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ DIV рдЦреЛрдЬрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐
рдзреНрдпрд╛рди рдореЗрдВ рди рдЖрдпрд╛ (рд╡рд╛рджреЗ рдореЗрдВ) рдХреНрд▓реЛрди рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ DIV рдЦреЛрдЬрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐

рд╡рд┐рд╢реЗрд╖ рд╡рд┐рд╡рд░рдг:

  • html2canvas рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛: 1.0.0-alpha.9"
  • рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг: рдХреНрд░реЛрдо 63.0.3239.132
  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рдореИрдХ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдЕрдм рддрдп рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдбреЛрдо рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
document.getElementsByTagName('BODY')[0].append(mainDom) рдЬреЛрдбрд╝рдирд╛; рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ред

рдПрдХ рдмрд╛рд░ html2canvas рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рдиреЗ рдкрд░ рдореБрдЭреЗ рдореЗрдирдбреЛрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рд╕рднреА 12 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдЬрдм рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд╕рдВрдЧреНрд░рд╣рдг рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ React.js . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреГрд╖реНрда рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реВрдВ

<Link to="/system">
            <button className="submitButton"  onClick={this.captureMap} >SUBMIT </button>
</Link>

   captureMap(){
      html2canvas(document.querySelector(".mapboxgl-canvas")).then(canvas => {
        // document.body.appendChild(canvas);
        var image = canvas;
        if(typeof localStorage !== "undefined"){
          localStorage.setItem('mapImg',image.toDataURL());
        }
      });
    }

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛
рдХреЙрдиреНрд╕реНрдЯ рдореЗрдирдбреЛрдо = рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ред рдХреНрд░рд┐рдПрдЯ рдПрд▓рд┐рдореЗрдВрдЯ ('div');
mainDom.appendChild(domElem[0].cloneNode(true)); // domElem рдХреБрдЫ рдбреЛрдо рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ

рдЬрдм рд╣рдо рдореЗрдирдбреЙрдо рдХреЛ html2canvas рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдиреАрдЪреЗ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

html2canvas: рдХреНрд▓реЛрди рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ DIV рдЦреЛрдЬрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐
demo.html#/Demo/ Widget:1 рдзреНрдпрд╛рди рдореЗрдВ рди рдЖрдпрд╛ (рд╡рд╛рджреЗ рдореЗрдВ) рдХреНрд▓реЛрди рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ DIV рдЦреЛрдЬрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐

@HarishSonar рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ jsfiddle рдкрд░ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╣ рдЕрдм рддрдп рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдбреЛрдо рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
document.getElementsByTagName('BODY')[0].append(mainDom) рдЬреЛрдбрд╝рдирд╛; рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ред

рдПрдХ рдмрд╛рд░ html2canvas рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рдиреЗ рдкрд░ рдореБрдЭреЗ рдореЗрдирдбреЛрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рднрд╡рд┐рд╖реНрдп рдХреЗ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдпрд╣реА рдореБрджреНрджрд╛ рд╣реИред

рдореИрдВрдиреЗ рдбреАрдУрдПрдо рдиреЛрдб рдХреЛ рдХреНрд▓реЛрди рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛, рдЗрд╕реЗ document.body рдХреЗ рдкрд╣рд▓реЗ рдмрдЪреНрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓рд┐рдпреЛрдВ position: absolute; top: -16384px; width: ${originalElementWidth} ред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ DOM рдиреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, @niklasvh , рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣рд╛рдВ jsfiddle рд╣реИ: https://jsfiddle.net/bLwya8sf/1/

рдирдорд╕реНрддреЗ, рдореИрдВ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдорд┐рд▓рд╛ред рдФрд░ рдЬрдм рдореИрдВ html2canvas рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рднреА рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕рдорд╛рдзрд╛рди рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВя╝Я рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдореЗрд░рд╛ рдХреЛрдб рд╣реИ:
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбрд╛рдЙрдирдмреАрдЯреАрдПрди () {
var targetDom = document.querySelector('#Box');
рд╡рд░ copyDom = targetDom.cloneNode (рд╕рдЪ);
document.body.appendChild (рдХреЙрдкреАрдбреЙрдо);
html2canvas(copyDom).then (рдХреИрдирд╡рд╛рд╕ => {
var imgData = рдХреИрдирд╡рд╛рд╕.toDataURL ('рдЫрд╡рд┐/рдЬреЗрдкреАрдИрдЬреА');
рд╡рд░ img = рдирдИ рдЫрд╡рд┐ ();
img.src = imgData;
img.onload = рдлрд╝рдВрдХреНрд╢рди () {
pdf.addImage(imgData, 'jpeg', 0, 0, this.width * 0.225, this.height * 0.225);
pdf.save('pdf_2.pdf');
};
copyDom.remove ();
});

рдпрд╣рд╛рдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛: рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреЗ рдПрд╕рд╡реАрдЬреА рдХреЛ рдПрдХ div рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдкрдбрд╝рд╛ ...

рдпрд╣рд╛рдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛: рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреЗ рдПрд╕рд╡реАрдЬреА рдХреЛ рдПрдХ div рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдкрдбрд╝рд╛ ...

рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╣ рдЕрдм рддрдп рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдбреЛрдо рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
document.getElementsByTagName('BODY')[0].append(mainDom) рдЬреЛрдбрд╝рдирд╛; рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ред

рдПрдХ рдмрд╛рд░ html2canvas рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рдиреЗ рдкрд░ рдореБрдЭреЗ рдореЗрдирдбреЛрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рд╣рд╛рдВ, рд╣рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдбреЛрдо рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдпрд╣рд╛рдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛: рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреЗ рдПрд╕рд╡реАрдЬреА рдХреЛ рдПрдХ div рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдкрдбрд╝рд╛ ...

рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЬрд╝рд░реВрд░!
рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдпрд╛
рдпрд╣ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ 11 рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдПрдЪрдЯреАрдПрдордПрд▓ 2 рдХреИрдирд╡рд╛рд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдВрддрд┐рдо рдкреАрдбреАрдПрдл рдореЗрдВ рдХреБрдЫ рднреА рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ... рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдЪрдЯреАрдПрдордПрд▓ 2 рдХреИрдирд╡рд╛рд╕ рдореБрджреНрджрд╛ рд╣реИ рдпрд╛ рдЬреЗрдПрд╕рдкреАрдбреАрдПрдл рдПрдХ ... рдХреЛрдИ рд╕рдВрдХреЗрдд?
рд╢реБрдХреНрд░рд┐рдпрд╛

рдпрд╣ рдЕрдм рддрдп рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдбреЛрдо рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
document.getElementsByTagName('BODY')[0].append(mainDom) рдЬреЛрдбрд╝рдирд╛; рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ред
рдПрдХ рдмрд╛рд░ html2canvas рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рдиреЗ рдкрд░ рдореБрдЭреЗ рдореЗрдирдбреЛрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рд╣рд╛рдВ, рд╣рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдбреЛрдо рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдЖрдк рдСрдирдХреНрд▓реЛрди рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ? рдпрд╣ рдЖрдкрдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреНрд▓реЛрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдЙрд╕рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рджреЗрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рддрд╛рд▓рд┐рдХрд╛, рдЧреИрдВрдЯ рдЪрд╛рд░реНрдЯ рд╣реИ, рдФрд░ рдЖрдк рдкреАрдбреАрдПрдл рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдЫрд┐рдкреА рд╣реБрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

html2canvas(document.body, {
        onclone: function(documentClone) {
            // target elements you want to change on the "documentClone" object
        })
        .then(function(canvas) {
            // print canvas with e.g: jsPDF
        });
    };

рдореИрдВрдиреЗ рдпрд╣рд╛рдБ IE11 рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ABHIKSINGHH picture ABHIKSINGHH  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

koreanman picture koreanman  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

diego-rey picture diego-rey  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bishwapoudel picture bishwapoudel  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rrutkows picture rrutkows  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ