CINXE.COM

ผู้ให้บริการชั้นนําด้านนวัตกรรมโซลูชั่นระดับโลก | FusionSolar ประเทศไทย

<!DOCTYPE html> <html lang="th" data-region="th"> <head id="Head1"><meta name="keywords" content="ผู้นำด้านนวัตกรรมโซลูชั่นพลังงานแสงอาทิตย์ชั้นนำของประเทศไทย"><meta name="description" content="FusionSolar เป็นผู้ให้บริการโซลูชั่นพลังงานแสงอาทิตย์ชั้นนําระดับโลก โดยร่วมมือกับผู้ติดตั้งมืออาชีพ สาธารณูปโภค และผู้มีส่วนได้ส่วนเสียอื่นๆ เพื่อส่งเสริมการใช้พลังงานหมุนเวียนอย่างยั่งยืนและมีประสิทธิภาพ เราสามารถนําเสนอโซลูชันพลังงานแสงอาทิตย์อันทรงพลังที่เหมาะกับความต้องการของลูกค้าทั่วโลก"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title> ผู้ให้บริการชั้นนําด้านนวัตกรรมโซลูชั่นระดับโลก | FusionSolar ประเทศไทย </title> <meta name="applicable-device" content="pc,mobile"> <link rel="canonical" href="https://solar.huawei.com/th/"> <link rel="stylesheet" href="/Assets/Solar/v4/css/aui3.css?ver=202411131551"> <link rel="stylesheet" href="/Assets/Solar/v4/css/common.css?ver=202411131551"> <link rel="stylesheet" type="text/css" href="/-/media/SolarV4/solar-version2/common/seo/common-style.css?ver=202411131551"> <style> .nav-top-right .js-header-login,.nav-top-right .js-header-account,.nav-top-right .js-header-logout,.container .js-mheader-login,.container .js-mheader-account{ display:none !important; } </style><link rel="stylesheet" type="text/css" href="/Assets/Solar/v4/js/utils/swiper-new.min.css?ver=202411131551"> <link rel="stylesheet" type="text/css" href="/Assets/Solar/v4/css/index.css?ver=202411131551"> <style type="text/css"> .home_global .home_glb_content { will-change: transform; } </style><link rel="Shortcut Icon" href="/Assets/solar/v4/img/img_ent_en_logo_ico.ico"></head> <body class="aui3 ev_no_wcag"> <form method="post" action="/th" id="form1"> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTc0MDY0NDU1Mw8WAh4TVmFsaWRhdGVSZXF1ZXN0TW9kZQIBFgYCAg9kFgJmD2QWAmYPZBYMAgEPFgIeBFRleHQFjDA8ZGl2IGNsYXNzPSJuYXYtYWxsTGFuZ0JveCI+CiAgICA8ZGl2IGNsYXNzPSJpY29uLWNsb3NlIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImN1cnItbGFuZyI+PHNwYW4gY2xhc3M9Imljb24tY3VyciI+PC9zcGFuPgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9lbiI+RnVzaW9uU29sYXIgR2xvYmFsIC8gRW5nbGlzaDwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iYWxsTGFuZyI+CiAgICAgICAgPGRpdiBjbGFzcz0iYXJlYUl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhVGV4dCI+QXNpYSBQYWNpZmljPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdMaXN0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vYXUiPkF1c3RyYWxpYSAvIEVuZ2xpc2g8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL2NuIj5DaGluYSAvIOeugOS9k+S4reaWhzwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vaGsiPkhvbmcgS29uZywgQ2hpbmEgLyDnuYHpq5TkuK3mloc8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL2lkIj5JbmRvbmVzaWEgLyBJbmRvbmVzaWFuPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9qcCI+SmFwYW4gLyDml6XmnKzoqp48L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL215Ij5NYWxheXNpYSAvIEVuZ2xpc2g8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL3BoIj5QaGlsaXBwaW5lcyAvIEVuZ2xpc2g8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL3NnIj5TaW5nYXBvcmUgLyBFbmdsaXNoPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9rciI+U291dGggS29yZWEgLyDtlZzqta3slrQ8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL3RoIj5UaGFpbGFuZCAvIOC5hOC4l+C4ojwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vdm4iPlZpZXRuYW0gLyBFbmdsaXNoPC9hPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhSXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFyZWFUZXh0Ij5FdXJvcGU8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0xpc3QiPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vYXQiPkF1c3RyaWEgLyBEZXV0c2NoPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9iZS1mciI+QmVsZ2l1bSAvIEZyYW7Dp2FpczwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vYmUiPkJlbGdpdW0gLyBOZWRlcmxhbmRzPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9iZyI+QnVsZ2FyaWEgLyDQsdGK0LvQs9Cw0YDRgdC60Lg8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL2hyIj5Dcm9hdGlhIC8gaHJ2YXRza2k8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL2N6Ij5DemVjaGlhIC8gxI1lxaF0aW5hPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9kayI+RGVubWFyayAvIERhbnNrPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9mciI+RnJhbmNlIC8gRnJhbsOnYWlzPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9kZSI+R2VybWFueSAvIERldXRzY2g8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL2dyIj5HcmVlY2UgLyDOlc67zrvOt869zrnOus6sPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9odSI+SHVuZ2FyeSAvIEh1bmdhcmlhbjwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vaWUiPklyZWxhbmQgLyBFbmdsaXNoPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9pdCI+SXRhbHkgLyBJdGFsaWFubzwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vbmwiPk5ldGhlcmxhbmRzIC8gRHV0Y2g8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL3BsIj5Qb2xhbmQgLyBQb2xpc2g8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL3B0Ij5Qb3J0dWdhbCAvIHBvcnR1Z3XDqnM8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL3JvIj5Sb21hbmlhIC8gcm9tw6JuxIM8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL3NrIj5TbG92YWtpYSAvIHNsb3ZlbsSNaW5hPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9lcyI+U3BhaW4gLyBFc3Bhw7FvbDwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vc2UiPlN3ZWRlbiAvIFN2ZW5za2E8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL2NoIj5Td2l0emVybGFuZCAvIERldXRzY2g8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL2NoLWZyIj5Td2l0emVybGFuZCAvIEZyYW7Dp2FpczwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vdHIiPlTDvHJraXllIC8gVMO8cmvDp2U8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL3VhIj5Va3JhaW5lIC8g0KPQutGA0LDRl9C90LA8L2E+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFyZWFJdGVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXJlYVRleHQiPkxhdGluIEFtZXJpY2E8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0xpc3QiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9iciI+QnJhemlsIC8gUG9ydHVndWVzZTwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vbGF0YW0iPkxhdGluIEFtZXJpY2EgLyBFc3Bhw7FvbDwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vbXgiPk3DqXhpY28gLyBFc3Bhw7FvbDwvYT48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYXJlYUl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhVGV4dCI+TWlkZGxlIEVhc3QgJmFtcDsgQWZyaWNhPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdMaXN0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vZWciPkVneXB0IC8g2KfZhNmE2LrYqSDYp9mE2LnYsdio2YrYqTwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20va2UiPktlbnlhIC8gRW5nbGlzaDwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vbWEiPk1vcm9jY28gLyBGcmFuw6dhaXM8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL25nIj5OaWdlcmlhIC8gRW5nbGlzaDwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vcGsiPlBha2lzdGFuIC8gRW5nbGlzaDwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vc2EiPlNhdWRpIEFyYWJpYSAvINin2YTZhNi62Kkg2KfZhNi52LHYqNmK2KkgPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9zYS1lbiI+U2F1ZGkgQXJhYmlhIC8gRW5nbGlzaDwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vemEiPlNvdXRoIEFmcmljYSAvIEVuZ2xpc2g8L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5nSXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL3RuIj5UdW5pc2lhIC8gRnJhbsOnYWlzPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ0l0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9hZSI+VUFFIC8g2KfZhNmE2LrYqSDYp9mE2LnYsdio2YrYqTwvYT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmdJdGVtIj48YSBocmVmPSJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vYWUtZW4iPlVBRSAvIEVuZ2xpc2g8L2E+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgIDwvZGl2Pgo8L2Rpdj5kAgIPFgIeC18hSXRlbUNvdW50AgYWDGYPZBYEZg8VBA8vdGgvaG9tZS1vd25lcnMA2wN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdGaXJzdF9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzogJ0ZpcnN0X05hdmlnYXRpb24nLCdldmVudExhYmVsJzonSG9tZSBPd25lcnMnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319IeC5gOC4iOC5ieC4suC4guC4reC4h+C4muC5ieC4suC4mWQCAQ8WAh8CAv////8PZAIBD2QWBGYPFQQTL3RoL2J1c2luZXNzLW93bmVycwDfA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ0ZpcnN0X05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOiAnRmlyc3RfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidCdXNpbmVzcyBPd25lcnMnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319J+C5gOC4iOC5ieC4suC4guC4reC4h+C4geC4tOC4iOC4geC4suC4o2QCAQ8WAh8CAv////8PZAICD2QWBGYPFQQYL3RoL3V0aWxpdHktcGxhbnQtb3duZXJzAOQDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnRmlyc3RfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6ICdGaXJzdF9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1V0aWxpdHkgUGxhbnQgT3duZXJzJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fTnguYDguIjguYnguLLguILguK3guIfguYLguKPguIfguJzguKXguLTguJXguYTguJ/guJ/guYnguLJkAgEPFgIfAgL/////D2QCAw9kFgRmDxUEHS90aC9wcm9mZXNzaW9uYWxzL3Jlc2lkZW50aWFsAN0DdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnRmlyc3RfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6ICdGaXJzdF9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1Byb2Zlc3Npb25hbHMnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319JOC4nOC4ueC5ieC5gOC4iuC4teC5iOC4ouC4p+C4iuC4suC4jWQCAQ8WBB8CAgYeB1Zpc2libGVnFgxmD2QWAmYPFQQdL3RoL3Byb2Zlc3Npb25hbHMvcmVzaWRlbnRpYWwAggR0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1Byb2Zlc3Npb25hbHMnKycrJysnUmVzaWRlbnRpYWwgU21hcnQgUFYgJiBFU1MgU29sdXRpb24nKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319ngHguYLguIvguKXguLnguIrguLHguJnguJ7guKXguLHguIfguIfguLLguJnguYHguKrguIfguK3guLLguJfguLTguJXguKLguYzguK3guLHguIjguInguKPguLTguKLguLDguYHguKXguLAgRVNTIOC5gOC4nuC4t+C5iOC4reC4l+C4teC5iOC4nuC4seC4geC4reC4suC4qOC4seC4omQCAQ9kFgJmDxUEFS90aC9wcm9mZXNzaW9uYWxzL2MtaQD5A3RyeSB7ICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQcm9mZXNzaW9uYWxzJysnKycrJ0MmSSBTbWFydCBQViAmIEVTUyBTb2x1dGlvbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX3CAeC5guC4i+C4peC4ueC4iuC4seC4meC4nuC4peC4seC4h+C4h+C4suC4meC5geC4quC4h+C4reC4suC4l+C4tOC4leC4ouC5jOC4reC4seC4iOC4ieC4o+C4tOC4ouC4sOC5geC4peC4sCBFU1Mg4LmA4Lie4Li34LmI4Lit4Lig4Liy4LiE4Lie4Liy4LiT4Li04LiK4Lii4LmM4LmB4Lil4Liw4Lit4Li44LiV4Liq4Liy4Lir4LiB4Lij4Lij4LihZAICD2QWAmYPFQQZL3RoL3Byb2Zlc3Npb25hbHMvdXRpbGl0eQD4A3RyeSB7ICAgICBndGFnKCdldmVudCcsJ1N1Yl9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonU3ViX05hdmlnYXRpb24nLCdldmVudExhYmVsJzonUHJvZmVzc2lvbmFscycrJysnKydVdGlsaXR5IFNtYXJ0IFBWIFNvbHV0aW9uJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fZAB4LmC4LiL4Lil4Li54LiK4Lix4LiZ4Lie4Lil4Lix4LiH4LiH4Liy4LiZ4LmB4Liq4LiH4Lit4Liy4LiX4Li04LiV4Lii4LmM4Lit4Lix4LiI4LiJ4Lij4Li04Lii4LmA4Lie4Li34LmI4Lit4Lic4Li54LmJ4Lic4Lil4Li04LiV4LmE4Lif4Lif4LmJ4LiyZAIDD2QWAmYPFQQVL3RoL3Byb2Zlc3Npb25hbHMvZXNzAIAEdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQcm9mZXNzaW9uYWxzJysnKycrJ1V0aWxpdHkgU21hcnQgU3RyaW5nIEVTUyBTb2x1dGlvbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX104LmC4LiL4Lil4Li54LiK4Lix4LiZIEVTUyDguKrguJXguKPguLTguIfguK3guLHguIjguInguKPguLTguKLguLDguYDguJ7guLfguYjguK3guJzguLnguYnguJzguKXguLTguJXguYTguJ/guJ/guYnguLJkAgQPZBYCZg8VBBwvdGgvcHJvZmVzc2lvbmFscy9taWNyby1ncmlkAPgDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQcm9mZXNzaW9uYWxzJysnKycrJ1NtYXJ0IE1pY3JvLWdyaWQgU29sdXRpb24nKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319SOC5guC4i+C4peC4ueC4iuC4seC4meC5hOC4oeC5guC4hOC4o+C4geC4o+C4tOC4lOC4reC4seC4iOC4ieC4o+C4tOC4ouC4sGQCBQ9kFgJmDxUEHS90aC9wcm9mZXNzaW9uYWxzL1NtYXJ0RGVzaWduAO4DdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQcm9mZXNzaW9uYWxzJysnKycrJ1NtYXJ0RGVzaWduIDIuMCcrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0PU21hcnREZXNpZ24gMi4wZAIED2QWBGYPFQQhL3RoL3BhcnRuZXJzL3BhcnRuZXItaW50cm9kdWN0aW9uANgDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnRmlyc3RfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6ICdGaXJzdF9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1BhcnRuZXJzJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fRjguJ7guLHguJnguJjguKHguLTguJXguKNkAgEPFgQfAgIFHwNnFgpmD2QWAmYPFQQhL3RoL3BhcnRuZXJzL3BhcnRuZXItaW50cm9kdWN0aW9uAO4DdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQYXJ0bmVycycrJysnKydQYXJ0bmVyIEludHJvZHVjdGlvbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0t4LiC4LmJ4Lit4Lih4Li54Lil4LmA4Lia4Li34LmJ4Lit4LiH4LiV4LmJ4LiZZAIBD2QWAmYPFQRTaHR0cHM6Ly9wYXJ0bmVyLmh1YXdlaS5jb20vZXBsdXMvIy9lbi93ZWIvcmVnaXN0cmF0aW9uLWd1aWRhbmNlP3NvdXJjZT1jaGFubmVsLWhvbWUGX2JsYW5r6QN0cnkgeyAgICBndGFnKCdldmVudCcsJ1N1Yl9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonU3ViX05hdmlnYXRpb24nLCdldmVudExhYmVsJzonUGFydG5lcnMnKycrJysnQmVjb21lIGEgUGFydG5lcicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX1C4Lij4LmI4Lin4Lih4LmA4Lib4LmH4LiZ4Lie4Lix4LiZ4LiY4Lih4Li04LiV4Lij4LiB4Lix4Lia4LmA4Lij4LiyZAICD2QWAmYPFQQwaHR0cHM6Ly9kaWdpdGFscG93ZXIuaHVhd2VpLmNvbS9wYXJ0bmVyIy9lbi9tYWluBl9ibGFua+YDdHJ5IHsgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1BhcnRuZXJzJysnKycrJ1Bvd2VyLVBhcnRuZXInKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319OeC4nuC4seC4meC4mOC4oeC4tOC4leC4o+C4lOC5ieC4suC4meC4nuC4peC4seC4h+C4h+C4suC4mWQCAw9kFgJmDxUEMGh0dHBzOi8vY29tbXVuaXR5LnNvbGFyLmh1YXdlaS5jb20vdGgvaW5kZXguaHRtbAZfYmxhbmvuA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ1N1Yl9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonU3ViX05hdmlnYXRpb24nLCdldmVudExhYmVsJzonUGFydG5lcnMnKycrJysnSW5zdGFsbGVycyBDb21tdW5pdHknKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319LeC4iuC4uOC4oeC4iuC4meC4nOC4ueC5ieC4leC4tOC4lOC4leC4seC5ieC4h2QCBA9kFgJmDxUEIS90aC9wYXJ0bmVycy9tYXA/dHlwZT1kaXN0cmlidXRvcgDrA3RyeSB7ICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQYXJ0bmVycycrJysnKydGaW5kIGEgRGlzdHJpYnV0b3InKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319NuC4hOC5ieC4meC4q+C4suC4leC4seC4p+C5geC4l+C4meC4iOC4s+C4q+C4meC5iOC4suC4omQCBQ9kFgRmDxUEHi90aC9wcm9mZXNzaW9uYWxzL2FsbC1wcm9kdWN0cwDYA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ0ZpcnN0X05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOiAnRmlyc3RfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQcm9kdWN0cycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0b4Lic4Lil4Li04LiV4Lig4Lix4LiT4LiR4LmMZAIBDxYCHwIC/////w9kAgMPFgIfAgIDFgZmD2QWBGYPFQQXL3RoL3NlcnZpY2Utc3VwcG9ydC90c2MA1wN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdGaXJzdF9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzogJ0ZpcnN0X05hdmlnYXRpb24nLCdldmVudExhYmVsJzonU3VwcG9ydCcrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0n4LiE4Lin4Liy4Lih4LiK4LmI4Lin4Lii4LmA4Lir4Lil4Li34LitZAIBDxYEHwICAx8DZxYGZg9kFgJmDxUEFy90aC9zZXJ2aWNlLXN1cHBvcnQvdHNjAPEDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidTdXBwb3J0JysnKycrJ1RlY2huaWNhbCBTdXBwb3J0IENlbnRlcicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX1L4Lio4Li54LiZ4Lii4LmM4LiB4Liy4Lij4Liq4LiZ4Lix4Lia4Liq4LiZ4Li44LiZ4LiX4Liy4LiH4LmA4LiX4LiE4LiZ4Li04LiEZAIBD2QWAmYPFQRZaHR0cHM6Ly9kaWdpdGFscG93ZXIuaHVhd2VpLmNvbS9yb2JvdGNoYXQvIy9ob21lL2luZGV4P2xhbmc9ZW5fVVMmZG9tYWluPXNtYXJ0cHYmcHJvZHVjdD0GX2JsYW5r5wN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1N1cHBvcnQnKycrJysnT25saW5lIFN1cHBvcnQnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319P+C4geC4suC4o+C4quC4meC4seC4muC4quC4meC4uOC4meC4l+C4suC4h+C4reC4reC4meC5hOC4peC4meC5jGQCAg9kFgJmDxUEFy90aC8waW52ZXN0bWVudGNhbXBhaWduAO4DdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidTdXBwb3J0JysnKycrJzAgSW52ZXN0bWVudCBDYW1wYWlnbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0VMCBJbnZlc3RtZW50IENhbXBhaWduZAIBD2QWBGYPFQQwaHR0cHM6Ly9jb21tdW5pdHkuc29sYXIuaHVhd2VpLmNvbS90aC9pbmRleC5odG1sBl9ibGFua9gDdHJ5IHsgICAgZ3RhZygnZXZlbnQnLCdGaXJzdF9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzogJ0ZpcnN0X05hdmlnYXRpb24nLCdldmVudExhYmVsJzonQ29tbXVuaXR5JysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fQ/guIrguLjguKHguIrguJlkAgEPFgIfAgL/////D2QCAg9kFgRmDxUEImh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9lbi9pbmZvLy8GX2JsYW5r2AN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdGaXJzdF9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzogJ0ZpcnN0X05hdmlnYXRpb24nLCdldmVudExhYmVsJzonRG93bmxvYWQnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319G+C4lOC4suC4p+C4meC5jOC5guC4q+C4peC4lGQCAQ8WBB8CAgIfA2cWBGYPZBYCZg8VBCJodHRwczovL3NvbGFyLmh1YXdlaS5jb20vZW4vaW5mby8vBl9ibGFua+oDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidEb3dubG9hZCcrJysnKydQcm9kdWN0IERvY3VtZW50JysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fS3guYDguK3guIHguKrguLLguKPguJzguKXguLTguJXguKDguLHguJPguJHguYxkAgEPZBYCZg8VBDlodHRwczovL2RpZ2l0YWxwb3dlci5odWF3ZWkuY29tL3Bvd2VyLW1hcmtldGluZy8jL3RoL2hvbWUGX2JsYW5r6QN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J0Rvd25sb2FkJysnKycrJ1Bvd2VyLU1hcmtldGluZycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0PUG93ZXItTWFya2V0aW5nZAIEDxYCHwICARYCZg9kFgJmDxUEDS90aC9vcmRlci1ub3cAngN0cnkgeyAgICBndGFnKCdldmVudCcsJ0J1eV9DbGljaycseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonQnV5X0NsaWNrJywnZXZlbnRMYWJlbCc6J09yZGVyIE5vdycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0h4Liq4Lix4LmI4LiH4LiL4Li34LmJ4Lit4LmA4Lil4LiiZAIGDxYCHwICCRYSZg9kFgQCAQ8WBh4EaHJlZgUPL3RoL2hvbWUtb3duZXJzHgZ0YXJnZXRkHgdvbmNsaWNrBdsDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnRmlyc3RfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6ICdGaXJzdF9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J0hvbWUgT3duZXJzJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fRYCZg8VASHguYDguIjguYnguLLguILguK3guIfguJrguYnguLLguJlkAgUPFgIfAgL/////D2QCAQ9kFgQCAQ8WBh8EBRMvdGgvYnVzaW5lc3Mtb3duZXJzHwVkHwYF3wN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdGaXJzdF9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzogJ0ZpcnN0X05hdmlnYXRpb24nLCdldmVudExhYmVsJzonQnVzaW5lc3MgT3duZXJzJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fRYCZg8VASfguYDguIjguYnguLLguILguK3guIfguIHguLTguIjguIHguLLguKNkAgUPFgIfAgL/////D2QCAg9kFgQCAQ8WBh8EBRgvdGgvdXRpbGl0eS1wbGFudC1vd25lcnMfBWQfBgXkA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ0ZpcnN0X05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOiAnRmlyc3RfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidVdGlsaXR5IFBsYW50IE93bmVycycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0WAmYPFQE54LmA4LiI4LmJ4Liy4LiC4Lit4LiH4LmC4Lij4LiH4Lic4Lil4Li04LiV4LmE4Lif4Lif4LmJ4LiyZAIFDxYCHwIC/////w9kAgMPZBYGAgEPFgQfBAUMamF2YXNjcmlwdDo7HwYF3QN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdGaXJzdF9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzogJ0ZpcnN0X05hdmlnYXRpb24nLCdldmVudExhYmVsJzonUHJvZmVzc2lvbmFscycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0WAmYPFQEk4Lic4Li54LmJ4LmA4LiK4Li14LmI4Lii4Lin4LiK4Liy4LiNZAIDDxYCHwNnZAIFDxYEHwICBh8DZxYMAgEPZBYCZg8VBB0vdGgvcHJvZmVzc2lvbmFscy9yZXNpZGVudGlhbACCBHRyeSB7ICAgICBndGFnKCdldmVudCcsJ1N1Yl9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonU3ViX05hdmlnYXRpb24nLCdldmVudExhYmVsJzonUHJvZmVzc2lvbmFscycrJysnKydSZXNpZGVudGlhbCBTbWFydCBQViAmIEVTUyBTb2x1dGlvbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX2eAeC5guC4i+C4peC4ueC4iuC4seC4meC4nuC4peC4seC4h+C4h+C4suC4meC5geC4quC4h+C4reC4suC4l+C4tOC4leC4ouC5jOC4reC4seC4iOC4ieC4o+C4tOC4ouC4sOC5geC4peC4sCBFU1Mg4LmA4Lie4Li34LmI4Lit4LiX4Li14LmI4Lie4Lix4LiB4Lit4Liy4Lio4Lix4LiiZAICD2QWAmYPFQQVL3RoL3Byb2Zlc3Npb25hbHMvYy1pAPkDdHJ5IHsgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1Byb2Zlc3Npb25hbHMnKycrJysnQyZJIFNtYXJ0IFBWICYgRVNTIFNvbHV0aW9uJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fcIB4LmC4LiL4Lil4Li54LiK4Lix4LiZ4Lie4Lil4Lix4LiH4LiH4Liy4LiZ4LmB4Liq4LiH4Lit4Liy4LiX4Li04LiV4Lii4LmM4Lit4Lix4LiI4LiJ4Lij4Li04Lii4Liw4LmB4Lil4LiwIEVTUyDguYDguJ7guLfguYjguK3guKDguLLguITguJ7guLLguJPguLTguIrguKLguYzguYHguKXguLDguK3guLjguJXguKrguLLguKvguIHguKPguKPguKFkAgMPZBYCZg8VBBkvdGgvcHJvZmVzc2lvbmFscy91dGlsaXR5APgDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQcm9mZXNzaW9uYWxzJysnKycrJ1V0aWxpdHkgU21hcnQgUFYgU29sdXRpb24nKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319kAHguYLguIvguKXguLnguIrguLHguJnguJ7guKXguLHguIfguIfguLLguJnguYHguKrguIfguK3guLLguJfguLTguJXguKLguYzguK3guLHguIjguInguKPguLTguKLguYDguJ7guLfguYjguK3guJzguLnguYnguJzguKXguLTguJXguYTguJ/guJ/guYnguLJkAgQPZBYCZg8VBBUvdGgvcHJvZmVzc2lvbmFscy9lc3MAgAR0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1Byb2Zlc3Npb25hbHMnKycrJysnVXRpbGl0eSBTbWFydCBTdHJpbmcgRVNTIFNvbHV0aW9uJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fXTguYLguIvguKXguLnguIrguLHguJkgRVNTIOC4quC4leC4o+C4tOC4h+C4reC4seC4iOC4ieC4o+C4tOC4ouC4sOC5gOC4nuC4t+C5iOC4reC4nOC4ueC5ieC4nOC4peC4tOC4leC5hOC4n+C4n+C5ieC4smQCBQ9kFgJmDxUEHC90aC9wcm9mZXNzaW9uYWxzL21pY3JvLWdyaWQA+AN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1Byb2Zlc3Npb25hbHMnKycrJysnU21hcnQgTWljcm8tZ3JpZCBTb2x1dGlvbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX1I4LmC4LiL4Lil4Li54LiK4Lix4LiZ4LmE4Lih4LmC4LiE4Lij4LiB4Lij4Li04LiU4Lit4Lix4LiI4LiJ4Lij4Li04Lii4LiwZAIGD2QWAmYPFQQdL3RoL3Byb2Zlc3Npb25hbHMvU21hcnREZXNpZ24A7gN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1Byb2Zlc3Npb25hbHMnKycrJysnU21hcnREZXNpZ24gMi4wJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fQ9TbWFydERlc2lnbiAyLjBkAgQPZBYGAgEPFgQfBAUMamF2YXNjcmlwdDo7HwYF2AN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdGaXJzdF9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzogJ0ZpcnN0X05hdmlnYXRpb24nLCdldmVudExhYmVsJzonUGFydG5lcnMnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319FgJmDxUBGOC4nuC4seC4meC4mOC4oeC4tOC4leC4o2QCAw8WAh8DZ2QCBQ8WBB8CAgUfA2cWCgIBD2QWAmYPFQQhL3RoL3BhcnRuZXJzL3BhcnRuZXItaW50cm9kdWN0aW9uAO4DdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQYXJ0bmVycycrJysnKydQYXJ0bmVyIEludHJvZHVjdGlvbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0t4LiC4LmJ4Lit4Lih4Li54Lil4LmA4Lia4Li34LmJ4Lit4LiH4LiV4LmJ4LiZZAICD2QWAmYPFQRTaHR0cHM6Ly9wYXJ0bmVyLmh1YXdlaS5jb20vZXBsdXMvIy9lbi93ZWIvcmVnaXN0cmF0aW9uLWd1aWRhbmNlP3NvdXJjZT1jaGFubmVsLWhvbWUGX2JsYW5r6QN0cnkgeyAgICBndGFnKCdldmVudCcsJ1N1Yl9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonU3ViX05hdmlnYXRpb24nLCdldmVudExhYmVsJzonUGFydG5lcnMnKycrJysnQmVjb21lIGEgUGFydG5lcicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX1C4Lij4LmI4Lin4Lih4LmA4Lib4LmH4LiZ4Lie4Lix4LiZ4LiY4Lih4Li04LiV4Lij4LiB4Lix4Lia4LmA4Lij4LiyZAIDD2QWAmYPFQQwaHR0cHM6Ly9kaWdpdGFscG93ZXIuaHVhd2VpLmNvbS9wYXJ0bmVyIy9lbi9tYWluBl9ibGFua+YDdHJ5IHsgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J1BhcnRuZXJzJysnKycrJ1Bvd2VyLVBhcnRuZXInKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319OeC4nuC4seC4meC4mOC4oeC4tOC4leC4o+C4lOC5ieC4suC4meC4nuC4peC4seC4h+C4h+C4suC4mWQCBA9kFgJmDxUEMGh0dHBzOi8vY29tbXVuaXR5LnNvbGFyLmh1YXdlaS5jb20vdGgvaW5kZXguaHRtbAZfYmxhbmvuA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ1N1Yl9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonU3ViX05hdmlnYXRpb24nLCdldmVudExhYmVsJzonUGFydG5lcnMnKycrJysnSW5zdGFsbGVycyBDb21tdW5pdHknKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319LeC4iuC4uOC4oeC4iuC4meC4nOC4ueC5ieC4leC4tOC4lOC4leC4seC5ieC4h2QCBQ9kFgJmDxUEIS90aC9wYXJ0bmVycy9tYXA/dHlwZT1kaXN0cmlidXRvcgDrA3RyeSB7ICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQYXJ0bmVycycrJysnKydGaW5kIGEgRGlzdHJpYnV0b3InKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319NuC4hOC5ieC4meC4q+C4suC4leC4seC4p+C5geC4l+C4meC4iOC4s+C4q+C4meC5iOC4suC4omQCBQ9kFgQCAQ8WBh8EBR4vdGgvcHJvZmVzc2lvbmFscy9hbGwtcHJvZHVjdHMfBWQfBgXYA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ0ZpcnN0X05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOiAnRmlyc3RfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidQcm9kdWN0cycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0WAmYPFQEb4Lic4Lil4Li04LiV4Lig4Lix4LiT4LiR4LmMZAIFDxYCHwIC/////w9kAgYPZBYGAgEPFgQfBAUMamF2YXNjcmlwdDo7HwYF1wN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdGaXJzdF9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzogJ0ZpcnN0X05hdmlnYXRpb24nLCdldmVudExhYmVsJzonU3VwcG9ydCcrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0WAmYPFQEn4LiE4Lin4Liy4Lih4LiK4LmI4Lin4Lii4LmA4Lir4Lil4Li34LitZAIDDxYCHwNnZAIFDxYEHwICAx8DZxYGAgEPZBYCZg8VBBcvdGgvc2VydmljZS1zdXBwb3J0L3RzYwDxA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ1N1Yl9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonU3ViX05hdmlnYXRpb24nLCdldmVudExhYmVsJzonU3VwcG9ydCcrJysnKydUZWNobmljYWwgU3VwcG9ydCBDZW50ZXInKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319S+C4qOC4ueC4meC4ouC5jOC4geC4suC4o+C4quC4meC4seC4muC4quC4meC4uOC4meC4l+C4suC4h+C5gOC4l+C4hOC4meC4tOC4hGQCAg9kFgJmDxUEWWh0dHBzOi8vZGlnaXRhbHBvd2VyLmh1YXdlaS5jb20vcm9ib3RjaGF0LyMvaG9tZS9pbmRleD9sYW5nPWVuX1VTJmRvbWFpbj1zbWFydHB2JnByb2R1Y3Q9Bl9ibGFua+cDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU3ViX05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidTdWJfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidTdXBwb3J0JysnKycrJ09ubGluZSBTdXBwb3J0JysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fT/guIHguLLguKPguKrguJnguLHguJrguKrguJnguLjguJnguJfguLLguIfguK3guK3guJnguYTguKXguJnguYxkAgMPZBYCZg8VBBcvdGgvMGludmVzdG1lbnRjYW1wYWlnbgDuA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ1N1Yl9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonU3ViX05hdmlnYXRpb24nLCdldmVudExhYmVsJzonU3VwcG9ydCcrJysnKycwIEludmVzdG1lbnQgQ2FtcGFpZ24nKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319FTAgSW52ZXN0bWVudCBDYW1wYWlnbmQCBw9kFgQCAQ8WBh8EBTBodHRwczovL2NvbW11bml0eS5zb2xhci5odWF3ZWkuY29tL3RoL2luZGV4Lmh0bWwfBQUGX2JsYW5rHwYF2AN0cnkgeyAgICBndGFnKCdldmVudCcsJ0ZpcnN0X05hdmlnYXRpb24nLHsnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOiAnRmlyc3RfTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOidDb21tdW5pdHknKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319FgJmDxUBD+C4iuC4uOC4oeC4iuC4mWQCBQ8WAh8CAv////8PZAIID2QWBgIBDxYEHwQFDGphdmFzY3JpcHQ6Ox8GBdgDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnRmlyc3RfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6ICdGaXJzdF9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J0Rvd25sb2FkJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fRYCZg8VARvguJTguLLguKfguJnguYzguYLguKvguKXguJRkAgMPFgIfA2dkAgUPFgQfAgICHwNnFgQCAQ9kFgJmDxUEImh0dHBzOi8vc29sYXIuaHVhd2VpLmNvbS9lbi9pbmZvLy8GX2JsYW5r6gN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTdWJfTmF2aWdhdGlvbicseydldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudEFjdGlvbic6J1N1Yl9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6J0Rvd25sb2FkJysnKycrJ1Byb2R1Y3QgRG9jdW1lbnQnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319LeC5gOC4reC4geC4quC4suC4o+C4nOC4peC4tOC4leC4oOC4seC4k+C4keC5jGQCAg9kFgJmDxUEOWh0dHBzOi8vZGlnaXRhbHBvd2VyLmh1YXdlaS5jb20vcG93ZXItbWFya2V0aW5nLyMvdGgvaG9tZQZfYmxhbmvpA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ1N1Yl9OYXZpZ2F0aW9uJyx7J2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50QWN0aW9uJzonU3ViX05hdmlnYXRpb24nLCdldmVudExhYmVsJzonRG93bmxvYWQnKycrJysnUG93ZXItTWFya2V0aW5nJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fQ9Qb3dlci1NYXJrZXRpbmdkAgcPFgIfAgIBFgJmD2QWAmYPFQQNL3RoL29yZGVyLW5vdwCeA3RyeSB7ICAgIGd0YWcoJ2V2ZW50JywnQnV5X0NsaWNrJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRBY3Rpb24nOidCdXlfQ2xpY2snLCdldmVudExhYmVsJzonT3JkZXIgTm93JysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fSHguKrguLHguYjguIfguIvguLfguYnguK3guYDguKXguKJkAgQPZBYMZg9kFgJmD2QWAgIBDxYCHwICAxYGZg9kFgJmDxUFkwQ8YSBocmVmPSIvdGgvMGludmVzdG1lbnRjYW1wYWlnbiIgdGFyZ2V0PSIiIG9uY2xpY2s9InRyeSB7ICAgICBndGFnKCdldmVudCcsICdCYW5uZXJfQ2xpY2snLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6ICQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6IGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6ICdCYW5uZXJfQ2xpY2snLCdldmVudExhYmVsJzogJ0hVQVdFSSBMVU5BIFMxIFBST01PVElPTicrJysnKycwLTEnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSl9KTsgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319Ij5fLy0vbWVkaWEvU29sYXJWNC9zb2xhci12ZXJzaW9uMi9hc2lhLXBhY2lmaWMvdGgvaG9tZXBhZ2Uvc3dpcGVyYmFubmVyL2Jhbm5lci1sdW5hLXMxL2VuLW1vYi5qcGdeLy0vbWVkaWEvU29sYXJWNC9zb2xhci12ZXJzaW9uMi9hc2lhLXBhY2lmaWMvdGgvaG9tZXBhZ2Uvc3dpcGVyYmFubmVyL2Jhbm5lci1sdW5hLXMxL2VuLXBjLmpwZwAEPC9hPmQCAQ9kFgJmDxUFlgQ8YSBocmVmPSIvdGgvMGludmVzdG1lbnRjYW1wYWlnbi1lbiIgdGFyZ2V0PSIiIG9uY2xpY2s9InRyeSB7ICAgICBndGFnKCdldmVudCcsICdCYW5uZXJfQ2xpY2snLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6ICQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6IGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6ICdCYW5uZXJfQ2xpY2snLCdldmVudExhYmVsJzogJ0hVQVdFSSBMVU5BIFMxIFBST01PVElPTicrJysnKycwLTInKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSl9KTsgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319Ij5fLy0vbWVkaWEvU29sYXJWNC9zb2xhci12ZXJzaW9uMi9hc2lhLXBhY2lmaWMvdGgvaG9tZXBhZ2Uvc3dpcGVyYmFubmVyL2Jhbm5lci1sdW5hLXMxL3RoLW1vYi5qcGdeLy0vbWVkaWEvU29sYXJWNC9zb2xhci12ZXJzaW9uMi9hc2lhLXBhY2lmaWMvdGgvaG9tZXBhZ2Uvc3dpcGVyYmFubmVyL2Jhbm5lci1sdW5hLXMxL3RoLXBjLmpwZwAEPC9hPmQCAg9kFgJmDxUFAGIvLS9tZWRpYS9Tb2xhclY0L3NvbGFyLXZlcnNpb24yL2FzaWEtcGFjaWZpYy90aC9ob21lcGFnZS9zd2lwZXJiYW5uZXIvYmFubmVyLXB2LW1hZ3ppbmUvdGgtbW9iLmpwZ2EvLS9tZWRpYS9Tb2xhclY0L3NvbGFyLXZlcnNpb24yL2FzaWEtcGFjaWZpYy90aC9ob21lcGFnZS9zd2lwZXJiYW5uZXIvYmFubmVyLXB2LW1hZ3ppbmUvdGgtcGMuanBn/Qo8ZGl2IGNsYXNzPSJmaXJzdC1idXR0b24iPgogICAgPHAgY2xhc3M9Imt2LWJ0bjMiPiA8YQogICAgICAgICAgICBocmVmPSIvZG93bmxvYWQ/cD0lMmYtJTJmbWVkaWElMmZTb2xhclY0JTJmc29sYXItdmVyc2lvbjIlMmZjb21tb24lMmZob21lcGFnZSUyZnN3aXBlcmJhbm5lciUyZmJhbm5lci1wdi1tYWd6aW5lJTJmcHYtbWFnemluZS1GdXNpb25Tb2xhci1TcGVjaWFsLUVkaXRpb24tMjAyMzA5MjcucGRmIgogICAgICAgICAgICBvbmNsaWNrID0idHJ5IHsKICAgICAgICAgICAgICAgIGd0YWcoJ2V2ZW50JywgJ0Jhbm5lcl9DbGljaycseydTaXRlX0NvdW50cnlfQ29kZV9IJzogJCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5JzogZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ2V2ZW50QWN0aW9uJzogJ0Jhbm5lcl9DbGljaycsJ2V2ZW50TGFiZWwnOiAnTWFraW5nIHRoZSBNb3N0IG9mIEV2ZXJ5IFJheScrJysnKycwLTMnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSl9KTsKICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319Ij5Eb3dubG9hZDwvYT4KICAgIDwvcD4KPC9kaXY+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAuZmlyc3QtYnV0dG9uIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLmZpcnN0LWJ1dHRvbiAua3YtYnRuMyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDE0LjR2dzsKbGVmdDogNC44NnZ3OwogICAgb3BhY2l0eTogMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7Cn0KCiAgICAuZmlyc3QtYnV0dG9uIC5rdi1idG4zIGEgewogICAgICAgIHdpZHRoOiA5LjM3NXZ3OwogICAgICAgIGhlaWdodDogMi43MDgzMzN2dzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgIH0KCiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5maXJzdC1idXR0b24gLmt2LWJ0bjMgewogICAgICAgICAgICB0b3A6IDM5LjJ2dzsKICAgICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgfQoKICAgICAgICAuZmlyc3QtYnV0dG9uIC5rdi1idG4zIGEgewogICAgICAgICAgICB3aWR0aDogMjAuMzc1dnc7CiAgICAgICAgICAgIGhlaWdodDogNi4yMDgzMzN2dzsKICAgICAgICB9CiAgICB9Cjwvc3R5bGU+AGQCAg9kFgJmD2QWAmYPDxYCHwNoZGQCAw9kFgJmD2QWAgIBDxYCHwICAxYGZg9kFgJmDxUEKy8tL21lZGlhL1NvbGFyVjQvaW1hZ2VzL0hvbWUvaG9tZV9pY29uMS5zdmcKaG9tZSBpY29uMQYxMTA5LjWKAeC4nuC4seC4meC4peC5ieC4suC4meC4geC4tOC5guC4peC4p+C4seC4leC4leC5jOC4iuC4seC5iOC4p+C5guC4oeC4h+C4l+C4teC5iOC4quC4o+C5ieC4suC4h+C4iOC4suC4geC4nuC4peC4seC4h+C4h+C4suC4meC4quC4sOC4reC4suC4lGQCAQ9kFgJmDxUEKy8tL21lZGlhL1NvbGFyVjQvaW1hZ2VzL0hvbWUvaG9tZV9pY29uMi5zdmcKaG9tZSBpY29uMgM1MjdI4Lil4LmJ4Liy4LiZ4LiV4Lix4LiZ4LiX4Li14LmI4Lil4LiU4Lil4LiH4LiB4Liy4Lij4Lib4Lil4LmI4Lit4LiiIENP4oKCZAICD2QWAmYPFQQrLy0vbWVkaWEvU29sYXJWNC9pbWFnZXMvSG9tZS9ob21lX2ljb24zLnN2Zwpob21lIGljb24zAzcxOWbguKXguYnguLLguJnguJXguYnguJnguJfguLXguYjguYDguJfguLXguKLguJrguYTguJTguYnguIHguLHguJrguIHguLLguKPguJvguKXguLnguIHguJXguYnguJnguYTguKHguYlkAgQPZBYCZg9kFgJmDxYCHwICBRYKZg9kFgJmDxUFACwvLS9tZWRpYS9Tb2xhclY0L2ltYWdlcy9Ib21lL2Nhcm91c2UxNzY4LnBuZykvLS9tZWRpYS9Tb2xhclY0L2ltYWdlcy9Ib21lL2Nhcm91c2UxLnBuZwhjYXJvdXNlMW/guJzguLnguYnguJnguLPguKrguJXguKPguLTguIfguK3guLTguJnguYDguKfguK3guKPguYzguYDguJXguK3guKPguYzguYTguJvguKrguLnguYjguIHguKPguLDguYHguKrguKvguKXguLHguIFkAgEPZBYCZg8VBQAsLy0vbWVkaWEvU29sYXJWNC9pbWFnZXMvSG9tZS9jYXJvdXNlMjc2OC5wbmcpLy0vbWVkaWEvU29sYXJWNC9pbWFnZXMvSG9tZS9jYXJvdXNlMi5wbmcIY2Fyb3VzZTKKAeC4nOC4ueC5ieC4meC4s+C4lOC5ieC4suC4meC4meC4p+C4seC4leC4geC4o+C4o+C4oeC4quC4luC4suC4m+C4seC4leC4ouC4geC4o+C4o+C4oeC4o+C4sOC4muC4muC4geC4seC4geC5gOC4geC5h+C4muC4nuC4peC4seC4h+C4h+C4suC4mWQCAg9kFgJmDxUFACwvLS9tZWRpYS9Tb2xhclY0L2ltYWdlcy9Ib21lL2Nhcm91c2UzNzY4LnBuZykvLS9tZWRpYS9Tb2xhclY0L2ltYWdlcy9Ib21lL2Nhcm91c2UzLnBuZwhjYXJvdXNlM4oB4Lic4Li54LmJ4LiZ4Liz4LiU4LmJ4Liy4LiZ4LiB4Liy4Lij4Lii4LiB4Lij4Liw4LiU4Lix4Lia4LmA4LiK4Li04LiH4LiU4Li04LiI4Li04LiX4Lix4Lil4LmB4Lil4Liw4Lit4Li04LiZ4LmA4LiX4Lil4Lil4Li04LmA4LiI4LiZ4LiX4LmMZAIDD2QWAmYPFQUALC8tL21lZGlhL1NvbGFyVjQvaW1hZ2VzL0hvbWUvY2Fyb3VzZTQ3NjgucG5nKS8tL21lZGlhL1NvbGFyVjQvaW1hZ2VzL0hvbWUvY2Fyb3VzZTQucG5nCGNhcm91c2U0mQHguJzguLnguYnguJnguLPguJTguYnguLLguJnguIHguLLguKPguKLguIHguKPguLDguJTguLHguJrguITguKfguLLguKHguJvguKXguK3guJTguKDguLHguKLguILguK3guIfguKPguLDguJrguJrguK3guKLguYjguLLguIfguJXguYjguK3guYDguJnguLfguYjguK3guIdkAgQPZBYCZg8VBQZhY3RpdmUsLy0vbWVkaWEvU29sYXJWNC9pbWFnZXMvSG9tZS9jYXJvdXNlNTc2OC5wbmcpLy0vbWVkaWEvU29sYXJWNC9pbWFnZXMvSG9tZS9jYXJvdXNlNS5wbmcIY2Fyb3VzZTV+4Lic4Li54LmJ4LiZ4Liz4LiU4LmJ4Liy4LiZ4LiB4Liy4Lij4LmA4LiK4Li34LmI4Lit4Lih4LiV4LmI4Lit4LmC4LiE4Lij4LiH4LiC4LmI4Liy4Lii4LmE4Lif4Lif4LmJ4Liy4Lit4Lix4LiI4LiJ4Lij4Li04Lii4LiwZAIFD2QWAmYPZBYCZg8WAh8CAgUWCmYPZBYCZg8VEBJob21lX3B2U3lzdGVtX3RhZzAkLy0vbWVkaWEvU29sYXJWNC9pbWFnZXMvSG9tZS9wdjEucG5nA3B2MUjguYLguIvguKXguLnguIrguLHguJnguYTguKHguYLguITguKPguIHguKPguLTguJTguK3guLHguIjguInguKPguLTguKLguLAWaG9tZV9wdlN5c3RlbV90YWdfc3ViMCUvLS9tZWRpYS9Tb2xhclY0L2ltYWdlcy9Ib21lL3N1YjEucG5nBHN1YjFI4LmC4LiL4Lil4Li54LiK4Lix4LiZ4LmE4Lih4LmC4LiE4Lij4LiB4Lij4Li04LiU4Lit4Lix4LiI4LiJ4Lij4Li04Lii4LiwGC90aC91dGlsaXR5LXBsYW50LW93bmVycwD0A3RyeSB7ICAgICBndGFnKCdldmVudCcsJ1NjZW5lX1NlbGVjdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzogJCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5JzonaG9tZSBwYWdlJywnZXZlbnRBY3Rpb24nOidTY2VuZV9TZWxlY3Rpb24nLCdldmVudExhYmVsJzonU21hcnQgTWljcm8tZ3JpZCBTb2x1dGlvbicrJysnKydVdGlsaXR5IFBsYW50IE93bmVycycrJysnKyAod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319OeC5gOC4iOC5ieC4suC4guC4reC4h+C5guC4o+C4h+C4nOC4peC4tOC4leC5hOC4n+C4n+C5ieC4shwvdGgvcHJvZmVzc2lvbmFscy9taWNyby1ncmlkAOwDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU2NlbmVfU2VsZWN0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiAkKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOidob21lIHBhZ2UnLCdldmVudEFjdGlvbic6J1NjZW5lX1NlbGVjdGlvbicsJ2V2ZW50TGFiZWwnOidTbWFydCBNaWNyby1ncmlkIFNvbHV0aW9uJysnKycrJ1Byb2Zlc3Npb25hbHMnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319JOC4nOC4ueC5ieC5gOC4iuC4teC5iOC4ouC4p+C4iuC4suC4jWQCAQ9kFgJmDxUQEmhvbWVfcHZTeXN0ZW1fdGFnMSQvLS9tZWRpYS9Tb2xhclY0L2ltYWdlcy9Ib21lL3B2Mi5wbmcDcHYykAHguYLguIvguKXguLnguIrguLHguJnguJ7guKXguLHguIfguIfguLLguJnguYHguKrguIfguK3guLLguJfguLTguJXguKLguYzguK3guLHguIjguInguKPguLTguKLguYDguJ7guLfguYjguK3guJzguLnguYnguJzguKXguLTguJXguYTguJ/guJ/guYnguLIWaG9tZV9wdlN5c3RlbV90YWdfc3ViMSUvLS9tZWRpYS9Tb2xhclY0L2ltYWdlcy9Ib21lL3N1YjIucG5nBHN1YjKQAeC5guC4i+C4peC4ueC4iuC4seC4meC4nuC4peC4seC4h+C4h+C4suC4meC5geC4quC4h+C4reC4suC4l+C4tOC4leC4ouC5jOC4reC4seC4iOC4ieC4o+C4tOC4ouC5gOC4nuC4t+C5iOC4reC4nOC4ueC5ieC4nOC4peC4tOC4leC5hOC4n+C4n+C5ieC4shgvdGgvdXRpbGl0eS1wbGFudC1vd25lcnMA9AN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTY2VuZV9TZWxlY3Rpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6ICQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6J2hvbWUgcGFnZScsJ2V2ZW50QWN0aW9uJzonU2NlbmVfU2VsZWN0aW9uJywnZXZlbnRMYWJlbCc6J1V0aWxpdHkgU21hcnQgUFYgU29sdXRpb24nKycrJysnVXRpbGl0eSBQbGFudCBPd25lcnMnKycrJysgKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fTnguYDguIjguYnguLLguILguK3guIfguYLguKPguIfguJzguKXguLTguJXguYTguJ/guJ/guYnguLIZL3RoL3Byb2Zlc3Npb25hbHMvdXRpbGl0eQDtA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ1NjZW5lX1NlbGVjdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzogJCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5JzonaG9tZSBwYWdlJywnZXZlbnRBY3Rpb24nOidTY2VuZV9TZWxlY3Rpb24nLCdldmVudExhYmVsJzonVXRpbGl0eSBTbWFydCBQViBTb2x1dGlvbicrJysnKyAnUHJvZmVzc2lvbmFscycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0k4Lic4Li54LmJ4LmA4LiK4Li14LmI4Lii4Lin4LiK4Liy4LiNZAICD2QWAmYPFRASaG9tZV9wdlN5c3RlbV90YWcyJC8tL21lZGlhL1NvbGFyVjQvaW1hZ2VzL0hvbWUvcHYzLnBuZwNwdjPCAeC5guC4i+C4peC4ueC4iuC4seC4meC4nuC4peC4seC4h+C4h+C4suC4meC5geC4quC4h+C4reC4suC4l+C4tOC4leC4ouC5jOC4reC4seC4iOC4ieC4o+C4tOC4ouC4sOC5geC4peC4sCBFU1Mg4LmA4Lie4Li34LmI4Lit4Lig4Liy4LiE4Lie4Liy4LiT4Li04LiK4Lii4LmM4LmB4Lil4Liw4Lit4Li44LiV4Liq4Liy4Lir4LiB4Lij4Lij4LihFmhvbWVfcHZTeXN0ZW1fdGFnX3N1YjIlLy0vbWVkaWEvU29sYXJWNC9pbWFnZXMvSG9tZS9zdWIzLnBuZwRzdWIzwgHguYLguIvguKXguLnguIrguLHguJnguJ7guKXguLHguIfguIfguLLguJnguYHguKrguIfguK3guLLguJfguLTguJXguKLguYzguK3guLHguIjguInguKPguLTguKLguLDguYHguKXguLAgRVNTIOC5gOC4nuC4t+C5iOC4reC4oOC4suC4hOC4nuC4suC4k+C4tOC4iuC4ouC5jOC5geC4peC4sOC4reC4uOC4leC4quC4suC4q+C4geC4o+C4o+C4oRMvdGgvYnVzaW5lc3Mtb3duZXJzAPADdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU2NlbmVfU2VsZWN0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiAkKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOidob21lIHBhZ2UnLCdldmVudEFjdGlvbic6J1NjZW5lX1NlbGVjdGlvbicsJ2V2ZW50TGFiZWwnOidDJkkgU21hcnQgUFYgJiBFU1MgU29sdXRpb24nKycrJysnQnVzaW5lc3MgT3duZXJzJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fSfguYDguIjguYnguLLguILguK3guIfguIHguLTguIjguIHguLLguKMVL3RoL3Byb2Zlc3Npb25hbHMvYy1pAO4DdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU2NlbmVfU2VsZWN0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiAkKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOidob21lIHBhZ2UnLCdldmVudEFjdGlvbic6J1NjZW5lX1NlbGVjdGlvbicsJ2V2ZW50TGFiZWwnOidDJkkgU21hcnQgUFYgJiBFU1MgU29sdXRpb24nKycrJysnUHJvZmVzc2lvbmFscycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0k4Lic4Li54LmJ4LmA4LiK4Li14LmI4Lii4Lin4LiK4Liy4LiNZAIDD2QWAmYPFRASaG9tZV9wdlN5c3RlbV90YWczJC8tL21lZGlhL1NvbGFyVjQvaW1hZ2VzL0hvbWUvcHY0LnBuZwNwdjSeAeC5guC4i+C4peC4ueC4iuC4seC4meC4nuC4peC4seC4h+C4h+C4suC4meC5geC4quC4h+C4reC4suC4l+C4tOC4leC4ouC5jOC4reC4seC4iOC4ieC4o+C4tOC4ouC4sOC5geC4peC4sCBFU1Mg4LmA4Lie4Li34LmI4Lit4LiX4Li14LmI4Lie4Lix4LiB4Lit4Liy4Lio4Lix4LiiFmhvbWVfcHZTeXN0ZW1fdGFnX3N1YjMlLy0vbWVkaWEvU29sYXJWNC9pbWFnZXMvSG9tZS9zdWI0LnBuZwRzdWI0ngHguYLguIvguKXguLnguIrguLHguJnguJ7guKXguLHguIfguIfguLLguJnguYHguKrguIfguK3guLLguJfguLTguJXguKLguYzguK3guLHguIjguInguKPguLTguKLguLDguYHguKXguLAgRVNTIOC5gOC4nuC4t+C5iOC4reC4l+C4teC5iOC4nuC4seC4geC4reC4suC4qOC4seC4og8vdGgvaG9tZS1vd25lcnMA9AN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTY2VuZV9TZWxlY3Rpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6ICQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6J2hvbWUgcGFnZScsJ2V2ZW50QWN0aW9uJzonU2NlbmVfU2VsZWN0aW9uJywnZXZlbnRMYWJlbCc6J1Jlc2lkZW50aWFsIFNtYXJ0IFBWICYgRVNTIFNvbHV0aW9uJysnKycrJ0hvbWUgT3duZXJzJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fSHguYDguIjguYnguLLguILguK3guIfguJrguYnguLLguJkdL3RoL3Byb2Zlc3Npb25hbHMvcmVzaWRlbnRpYWwA9gN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdTY2VuZV9TZWxlY3Rpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6ICQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6J2hvbWUgcGFnZScsJ2V2ZW50QWN0aW9uJzonU2NlbmVfU2VsZWN0aW9uJywnZXZlbnRMYWJlbCc6J1Jlc2lkZW50aWFsIFNtYXJ0IFBWICYgRVNTIFNvbHV0aW9uJysnKycrJ1Byb2Zlc3Npb25hbHMnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319JOC4nOC4ueC5ieC5gOC4iuC4teC5iOC4ouC4p+C4iuC4suC4jWQCBA9kFgJmDxUQEmhvbWVfcHZTeXN0ZW1fdGFnNCQvLS9tZWRpYS9Tb2xhclY0L2ltYWdlcy9Ib21lL3B2NS5wbmcDcHY1dOC5guC4i+C4peC4ueC4iuC4seC4mSBFU1Mg4Liq4LiV4Lij4Li04LiH4Lit4Lix4LiI4LiJ4Lij4Li04Lii4Liw4LmA4Lie4Li34LmI4Lit4Lic4Li54LmJ4Lic4Lil4Li04LiV4LmE4Lif4Lif4LmJ4LiyFmhvbWVfcHZTeXN0ZW1fdGFnX3N1YjQlLy0vbWVkaWEvU29sYXJWNC9pbWFnZXMvSG9tZS9zdWI1LnBuZwRzdWI1dOC5guC4i+C4peC4ueC4iuC4seC4mSBFU1Mg4Liq4LiV4Lij4Li04LiH4Lit4Lix4LiI4LiJ4Lij4Li04Lii4Liw4LmA4Lie4Li34LmI4Lit4Lic4Li54LmJ4Lic4Lil4Li04LiV4LmE4Lif4Lif4LmJ4LiyGC90aC91dGlsaXR5LXBsYW50LW93bmVycwD7A3RyeSB7ICAgICBndGFnKCdldmVudCcsJ1NjZW5lX1NlbGVjdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzogJCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5JzonaG9tZSBwYWdlJywnZXZlbnRBY3Rpb24nOidTY2VuZV9TZWxlY3Rpb24nLCdldmVudExhYmVsJzonVXRpbGl0eSBTbWFydCBTdHJpbmcgRVNTIFNvbHV0aW9uJysnKycrJ1V0aWxpdHkgUGxhbnQgT3duZXJzJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fTnguYDguIjguYnguLLguILguK3guIfguYLguKPguIfguJzguKXguLTguJXguYTguJ/guJ/guYnguLIVL3RoL3Byb2Zlc3Npb25hbHMvZXNzAPQDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnU2NlbmVfU2VsZWN0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiAkKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOidob21lIHBhZ2UnLCdldmVudEFjdGlvbic6J1NjZW5lX1NlbGVjdGlvbicsJ2V2ZW50TGFiZWwnOidVdGlsaXR5IFNtYXJ0IFN0cmluZyBFU1MgU29sdXRpb24nKycrJysnUHJvZmVzc2lvbmFscycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0k4Lic4Li54LmJ4LmA4LiK4Li14LmI4Lii4Lin4LiK4Liy4LiNZAIGD2QWAmYPZBYCZg8WAh8CAgMWBmYPZBYEZg8VAxhpbkNvbnRfbGVmdF92YWx1ZV95ZWxsb3cEMTYwK3vguKjguLnguJnguKLguYzguIHguLLguKPguKrguJnguLHguJrguKrguJnguLjguJnguJfguLLguIfguYDguJfguITguJnguLTguITguYHguKXguLDguK3guLDguYTguKvguKXguYjguJfguLHguYjguKfguYLguKXguIFkAgEPFgIfAgIEFggCAQ9kFgJmDxUCATVL4Lio4Li54LiZ4Lii4LmM4LiB4Liy4Lij4Liq4LiZ4Lix4Lia4Liq4LiZ4Li44LiZ4LiX4Liy4LiH4LmA4LiX4LiE4LiZ4Li04LiEZAICD2QWAmYPFQIBNV3guKjguLnguJnguKLguYzguJvguI/guLTguJrguLHguJXguLTguIHguLLguKPguYHguKXguLDguIjguLPguKvguJnguYjguLLguKLguK3guLDguYTguKvguKXguYhkAgMPZBYCZg8VAgEyS+C4qOC4ueC4meC4ouC5jOC4i+C5iOC4reC4oeC5geC4peC4sOC4iOC4s+C4q+C4meC5iOC4suC4ouC4reC4sOC5hOC4q+C4peC5iGQCBA9kFgJmDxUCBDE0MCtv4Lio4Li54LiZ4Lii4LmM4LmC4Lil4LiI4Li04Liq4LiV4Li04LiB4Liq4LmM4LiI4Lix4LiU4Liq4LmI4LiH4Lit4Liw4LmE4Lir4Lil4LmI4LiX4Lix4LmI4Lin4Lib4Lij4Liw4LmA4LiX4LioZAIBD2QWBGYPFQMYaW5Db250X2xlZnRfdmFsdWVfb3JhbmdlBTE3NjArLeC4nuC4seC4meC4mOC4oeC4tOC4leC4o+C4l+C4seC5iOC4p+C5guC4peC4gWQCAQ8WAh8CAgMWBgIBD2QWAmYPFQIFMTcwMCs24Lie4Lix4LiZ4LiY4Lih4Li04LiV4Lij4LiU4LmJ4Liy4LiZ4LiB4Liy4Lij4LiC4Liy4LiiZAICD2QWAmYPFQIDNjArP+C4nuC4seC4meC4mOC4oeC4tOC4leC4o+C4lOC5ieC4suC4meC4geC4suC4o+C4muC4o+C4tOC4geC4suC4o2QCAw9kFgJmDxUCBTIwMDArVOC4nOC4ueC5ieC4leC4tOC4lOC4leC4seC5ieC4h+C4l+C4teC5iOC5hOC4lOC5ieC4o+C4seC4muC4geC4suC4o+C4o+C4seC4muC4o+C4reC4h2QCAg9kFgRmDxUDF2luQ29udF9sZWZ0X3ZhbHVlX2dyZWVuAjE3M+C4qOC4ueC4meC4ouC5jOC4p+C4tOC4iOC4seC4ouC4l+C4seC5iOC4p+C5guC4peC4gWQCAQ8WAh8CAgMWBgIBD2QWAmYPFQIBNUXguKjguLnguJnguKLguYzguJ7guLHguJLguJnguLLguILguLXguJTguITguKfguLLguKHguKrguLLguKHguLLguKPguJZkAgIPZBYCZg8VAgIxMj/guKjguLnguJnguKLguYzguIHguLLguKPguKfguLTguIjguLHguKLguYHguKXguLDguJ7guLHguJLguJnguLJkAgMPZBYCZg8VAgQyMyUrXeC4guC4reC4h+C4o+C4suC4ouC5hOC4lOC5ieC5g+C4iuC5ieC4geC4seC4muC4geC4suC4o+C4p+C4tOC4iOC4seC4ouC5geC4peC4sOC4nuC4seC4kuC4meC4smQCBQ9kFgJmD2QWAmYPZBYIAgIPFgIfAgIFFgpmD2QWBGYPFQEn4LmA4LiB4Li14LmI4Lii4Lin4LiB4Lix4LiaIEZ1c2lvblNvbGFyZAIBDxYCHwICAhYEAgEPZBYCZg8VBA0vdGgvbmV3cy1yb29tAO0DdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsICdldmVudExhYmVsJzogJ0Fib3V0IEZ1c2lvblNvbGFyJysnKycrJ05ld3MnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fRXguILguYjguLLguKfguKrguLLguKNkAgIPZBYCZg8VBBMvdGgvc3VjY2Vzcy1zdG9yaWVzAPgDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsICdldmVudExhYmVsJzogJ0Fib3V0IEZ1c2lvblNvbGFyJysnKycrJ1N1Y2Nlc3MgU3RvcmllcycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319OeC5gOC4o+C4t+C5iOC4reC4h+C4o+C4suC4p+C4hOC4p+C4suC4oeC4quC4s+C5gOC4o+C5h+C4iGQCAQ9kFgRmDxUBOeC4nOC4peC4tOC4leC4oOC4seC4k+C4keC5jOC5geC4peC4sOC5guC4i+C4peC4ueC4iuC4seC4mWQCAQ8WAh8CAgcWDgIBD2QWAmYPFQQdL3RoL3Byb2Zlc3Npb25hbHMvcmVzaWRlbnRpYWwAjgR0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdCb3R0b21fTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6J0JvdHRvbV9OYXZpZ2F0aW9uJywgJ2V2ZW50TGFiZWwnOiAnUHJvZHVjdHMgJiBTb2x1dGlvbicrJysnKydSZXNpZGVudGlhbCBTbWFydCBQViAmIEVTUyBTb2x1dGlvbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319ngHguYLguIvguKXguLnguIrguLHguJnguJ7guKXguLHguIfguIfguLLguJnguYHguKrguIfguK3guLLguJfguLTguJXguKLguYzguK3guLHguIjguInguKPguLTguKLguLDguYHguKXguLAgRVNTIOC5gOC4nuC4t+C5iOC4reC4l+C4teC5iOC4nuC4seC4geC4reC4suC4qOC4seC4omQCAg9kFgJmDxUEFS90aC9wcm9mZXNzaW9uYWxzL2MtaQCGBHRyeSB7ICAgICBndGFnKCdldmVudCcsJ0JvdHRvbV9OYXZpZ2F0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ2V2ZW50QWN0aW9uJzonQm90dG9tX05hdmlnYXRpb24nLCAnZXZlbnRMYWJlbCc6ICdQcm9kdWN0cyAmIFNvbHV0aW9uJysnKycrJ0MmSSBTbWFydCBQViAmIEVTUyBTb2x1dGlvbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319wgHguYLguIvguKXguLnguIrguLHguJnguJ7guKXguLHguIfguIfguLLguJnguYHguKrguIfguK3guLLguJfguLTguJXguKLguYzguK3guLHguIjguInguKPguLTguKLguLDguYHguKXguLAgRVNTIOC5gOC4nuC4t+C5iOC4reC4oOC4suC4hOC4nuC4suC4k+C4tOC4iuC4ouC5jOC5geC4peC4sOC4reC4uOC4leC4quC4suC4q+C4geC4o+C4o+C4oWQCAw9kFgJmDxUEGS90aC9wcm9mZXNzaW9uYWxzL3V0aWxpdHkAgwR0cnkgeyAgICBndGFnKCdldmVudCcsJ0JvdHRvbV9OYXZpZ2F0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ2V2ZW50QWN0aW9uJzonQm90dG9tX05hdmlnYXRpb24nLCAnZXZlbnRMYWJlbCc6ICdQcm9kdWN0cyAmIFNvbHV0aW9uJysnKycrJ1V0aWxpdHkgU21hcnQgUFYgU29sdXRpb24nKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fZAB4LmC4LiL4Lil4Li54LiK4Lix4LiZ4Lie4Lil4Lix4LiH4LiH4Liy4LiZ4LmB4Liq4LiH4Lit4Liy4LiX4Li04LiV4Lii4LmM4Lit4Lix4LiI4LiJ4Lij4Li04Lii4LmA4Lie4Li34LmI4Lit4Lic4Li54LmJ4Lic4Lil4Li04LiV4LmE4Lif4Lif4LmJ4LiyZAIED2QWAmYPFQQVL3RoL3Byb2Zlc3Npb25hbHMvZXNzAIsEdHJ5IHsgICAgZ3RhZygnZXZlbnQnLCdCb3R0b21fTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6J0JvdHRvbV9OYXZpZ2F0aW9uJywgJ2V2ZW50TGFiZWwnOiAnUHJvZHVjdHMgJiBTb2x1dGlvbicrJysnKydVdGlsaXR5IFNtYXJ0IFN0cmluZyBFU1MgU29sdXRpb24nKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fXTguYLguIvguKXguLnguIrguLHguJkgRVNTIOC4quC4leC4o+C4tOC4h+C4reC4seC4iOC4ieC4o+C4tOC4ouC4sOC5gOC4nuC4t+C5iOC4reC4nOC4ueC5ieC4nOC4peC4tOC4leC5hOC4n+C4n+C5ieC4smQCBQ9kFgJmDxUEHC90aC9wcm9mZXNzaW9uYWxzL21pY3JvLWdyaWQAhAR0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdCb3R0b21fTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6J0JvdHRvbV9OYXZpZ2F0aW9uJywgJ2V2ZW50TGFiZWwnOiAnUHJvZHVjdHMgJiBTb2x1dGlvbicrJysnKydTbWFydCBNaWNyby1ncmlkIFNvbHV0aW9uJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX1I4LmC4LiL4Lil4Li54LiK4Lix4LiZ4LmE4Lih4LmC4LiE4Lij4LiB4Lij4Li04LiU4Lit4Lix4LiI4LiJ4Lij4Li04Lii4LiwZAIGD2QWAmYPFQQeL3RoL3Byb2Zlc3Npb25hbHMvYWxsLXByb2R1Y3RzAPcDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsICdldmVudExhYmVsJzogJ1Byb2R1Y3RzICYgU29sdXRpb24nKycrJysnQWxsIFByb2R1Y3RzJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0w4Lic4Lil4Li04LiV4Lig4Lix4LiT4LiR4LmM4LiX4Lix4LmJ4LiH4Lir4Lih4LiUZAIHD2QWAmYPFQQdL3RoL3Byb2Zlc3Npb25hbHMvU21hcnREZXNpZ24A+gN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdCb3R0b21fTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6J0JvdHRvbV9OYXZpZ2F0aW9uJywgJ2V2ZW50TGFiZWwnOiAnUHJvZHVjdHMgJiBTb2x1dGlvbicrJysnKydTbWFydERlc2lnbiAyLjAnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fQ9TbWFydERlc2lnbiAyLjBkAgIPZBYEZg8VARjguJ7guLHguJnguJjguKHguLTguJXguKNkAgEPFgIfAgIEFggCAQ9kFgJmDxUEIS90aC9wYXJ0bmVycy9wYXJ0bmVyLWludHJvZHVjdGlvbgD0A3RyeSB7ICAgICBndGFnKCdldmVudCcsJ0JvdHRvbV9OYXZpZ2F0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ2V2ZW50QWN0aW9uJzonQm90dG9tX05hdmlnYXRpb24nLCAnZXZlbnRMYWJlbCc6ICdQYXJ0bmVycycrJysnKydQYXJ0bmVyIEludHJvZHVjdGlvbicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319LeC4guC5ieC4reC4oeC4ueC4peC5gOC4muC4t+C5ieC4reC4h+C4leC5ieC4mWQCAg9kFgJmDxUEU2h0dHBzOi8vcGFydG5lci5odWF3ZWkuY29tL2VwbHVzLyMvZW4vd2ViL3JlZ2lzdHJhdGlvbi1ndWlkYW5jZT9zb3VyY2U9Y2hhbm5lbC1ob21lBl9ibGFua+8DdHJ5IHsgICAgZ3RhZygnZXZlbnQnLCdCb3R0b21fTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6J0JvdHRvbV9OYXZpZ2F0aW9uJywgJ2V2ZW50TGFiZWwnOiAnUGFydG5lcnMnKycrJysnQmVjb21lIGEgUGFydG5lcicrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319QuC4o+C5iOC4p+C4oeC5gOC4m+C5h+C4meC4nuC4seC4meC4mOC4oeC4tOC4leC4o+C4geC4seC4muC5gOC4o+C4smQCAw9kFgJmDxUEIS90aC9wYXJ0bmVycy9tYXA/dHlwZT1kaXN0cmlidXRvcgD0A3RyeSB7ICAgICBndGFnKCdldmVudCcsJ0JvdHRvbV9OYXZpZ2F0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ2V2ZW50QWN0aW9uJzonQm90dG9tX05hdmlnYXRpb24nLCAnZXZlbnRMYWJlbCc6ICdQYXJ0bmVycycrJysnKydGaW5kIGEgRGlzdHJpYnV0b3InKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgICB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319NuC4hOC5ieC4meC4q+C4suC4leC4seC4p+C5geC4l+C4meC4iOC4s+C4q+C4meC5iOC4suC4omQCBA9kFgJmDxUEMGh0dHBzOi8vZGlnaXRhbHBvd2VyLmh1YXdlaS5jb20vcGFydG5lciMvZW4vbWFpbgZfYmxhbmvtA3RyeSB7ICAgICBndGFnKCdldmVudCcsJ0JvdHRvbV9OYXZpZ2F0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ2V2ZW50QWN0aW9uJzonQm90dG9tX05hdmlnYXRpb24nLCAnZXZlbnRMYWJlbCc6ICdQYXJ0bmVycycrJysnKydQb3dlci1QYXJ0bmVyJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX054Lie4Lix4LiZ4LiY4Lih4Li04LiV4Lij4LiU4LmJ4Liy4LiZ4Lie4Lil4Lix4LiH4LiH4Liy4LiZZAIDD2QWBGYPFQE84Lia4Lij4Li04LiB4Liy4Lij4LmB4Lil4Liw4LiB4Liy4Lij4Liq4LiZ4Lix4Lia4Liq4LiZ4Li44LiZZAIBDxYCHwICBhYMAgEPZBYCZg8VBBcvdGgvc2VydmljZS1zdXBwb3J0L3RzYwCBBHRyeSB7ICAgICBndGFnKCdldmVudCcsJ0JvdHRvbV9OYXZpZ2F0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ2V2ZW50QWN0aW9uJzonQm90dG9tX05hdmlnYXRpb24nLCAnZXZlbnRMYWJlbCc6ICdTZXJ2aWNlICYgU3VwcG9ydCcrJysnKydUZWNobmljYWwgU3VwcG9ydCBDZW50ZXInKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fUvguKjguLnguJnguKLguYzguIHguLLguKPguKrguJnguLHguJrguKrguJnguLjguJnguJfguLLguIfguYDguJfguITguJnguLTguIRkAgIPZBYCZg8VBDlodHRwczovL2RpZ2l0YWxwb3dlci5odWF3ZWkuY29tL3Bvd2VyLW1hcmtldGluZy8jL3RoL2hvbWUGX2JsYW5r+AN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdCb3R0b21fTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6J0JvdHRvbV9OYXZpZ2F0aW9uJywgJ2V2ZW50TGFiZWwnOiAnU2VydmljZSAmIFN1cHBvcnQnKycrJysnUG93ZXItTWFya2V0aW5nJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0PUG93ZXItTWFya2V0aW5nZAIDD2QWAmYPFQQiaHR0cHM6Ly9zb2xhci5odWF3ZWkuY29tL2VuL2luZm8vLwZfYmxhbmv5A3RyeSB7ICAgICBndGFnKCdldmVudCcsJ0JvdHRvbV9OYXZpZ2F0aW9uJyx7J1NpdGVfQ291bnRyeV9Db2RlX0gnOiQoJ2h0bWwnKS5hdHRyKCdkYXRhLXJlZ2lvbicpLnJlcGxhY2UoL1svXS9nLCAnJykudG9VcHBlckNhc2UoKSwnZXZlbnRDYXRlZ29yeSc6ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ2V2ZW50QWN0aW9uJzonQm90dG9tX05hdmlnYXRpb24nLCAnZXZlbnRMYWJlbCc6ICdTZXJ2aWNlICYgU3VwcG9ydCcrJysnKydQcm9kdWN0IERvY3VtZW50JysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0t4LmA4Lit4LiB4Liq4Liy4Lij4Lic4Lil4Li04LiV4Lig4Lix4LiT4LiR4LmMZAIED2QWAmYPFQQwaHR0cHM6Ly9jb21tdW5pdHkuc29sYXIuaHVhd2VpLmNvbS90aC9pbmRleC5odG1sBl9ibGFua/IDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsICdldmVudExhYmVsJzogJ1NlcnZpY2UgJiBTdXBwb3J0JysnKycrJ0NvbW11bml0eScrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319D+C4iuC4uOC4oeC4iuC4mWQCBQ9kFgJmDxUEWWh0dHBzOi8vZGlnaXRhbHBvd2VyLmh1YXdlaS5jb20vcm9ib3RjaGF0LyMvaG9tZS9pbmRleD9sYW5nPWVuX1VTJmRvbWFpbj1zbWFydHB2JnByb2R1Y3Q9APcDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsICdldmVudExhYmVsJzogJ1NlcnZpY2UgJiBTdXBwb3J0JysnKycrJ09ubGluZSBTdXBwb3J0JysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0/4LiB4Liy4Lij4Liq4LiZ4Lix4Lia4Liq4LiZ4Li44LiZ4LiX4Liy4LiH4Lit4Lit4LiZ4LmE4Lil4LiZ4LmMZAIGD2QWAmYPFQQXL3RoLzBpbnZlc3RtZW50Y2FtcGFpZ24A7AN0cnkgeyAgICBndGFnKCdldmVudCcsICdCb3R0b20gTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzogJCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5JzogZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsJ2V2ZW50QWN0aW9uJzogJ0JvdHRvbSBOYXZpZ2F0aW9uJywgJ2V2ZW50TGFiZWwnOiAn4Lia4Lij4Li04LiB4Liy4Lij4LmB4Lil4Liw4LiB4Liy4Lij4Liq4LiZ4Lix4Lia4Liq4LiZ4Li44LiZLTAgSW52ZXN0bWVudCBDYW1wYWlnbisnKyBkb2N1bWVudC5VUkx9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0VMCBJbnZlc3RtZW50IENhbXBhaWduZAIED2QWBGYPFQEb4Lil4Li04LiH4LiB4LmM4LiU4LmI4Lin4LiZZAIBDxYCHwICBRYKAgEPZBYCZg8VBBpodHRwczovL3d3dy5odWF3ZWkuY29tL3RoLwZfYmxhbmvyA3RyeSB7ICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsICdldmVudExhYmVsJzogJ1F1aWNrIExpbmtzJysnKycrJ0h1YXdlaSBDb3Jwb3JhdGUnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fRBIdWF3ZWkgQ29ycG9yYXRlZAICD2QWAmYPFQQYaHR0cHM6Ly9lLmh1YXdlaS5jb20vdGgvBl9ibGFua/MDdHJ5IHsgICAgZ3RhZygnZXZlbnQnLCdCb3R0b21fTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6J0JvdHRvbV9OYXZpZ2F0aW9uJywgJ2V2ZW50TGFiZWwnOiAnUXVpY2sgTGlua3MnKycrJysnSHVhd2VpIEVudGVycHJpc2UnKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fRFIdWF3ZWkgRW50ZXJwcmlzZWQCAw9kFgJmDxUELmh0dHBzOi8vZGlnaXRhbHBvd2VyLmh1YXdlaS5jb20vZW4vP2Zyb209c29sYXIGX2JsYW5r9wN0cnkgeyAgICAgZ3RhZygnZXZlbnQnLCdCb3R0b21fTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6J0JvdHRvbV9OYXZpZ2F0aW9uJywgJ2V2ZW50TGFiZWwnOiAnUXVpY2sgTGlua3MnKycrJysnSHVhd2VpIERpZ2l0YWwgUG93ZXInKycrJysod2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkucmVwbGFjZSgvXC8kLywgJycpfSkgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fRRIdWF3ZWkgRGlnaXRhbCBQb3dlcmQCBA9kFgJmDxUEWWh0dHBzOi8vaW50bC5mdXNpb25zb2xhci5odWF3ZWkuY29tL3B2bXN3ZWJzaXRlL25vbG9naW4vYXNzZXRzL2J1aWxkL2luZGV4Lmh0bWwjL2p1bXBwYWdlAIwEdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsICdldmVudExhYmVsJzogJ1F1aWNrIExpbmtzJysnKycrJ0Rvd25sb2FkIEZ1c2lvblNvbGFyIEFwcCAoTW9iaWxlIFZlcnNpb24pJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0w4LiU4Liy4Lin4LiZ4LmM4LmC4Lir4Lil4LiU4LmB4Lit4LibIEZ1c2lvblNvbGFyZAIFD2QWAmYPFQQkaHR0cHM6Ly9pbnRsLmZ1c2lvbnNvbGFyLmh1YXdlaS5jb20vBl9ibGFua/gDdHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsICdldmVudExhYmVsJzogJ1F1aWNrIExpbmtzJysnKycrJ0Z1c2lvblNvbGFyIFNtYXJ0UFZNUycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSB9IGNhdGNoIChlcnJvcikge2lmIChlcnJvci5tZXNzYWdlID09PSAnZ3RhZyBpcyBub3QgZGVmaW5lZCcpIHtjb25zb2xlLmxvZygnR29vZ2xlIEFuYWx5dGljcyBpcyBub3QgYXZhaWxhYmxlLiBFdmVudCB0cmFja2luZyBpcyBkaXNhYmxlZC4nKTt9IGVsc2Uge3Rocm93IGVycm9yO319FUZ1c2lvblNvbGFyIFNtYXJ0UFZNU2QCAw8WAh8BBSXCqSAyMDI0IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuZAIEDxYCHwICBBYIZg9kFgJmDxUDxwQ8YSBjbGFzcz0iaXRlbS1saW5rIiBocmVmPSJodHRwczovL3d3dy5odWF3ZWkuY29tL3RoL2xlZ2FsIiB0YXJnZXQ9Il9ibGFuayIgb25jbGljaz0idHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOiAnVGVybXMgb2YgVXNlJysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fSIgIHJlbD0ibm9yZWZlcnJlciI+M+C4guC5ieC4reC4geC4s+C4q+C4meC4lOC4geC4suC4o+C5g+C4iuC5ieC4h+C4suC4mQQ8L2E+ZAIBD2QWAmYPFQOnBDxhIGNsYXNzPSJpdGVtLWxpbmsiIGhyZWY9Ii90aC9wcml2YWN5IiB0YXJnZXQ9IiIgb25jbGljaz0idHJ5IHsgICAgZ3RhZygnZXZlbnQnLCdCb3R0b21fTmF2aWdhdGlvbicseydTaXRlX0NvdW50cnlfQ29kZV9IJzokKCdodG1sJykuYXR0cignZGF0YS1yZWdpb24nKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKCksJ2V2ZW50Q2F0ZWdvcnknOmRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLCdldmVudEFjdGlvbic6J0JvdHRvbV9OYXZpZ2F0aW9uJywnZXZlbnRMYWJlbCc6ICdQcml2YWN5JysnKycrKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sICcnKX0pICAgfSBjYXRjaCAoZXJyb3IpIHtpZiAoZXJyb3IubWVzc2FnZSA9PT0gJ2d0YWcgaXMgbm90IGRlZmluZWQnKSB7Y29uc29sZS5sb2coJ0dvb2dsZSBBbmFseXRpY3MgaXMgbm90IGF2YWlsYWJsZS4gRXZlbnQgdHJhY2tpbmcgaXMgZGlzYWJsZWQuJyk7fSBlbHNlIHt0aHJvdyBlcnJvcjt9fSIgIHJlbD0ibm9yZWZlcnJlciI+LeC4hOC4p+C4suC4oeC5gOC4m+C5h+C4meC4quC5iOC4p+C4meC4leC4seC4pwQ8L2E+ZAICD2QWAmYPFQOoBDxhIGNsYXNzPSJpdGVtLWxpbmsiIGhyZWY9Ii90aC9jb29raWVzIiB0YXJnZXQ9IiIgb25jbGljaz0idHJ5IHsgICAgIGd0YWcoJ2V2ZW50JywnQm90dG9tX05hdmlnYXRpb24nLHsnU2l0ZV9Db3VudHJ5X0NvZGVfSCc6JCgnaHRtbCcpLmF0dHIoJ2RhdGEtcmVnaW9uJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpLCdldmVudENhdGVnb3J5Jzpkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSwnZXZlbnRBY3Rpb24nOidCb3R0b21fTmF2aWdhdGlvbicsJ2V2ZW50TGFiZWwnOiAnQ29va2llcycrJysnKyh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cLyQvLCAnJyl9KSAgIH0gY2F0Y2ggKGVycm9yKSB7aWYgKGVycm9yLm1lc3NhZ2UgPT09ICdndGFnIGlzIG5vdCBkZWZpbmVkJykge2NvbnNvbGUubG9nKCdHb29nbGUgQW5hbHl0aWNzIGlzIG5vdCBhdmFpbGFibGUuIEV2ZW50IHRyYWNraW5nIGlzIGRpc2FibGVkLicpO30gZWxzZSB7dGhyb3cgZXJyb3I7fX0iICByZWw9Im5vcmVmZXJyZXIiPhLguITguLjguIHguIHguLXguYkEPC9hPmQCAw9kFgJmDxUDcjxhIGNsYXNzPSJpdGVtLWxpbmsiIGhyZWY9ImphdmFzY3JpcHQ6OyIgdGFyZ2V0PSIiIG9uY2xpY2s9InV0YWcuZ2Rwci5zaG93Q29uc2VudFByZWZlcmVuY2VzKCkiICByZWw9Im5vcmVmZXJyZXIiPjPguIHguLLguKPguJXguLHguYnguIfguITguYjguLLguITguLjguYnguIHguIHguLXguYkEPC9hPmQCBQ9kFgICAQ8WAh8BBaULPGEgY2xhc3M9InNvY2lhbC1pdGVtIiBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9odWF3ZWktZGlnaXRhbHBvd2VyLy8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIiPgogICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5rLWltZyBsaW5rLWltZy1saW5rZWRpbiI+PC9zcGFuPgo8L2E+CjxhIGNsYXNzPSJzb2NpYWwtaXRlbSIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2h1YXdlaWRwdGgiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIiPgogICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5rLWltZyBsaW5rLWltZy1mYWNlYm9vayI+PC9zcGFuPgo8L2E+CjxhIGNsYXNzPSJzb2NpYWwtaXRlbSIgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9IdWF3ZWlTb2xhciIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciI+CiAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmstaW1nIGxpbmstaW1nLXR3aXR0ZXIiPjwvc3Bhbj4KPC9hPgo8YSBjbGFzcz0ic29jaWFsLWl0ZW0iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BkaWdpdGFscG93ZXJ0aGFpbGFuZDQxMTIiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIiPgogICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5rLWltZyBsaW5rLWltZy15b3V0dWJlIj48L3NwYW4+CjwvYT4KPCEtLSA8ZGl2IGNsYXNzPSJzb2NpYWwtaXRlbSBzb2NpYWwtaWNvbiI+CiAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmstaW1nIGxpbmstaW1nLXdlY2hhdCI+CiAgICA8L3NwYW4+CiAgICA8ZGl2IGNsYXNzPSJob3Zlci1wb3AiPgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tY2xvc2UiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBvcC10ZXh0Ij4KICAgICAgICAgICAgPHA+5a6Y5pa55b6u5L+hPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBvcC1pbWciPgogICAgICAgICAgICA8aW1nIHNyYz0iL0Fzc2V0cy9Tb2xhci92NC9pbWcvY29tbW9uL3dlY2hhdC5wbmciPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzb2NpYWwtaXRlbSBzb2NpYWwtaWNvbiBsYXN0LWljb24iPgogICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5rLWltZyBsaW5rLWltZy10b3V0aWFvIj4KICAgIDwvc3Bhbj4KICAgIDxkaXYgY2xhc3M9ImhvdmVyLXBvcCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1jbG9zZSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icG9wLXRleHQiPgogICAgICAgICAgICA8cD7lpLTmnaE8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icG9wLWltZyI+CiAgICAgICAgICAgIDxpbWcgc3JjPSIvQXNzZXRzL1NvbGFyL3Y0L2ltZy9jb21tb24vdG91dGlhby5wbmciPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvZGl2PiAtLT5kZI5rClRWrpVp2Ka3um2QFUzVLQELlTJiwv7PuDfKoQY7"> </div> </form> <input type="hidden" id="hidUserStatusUrl" value="/en/user"> <div id="pageHeaderWrapper" class=""> <div class="global_header_wrapper"> <div class="global_header_fixed"> <div class="nav-wrapper"> <div class="nav-top"> <div class="nav-top-right"> <div class="nav-top-item"> <a href="/th/online-experience-hall?step=card" target="" onclick="try { gtag('event','Navigation_Function',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Navigation_Function','eventLabel':'Online Experience Hall'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">Online Experience Hall</a> </div> <div class="nav-top-item nav-top-language"> <span class="language_ic"></span> <span>Thailand</span> <span class="language_select"></span> </div> </div> </div> <div class="nav-language"> <div class="nav-allLangBox"> <div class="icon-close"></div> <div class="curr-lang"><span class="icon-curr"></span> <a href="https://solar.huawei.com/en">FusionSolar Global / English</a> </div> <div class="allLang"> <div class="areaItem"> <div class="areaText">Asia Pacific</div> <div class="langList"> <div class="langItem"><a href="https://solar.huawei.com/au">Australia / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/cn">China / 简体中文</a></div> <div class="langItem"><a href="https://solar.huawei.com/hk">Hong Kong, China / 繁體中文</a></div> <div class="langItem"><a href="https://solar.huawei.com/id">Indonesia / Indonesian</a></div> <div class="langItem"><a href="https://solar.huawei.com/jp">Japan / 日本語</a></div> <div class="langItem"><a href="https://solar.huawei.com/my">Malaysia / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/ph">Philippines / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/sg">Singapore / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/kr">South Korea / 한국어</a></div> <div class="langItem"><a href="https://solar.huawei.com/th">Thailand / ไทย</a></div> <div class="langItem"><a href="https://solar.huawei.com/vn">Vietnam / English</a></div> </div> </div> <div class="areaItem"> <div class="areaText">Europe</div> <div class="langList"> <div class="langItem"><a href="https://solar.huawei.com/at">Austria / Deutsch</a></div> <div class="langItem"><a href="https://solar.huawei.com/be-fr">Belgium / Français</a></div> <div class="langItem"><a href="https://solar.huawei.com/be">Belgium / Nederlands</a></div> <div class="langItem"><a href="https://solar.huawei.com/bg">Bulgaria / български</a></div> <div class="langItem"><a href="https://solar.huawei.com/hr">Croatia / hrvatski</a></div> <div class="langItem"><a href="https://solar.huawei.com/cz">Czechia / čeština</a></div> <div class="langItem"><a href="https://solar.huawei.com/dk">Denmark / Dansk</a></div> <div class="langItem"><a href="https://solar.huawei.com/fr">France / Français</a></div> <div class="langItem"><a href="https://solar.huawei.com/de">Germany / Deutsch</a></div> <div class="langItem"><a href="https://solar.huawei.com/gr">Greece / Ελληνικά</a></div> <div class="langItem"><a href="https://solar.huawei.com/hu">Hungary / Hungarian</a></div> <div class="langItem"><a href="https://solar.huawei.com/ie">Ireland / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/it">Italy / Italiano</a></div> <div class="langItem"><a href="https://solar.huawei.com/nl">Netherlands / Dutch</a></div> <div class="langItem"><a href="https://solar.huawei.com/pl">Poland / Polish</a></div> <div class="langItem"><a href="https://solar.huawei.com/pt">Portugal / português</a></div> <div class="langItem"><a href="https://solar.huawei.com/ro">Romania / română</a></div> <div class="langItem"><a href="https://solar.huawei.com/sk">Slovakia / slovenčina</a></div> <div class="langItem"><a href="https://solar.huawei.com/es">Spain / Español</a></div> <div class="langItem"><a href="https://solar.huawei.com/se">Sweden / Svenska</a></div> <div class="langItem"><a href="https://solar.huawei.com/ch">Switzerland / Deutsch</a></div> <div class="langItem"><a href="https://solar.huawei.com/ch-fr">Switzerland / Français</a></div> <div class="langItem"><a href="https://solar.huawei.com/tr">Türkiye / Türkçe</a></div> <div class="langItem"><a href="https://solar.huawei.com/ua">Ukraine / Україна</a></div> </div> </div> <div class="areaItem"> <div class="areaText">Latin America</div> <div class="langList"> <div class="langItem"><a href="https://solar.huawei.com/br">Brazil / Portuguese</a></div> <div class="langItem"><a href="https://solar.huawei.com/latam">Latin America / Español</a></div> <div class="langItem"><a href="https://solar.huawei.com/mx">México / Español</a></div> </div> </div> <div class="areaItem"> <div class="areaText">Middle East &amp; Africa</div> <div class="langList"> <div class="langItem"><a href="https://solar.huawei.com/eg">Egypt / اللغة العربية</a></div> <div class="langItem"><a href="https://solar.huawei.com/ke">Kenya / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/ma">Morocco / Français</a></div> <div class="langItem"><a href="https://solar.huawei.com/ng">Nigeria / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/pk">Pakistan / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/sa">Saudi Arabia / اللغة العربية </a></div> <div class="langItem"><a href="https://solar.huawei.com/sa-en">Saudi Arabia / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/za">South Africa / English</a></div> <div class="langItem"><a href="https://solar.huawei.com/tn">Tunisia / Français</a></div> <div class="langItem"><a href="https://solar.huawei.com/ae">UAE / اللغة العربية</a></div> <div class="langItem"><a href="https://solar.huawei.com/ae-en">UAE / English</a></div> </div> </div> </div> </div> </div> </div> <div class="pageheader_container" id="pageHeader"> <div class="pageheader"> <div class="pageheader-box grid--align-spread"> <div class="pageheader-menu-left"> <a class="header-left" href="/th"> <div class="header-logo"> <img src="/-/media/SolarV4/Common/logo-v1.svg" alt="logo v1" class="whiteLogo"> <img src="/-/media/SolarV4/Common/logo-dark-v2.svg" alt="logo dark v2" class="darkLogo"> </div> </a> <div class="pageheader-menu"> <ul> <li class="menu_item_li "><a class="menu_item_a" href="/th/home-owners" target="" onclick="try { gtag('event','First_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction': 'First_Navigation','eventLabel':'Home Owners'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เจ้าของบ้าน</a> <div class="submenu submenu-hidden"> </div> </li> <li class="menu_item_li "><a class="menu_item_a" href="/th/business-owners" target="" onclick="try { gtag('event','First_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction': 'First_Navigation','eventLabel':'Business Owners'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เจ้าของกิจการ</a> <div class="submenu submenu-hidden"> </div> </li> <li class="menu_item_li "><a class="menu_item_a" href="/th/utility-plant-owners" target="" onclick="try { gtag('event','First_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction': 'First_Navigation','eventLabel':'Utility Plant Owners'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เจ้าของโรงผลิตไฟฟ้า</a> <div class="submenu submenu-hidden"> </div> </li> <li class="menu_item_li "><a class="menu_item_a" href="/th/professionals/residential" target="" onclick="try { gtag('event','First_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction': 'First_Navigation','eventLabel':'Professionals'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ผู้เชี่ยวชาญ</a> <div class="submenu submenu-hidden"> <a href="/th/professionals/residential" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'Residential Smart PV & ESS Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อที่พักอาศัย</div> </a> <a href="/th/professionals/c-i" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'C&I Smart PV & ESS Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อภาคพาณิชย์และอุตสาหกรรม</div> </a> <a href="/th/professionals/utility" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'Utility Smart PV Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">โซลูชันพลังงานแสงอาทิตย์อัจฉริยเพื่อผู้ผลิตไฟฟ้า</div> </a> <a href="/th/professionals/ess" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'Utility Smart String ESS Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">โซลูชัน ESS สตริงอัจฉริยะเพื่อผู้ผลิตไฟฟ้า</div> </a> <a href="/th/professionals/micro-grid" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'Smart Micro-grid Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">โซลูชันไมโครกริดอัจฉริยะ</div> </a> <a href="/th/professionals/SmartDesign" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'SmartDesign 2.0'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">SmartDesign 2.0</div> </a> </div> </li> <li class="menu_item_li "><a class="menu_item_a" href="/th/partners/partner-introduction" target="" onclick="try { gtag('event','First_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction': 'First_Navigation','eventLabel':'Partners'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">พันธมิตร</a> <div class="submenu submenu-hidden"> <a href="/th/partners/partner-introduction" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Partner Introduction'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">ข้อมูลเบื้องต้น</div> </a> <a href="https://partner.huawei.com/eplus/#/en/web/registration-guidance?source=channel-home" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Become a Partner'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">ร่วมเป็นพันธมิตรกับเรา</div> </a> <a href="https://digitalpower.huawei.com/partner#/en/main" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Power-Partner'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">พันธมิตรด้านพลังงาน</div> </a> <a href="https://community.solar.huawei.com/th/index.html" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Installers Community'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">ชุมชนผู้ติดตั้ง</div> </a> <a href="/th/partners/map?type=distributor" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Find a Distributor'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">ค้นหาตัวแทนจำหน่าย</div> </a> </div> </li> <li class="menu_item_li "><a class="menu_item_a" href="/th/professionals/all-products" target="" onclick="try { gtag('event','First_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction': 'First_Navigation','eventLabel':'Products'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ผลิตภัณฑ์</a> <div class="submenu submenu-hidden"> </div> </li> </ul> </div> </div> <div class="pageheader-menu-right"> <div class="pageheader-menu"> <ul> <li class="menu_item_li "><a class="menu_item_a" href="/th/service-support/tsc" target="" onclick="try { gtag('event','First_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction': 'First_Navigation','eventLabel':'Support'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ความช่วยเหลือ</a> <div class="submenu submenu-hidden"> <a href="/th/service-support/tsc" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Support'+'+'+'Technical Support Center'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">ศูนย์การสนับสนุนทางเทคนิค</div> </a> <a href="https://digitalpower.huawei.com/robotchat/#/home/index?lang=en_US&domain=smartpv&product=" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Support'+'+'+'Online Support'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">การสนับสนุนทางออนไลน์</div> </a> <a href="/th/0investmentcampaign" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Support'+'+'+'0 Investment Campaign'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">0 Investment Campaign</div> </a> </div> </li> <li class="menu_item_li "><a class="menu_item_a" href="https://community.solar.huawei.com/th/index.html" target="_blank" onclick="try { gtag('event','First_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction': 'First_Navigation','eventLabel':'Community'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ชุมชน</a> <div class="submenu submenu-hidden"> </div> </li> <li class="menu_item_li "><a class="menu_item_a" href="https://solar.huawei.com/en/info/" target="_blank" onclick="try { gtag('event','First_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction': 'First_Navigation','eventLabel':'Download'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ดาวน์โหลด</a> <div class="submenu submenu-hidden"> <a href="https://solar.huawei.com/en/info/" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Download'+'+'+'Product Document'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">เอกสารผลิตภัณฑ์</div> </a> <a href="https://digitalpower.huawei.com/power-marketing/#/th/home" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Download'+'+'+'Power-Marketing'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="sub_menu_a">Power-Marketing</div> </a> </div> </li> </ul> </div> <div class="pageheader-right grid--vertical-align-center"> <a href="/th/order-now" target="" onclick="try { gtag('event','Buy_Click',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Buy_Click','eventLabel':'Order Now'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <div class="header-contact"> <button id="ev_bt_1005" class="ev_button default border-radius-24" title="" tabindex="0" type="button"> <span class="ev_button_text">สั่งซื้อเลย</span> </button> </div> </a> </div> </div> </div> </div> <div class="pageheader-min"> <div class="pageheader-min-box grid--align-spread"> <a class="header-left" href="/th"> <div class="headerLeft"> <span class="header-min-logo"> <img src="/-/media/SolarV4/Common/logo-v1.svg" alt="logo v1" class="min-white-logo"> <img src="/-/media/SolarV4/Common/logo-dark-v2.svg" alt="logo dark v2" class="min-dark-logo"> </span> </div> </a> <div class="nav-top-min nav-top-language"><span class="language_ic"></span><span>Thailand</span><span class="language_select"></span></div> <div class="container"> </div> <div class="headerRight grid--vertical-align-center"> <span class="header-icon header-min-setting"></span> <span class="header-icon header-min-close"></span> </div> </div> </div> <div class="header-drawer"> <ul class="header-drawer-box"> <li class="textItem"> <div class="textItem_div"> <a href="/th/home-owners" id="header_0_rptMobileMainNav_lkLink_0" class="item-link" onclick="try { gtag(&#39;event&#39;,&#39;First_Navigation&#39;,{&#39;eventCategory&#39;:document.location.pathname,&#39;Site_Country_Code_H&#39;:$(&#39;html&#39;).attr(&#39;data-region&#39;).replace(/[/]/g, &#39;&#39;).toUpperCase(),&#39;eventAction&#39;: &#39;First_Navigation&#39;,&#39;eventLabel&#39;:&#39;Home Owners&#39;+&#39;+&#39;+(window.location.origin + window.location.pathname).replace(/\/$/, &#39;&#39;)}) } catch (error) {if (error.message === &#39;gtag is not defined&#39;) {console.log(&#39;Google Analytics is not available. Event tracking is disabled.&#39;);} else {throw error;}}"> <span>เจ้าของบ้าน</span> </a> </div> </li> <li class="textItem"> <div class="textItem_div"> <a href="/th/business-owners" id="header_0_rptMobileMainNav_lkLink_1" class="item-link" onclick="try { gtag(&#39;event&#39;,&#39;First_Navigation&#39;,{&#39;eventCategory&#39;:document.location.pathname,&#39;Site_Country_Code_H&#39;:$(&#39;html&#39;).attr(&#39;data-region&#39;).replace(/[/]/g, &#39;&#39;).toUpperCase(),&#39;eventAction&#39;: &#39;First_Navigation&#39;,&#39;eventLabel&#39;:&#39;Business Owners&#39;+&#39;+&#39;+(window.location.origin + window.location.pathname).replace(/\/$/, &#39;&#39;)}) } catch (error) {if (error.message === &#39;gtag is not defined&#39;) {console.log(&#39;Google Analytics is not available. Event tracking is disabled.&#39;);} else {throw error;}}"> <span>เจ้าของกิจการ</span> </a> </div> </li> <li class="textItem"> <div class="textItem_div"> <a href="/th/utility-plant-owners" id="header_0_rptMobileMainNav_lkLink_2" class="item-link" onclick="try { gtag(&#39;event&#39;,&#39;First_Navigation&#39;,{&#39;eventCategory&#39;:document.location.pathname,&#39;Site_Country_Code_H&#39;:$(&#39;html&#39;).attr(&#39;data-region&#39;).replace(/[/]/g, &#39;&#39;).toUpperCase(),&#39;eventAction&#39;: &#39;First_Navigation&#39;,&#39;eventLabel&#39;:&#39;Utility Plant Owners&#39;+&#39;+&#39;+(window.location.origin + window.location.pathname).replace(/\/$/, &#39;&#39;)}) } catch (error) {if (error.message === &#39;gtag is not defined&#39;) {console.log(&#39;Google Analytics is not available. Event tracking is disabled.&#39;);} else {throw error;}}"> <span>เจ้าของโรงผลิตไฟฟ้า</span> </a> </div> </li> <li class="textItem"> <div class="textItem_div"> <a href="javascript:;" id="header_0_rptMobileMainNav_lkLink_3" class="item-link" onclick="try { gtag(&#39;event&#39;,&#39;First_Navigation&#39;,{&#39;eventCategory&#39;:document.location.pathname,&#39;Site_Country_Code_H&#39;:$(&#39;html&#39;).attr(&#39;data-region&#39;).replace(/[/]/g, &#39;&#39;).toUpperCase(),&#39;eventAction&#39;: &#39;First_Navigation&#39;,&#39;eventLabel&#39;:&#39;Professionals&#39;+&#39;+&#39;+(window.location.origin + window.location.pathname).replace(/\/$/, &#39;&#39;)}) } catch (error) {if (error.message === &#39;gtag is not defined&#39;) {console.log(&#39;Google Analytics is not available. Event tracking is disabled.&#39;);} else {throw error;}}"> <span>ผู้เชี่ยวชาญ</span> </a> <span class="textItem_arr"></span> </div> <ul class="submenu" style="display: none;"> <li class="textItem"><a class="item-link" href="/th/professionals/residential" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'Residential Smart PV & ESS Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อที่พักอาศัย</a></li> <li class="textItem"><a class="item-link" href="/th/professionals/c-i" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'C&I Smart PV & ESS Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อภาคพาณิชย์และอุตสาหกรรม</a></li> <li class="textItem"><a class="item-link" href="/th/professionals/utility" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'Utility Smart PV Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชันพลังงานแสงอาทิตย์อัจฉริยเพื่อผู้ผลิตไฟฟ้า</a></li> <li class="textItem"><a class="item-link" href="/th/professionals/ess" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'Utility Smart String ESS Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชัน ESS สตริงอัจฉริยะเพื่อผู้ผลิตไฟฟ้า</a></li> <li class="textItem"><a class="item-link" href="/th/professionals/micro-grid" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'Smart Micro-grid Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชันไมโครกริดอัจฉริยะ</a></li> <li class="textItem"><a class="item-link" href="/th/professionals/SmartDesign" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Professionals'+'+'+'SmartDesign 2.0'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">SmartDesign 2.0</a></li> </ul> </li> <li class="textItem"> <div class="textItem_div"> <a href="javascript:;" id="header_0_rptMobileMainNav_lkLink_4" class="item-link" onclick="try { gtag(&#39;event&#39;,&#39;First_Navigation&#39;,{&#39;eventCategory&#39;:document.location.pathname,&#39;Site_Country_Code_H&#39;:$(&#39;html&#39;).attr(&#39;data-region&#39;).replace(/[/]/g, &#39;&#39;).toUpperCase(),&#39;eventAction&#39;: &#39;First_Navigation&#39;,&#39;eventLabel&#39;:&#39;Partners&#39;+&#39;+&#39;+(window.location.origin + window.location.pathname).replace(/\/$/, &#39;&#39;)}) } catch (error) {if (error.message === &#39;gtag is not defined&#39;) {console.log(&#39;Google Analytics is not available. Event tracking is disabled.&#39;);} else {throw error;}}"> <span>พันธมิตร</span> </a> <span class="textItem_arr"></span> </div> <ul class="submenu" style="display: none;"> <li class="textItem"><a class="item-link" href="/th/partners/partner-introduction" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Partner Introduction'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ข้อมูลเบื้องต้น</a></li> <li class="textItem"><a class="item-link" href="https://partner.huawei.com/eplus/#/en/web/registration-guidance?source=channel-home" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Become a Partner'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ร่วมเป็นพันธมิตรกับเรา</a></li> <li class="textItem"><a class="item-link" href="https://digitalpower.huawei.com/partner#/en/main" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Power-Partner'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">พันธมิตรด้านพลังงาน</a></li> <li class="textItem"><a class="item-link" href="https://community.solar.huawei.com/th/index.html" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Installers Community'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ชุมชนผู้ติดตั้ง</a></li> <li class="textItem"><a class="item-link" href="/th/partners/map?type=distributor" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Partners'+'+'+'Find a Distributor'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ค้นหาตัวแทนจำหน่าย</a></li> </ul> </li> <li class="textItem"> <div class="textItem_div"> <a href="/th/professionals/all-products" id="header_0_rptMobileMainNav_lkLink_5" class="item-link" onclick="try { gtag(&#39;event&#39;,&#39;First_Navigation&#39;,{&#39;eventCategory&#39;:document.location.pathname,&#39;Site_Country_Code_H&#39;:$(&#39;html&#39;).attr(&#39;data-region&#39;).replace(/[/]/g, &#39;&#39;).toUpperCase(),&#39;eventAction&#39;: &#39;First_Navigation&#39;,&#39;eventLabel&#39;:&#39;Products&#39;+&#39;+&#39;+(window.location.origin + window.location.pathname).replace(/\/$/, &#39;&#39;)}) } catch (error) {if (error.message === &#39;gtag is not defined&#39;) {console.log(&#39;Google Analytics is not available. Event tracking is disabled.&#39;);} else {throw error;}}"> <span>ผลิตภัณฑ์</span> </a> </div> </li> <li class="textItem"> <div class="textItem_div"> <a href="javascript:;" id="header_0_rptMobileMainNav_lkLink_6" class="item-link" onclick="try { gtag(&#39;event&#39;,&#39;First_Navigation&#39;,{&#39;eventCategory&#39;:document.location.pathname,&#39;Site_Country_Code_H&#39;:$(&#39;html&#39;).attr(&#39;data-region&#39;).replace(/[/]/g, &#39;&#39;).toUpperCase(),&#39;eventAction&#39;: &#39;First_Navigation&#39;,&#39;eventLabel&#39;:&#39;Support&#39;+&#39;+&#39;+(window.location.origin + window.location.pathname).replace(/\/$/, &#39;&#39;)}) } catch (error) {if (error.message === &#39;gtag is not defined&#39;) {console.log(&#39;Google Analytics is not available. Event tracking is disabled.&#39;);} else {throw error;}}"> <span>ความช่วยเหลือ</span> </a> <span class="textItem_arr"></span> </div> <ul class="submenu" style="display: none;"> <li class="textItem"><a class="item-link" href="/th/service-support/tsc" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Support'+'+'+'Technical Support Center'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ศูนย์การสนับสนุนทางเทคนิค</a></li> <li class="textItem"><a class="item-link" href="https://digitalpower.huawei.com/robotchat/#/home/index?lang=en_US&domain=smartpv&product=" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Support'+'+'+'Online Support'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">การสนับสนุนทางออนไลน์</a></li> <li class="textItem"><a class="item-link" href="/th/0investmentcampaign" target="" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Support'+'+'+'0 Investment Campaign'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">0 Investment Campaign</a></li> </ul> </li> <li class="textItem"> <div class="textItem_div"> <a href="https://community.solar.huawei.com/th/index.html" id="header_0_rptMobileMainNav_lkLink_7" class="item-link" target="_blank" onclick="try { gtag(&#39;event&#39;,&#39;First_Navigation&#39;,{&#39;eventCategory&#39;:document.location.pathname,&#39;Site_Country_Code_H&#39;:$(&#39;html&#39;).attr(&#39;data-region&#39;).replace(/[/]/g, &#39;&#39;).toUpperCase(),&#39;eventAction&#39;: &#39;First_Navigation&#39;,&#39;eventLabel&#39;:&#39;Community&#39;+&#39;+&#39;+(window.location.origin + window.location.pathname).replace(/\/$/, &#39;&#39;)}) } catch (error) {if (error.message === &#39;gtag is not defined&#39;) {console.log(&#39;Google Analytics is not available. Event tracking is disabled.&#39;);} else {throw error;}}"> <span>ชุมชน</span> </a> </div> </li> <li class="textItem"> <div class="textItem_div"> <a href="javascript:;" id="header_0_rptMobileMainNav_lkLink_8" class="item-link" onclick="try { gtag(&#39;event&#39;,&#39;First_Navigation&#39;,{&#39;eventCategory&#39;:document.location.pathname,&#39;Site_Country_Code_H&#39;:$(&#39;html&#39;).attr(&#39;data-region&#39;).replace(/[/]/g, &#39;&#39;).toUpperCase(),&#39;eventAction&#39;: &#39;First_Navigation&#39;,&#39;eventLabel&#39;:&#39;Download&#39;+&#39;+&#39;+(window.location.origin + window.location.pathname).replace(/\/$/, &#39;&#39;)}) } catch (error) {if (error.message === &#39;gtag is not defined&#39;) {console.log(&#39;Google Analytics is not available. Event tracking is disabled.&#39;);} else {throw error;}}"> <span>ดาวน์โหลด</span> </a> <span class="textItem_arr"></span> </div> <ul class="submenu" style="display: none;"> <li class="textItem"><a class="item-link" href="https://solar.huawei.com/en/info/" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Download'+'+'+'Product Document'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เอกสารผลิตภัณฑ์</a></li> <li class="textItem"><a class="item-link" href="https://digitalpower.huawei.com/power-marketing/#/th/home" target="_blank" onclick="try { gtag('event','Sub_Navigation',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Sub_Navigation','eventLabel':'Download'+'+'+'Power-Marketing'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">Power-Marketing</a></li> </ul> </li> <li class="textItem"> <div class="textItem_div"> <a class="item-link" href="/th/online-experience-hall?step=card" target="" onclick="try { gtag('event','Navigation_Function',{'eventCategory':document.location.pathname,'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Navigation_Function','eventLabel':'Online Experience Hall'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <span>Online Experience Hall</span> </a> </div> </li> <li class="textItem"> <div class="textItem_div"> <a class="item-link" href="/th/order-now" target="" onclick="try { gtag('event','Buy_Click',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventAction':'Buy_Click','eventLabel':'Order Now'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <span>สั่งซื้อเลย</span> </a> </div> </li> </ul> </div> </div> </div> </div> </div> <input id="pagelang" type="hidden" value="th-TH"> <div class="main"> <!--HWDocContent--> <div id="dig_swiper_banner" class="dig_banner"> <div class="swiper dig_swiper"> <div class="swiper-wrapper"> <div class="swiper-slide"> <a href="/th/0investmentcampaign" target="" onclick="try { gtag('event', 'Banner_Click',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory': document.location.pathname,'eventAction': 'Banner_Click','eventLabel': 'HUAWEI LUNA S1 PROMOTION'+'+'+'0-1'+'+'+(window.location.origin + window.location.pathname)}); } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <picture class="dig_banner_picture"> <source media="(max-width:768px)" srcset="/-/media/SolarV4/solar-version2/asia-pacific/th/homepage/swiperbanner/banner-luna-s1/en-mob.jpg"></source> <img src="/-/media/SolarV4/solar-version2/asia-pacific/th/homepage/swiperbanner/banner-luna-s1/en-pc.jpg"> </picture> <div class="dig_banner_content"> </div> </a> </div> <div class="swiper-slide"> <a href="/th/0investmentcampaign-en" target="" onclick="try { gtag('event', 'Banner_Click',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory': document.location.pathname,'eventAction': 'Banner_Click','eventLabel': 'HUAWEI LUNA S1 PROMOTION'+'+'+'0-2'+'+'+(window.location.origin + window.location.pathname)}); } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <picture class="dig_banner_picture"> <source media="(max-width:768px)" srcset="/-/media/SolarV4/solar-version2/asia-pacific/th/homepage/swiperbanner/banner-luna-s1/th-mob.jpg"></source> <img src="/-/media/SolarV4/solar-version2/asia-pacific/th/homepage/swiperbanner/banner-luna-s1/th-pc.jpg"> </picture> <div class="dig_banner_content"> </div> </a> </div> <div class="swiper-slide"> <picture class="dig_banner_picture"> <source media="(max-width:768px)" srcset="/-/media/SolarV4/solar-version2/asia-pacific/th/homepage/swiperbanner/banner-pv-magzine/th-mob.jpg"></source> <img src="/-/media/SolarV4/solar-version2/asia-pacific/th/homepage/swiperbanner/banner-pv-magzine/th-pc.jpg"> </picture> <div class="dig_banner_content"> <div class="first-button"> <p class="kv-btn3"> <a href="/download?p=%2f-%2fmedia%2fSolarV4%2fsolar-version2%2fcommon%2fhomepage%2fswiperbanner%2fbanner-pv-magzine%2fpv-magzine-FusionSolar-Special-Edition-20230927.pdf" onclick="try { gtag('event', 'Banner_Click',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory': document.location.pathname,'eventAction': 'Banner_Click','eventLabel': 'Making the Most of Every Ray'+'+'+'0-3'+'+'+(window.location.origin + window.location.pathname)}); } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">Download</a> </p> </div> <style type="text/css"> .first-button { position: relative; } .first-button .kv-btn3 { position: absolute; top: 14.4vw; left: 4.86vw; opacity: 0; line-height: 1.6; } .first-button .kv-btn3 a { width: 9.375vw; height: 2.708333vw; display: block; } @media screen and (max-width: 768px) { .first-button .kv-btn3 { top: 39.2vw; left: 50%; transform: translateX(-50%); } .first-button .kv-btn3 a { width: 20.375vw; height: 6.208333vw; } } </style> </div> </div> </div> <div class="swiper-pagination dig_BannerSwiper_pagination"></div> </div> </div> <div class="home_banner"> <video autoplay="" loop="" muted="" playsinline="" poster="/-/media/SolarV4/images/Home/bannerPoster.jpg" src="/-/media/SolarV4/images/Home/homepage_1129.mp4"> </video> <div class="home_banner_content"> <div class="home_banner_title"> <p> เปลี่ยนมาใช้พลังงานแสงอาทิตย์<br> รวมพลังสร้างความเปลี่ยนแปลง<br> ไปด้วยกัน </p> </div> <div class="banner-buttons home_banner_btn"> <button class="ev_button default button-transparent border-radius-24" title="" tabindex="0" type="button"> <span class="ev_button_text">เรื่องราวความสำเร็จ</span> </button> </div> </div> </div> <div class="home_banner_HiddenedVideo"> <div class="home_banner_HV_content"> <img class="home_banner_HV_close" src="/Assets/Solar/v4/img/Home/close.png" alt="HV_close"><video src="/-/media/Solar/videos/MP4/2022Global-SuccessStories.mp4" poster="" controls="true"> </video> </div> </div> <div class="home_dig_panel"> <div class="home_dig_panel_items"> <div class="home_dig_panel_item"> <h2> <img src="/-/media/SolarV4/images/Home/home_icon1.svg" alt="home icon1"> 1109.5</h2> <p>พันล้านกิโลวัตต์ชั่วโมงที่สร้างจากพลังงานสะอาด</p> </div> <div class="home_dig_panel_item"> <h2> <img src="/-/media/SolarV4/images/Home/home_icon2.svg" alt="home icon2"> 527</h2> <p>ล้านตันที่ลดลงการปล่อย CO₂</p> </div> <div class="home_dig_panel_item"> <h2> <img src="/-/media/SolarV4/images/Home/home_icon3.svg" alt="home icon3"> 719</h2> <p>ล้านต้นที่เทียบได้กับการปลูกต้นไม้</p> </div> </div> </div> <div class="home_XA"> <div class="dig_carouse_accordion"> <div class="dig_carouse_headerTitle"> ผู้นำด้านนวัตกรรมเพื่อการสร้างคุณค่าสูงสุด </div> <div class="dig_carouse_accordion_box"> <div class="dig_carouse_accordion_li "> <picture class="dig_swiper_picture"> <source media="(max-width:768px)" srcset="/-/media/SolarV4/images/Home/carouse1768.png"></source> <img src="/-/media/SolarV4/images/Home/carouse1.png" alt="carouse1"> </picture> <div class="dig_ca_text_wrap"> <div class="dig_ca_li_title"> ผู้นำสตริงอินเวอร์เตอร์ไปสู่กระแสหลัก </div> </div> <div class="dig_ca_mock"></div> </div> <div class="dig_carouse_accordion_li "> <picture class="dig_swiper_picture"> <source media="(max-width:768px)" srcset="/-/media/SolarV4/images/Home/carouse2768.png"></source> <img src="/-/media/SolarV4/images/Home/carouse2.png" alt="carouse2"> </picture> <div class="dig_ca_text_wrap"> <div class="dig_ca_li_title"> ผู้นำด้านนวัตกรรมสถาปัตยกรรมระบบกักเก็บพลังงาน </div> </div> <div class="dig_ca_mock"></div> </div> <div class="dig_carouse_accordion_li "> <picture class="dig_swiper_picture"> <source media="(max-width:768px)" srcset="/-/media/SolarV4/images/Home/carouse3768.png"></source> <img src="/-/media/SolarV4/images/Home/carouse3.png" alt="carouse3"> </picture> <div class="dig_ca_text_wrap"> <div class="dig_ca_li_title"> ผู้นำด้านการยกระดับเชิงดิจิทัลและอินเทลลิเจนท์ </div> </div> <div class="dig_ca_mock"></div> </div> <div class="dig_carouse_accordion_li "> <picture class="dig_swiper_picture"> <source media="(max-width:768px)" srcset="/-/media/SolarV4/images/Home/carouse4768.png"></source> <img src="/-/media/SolarV4/images/Home/carouse4.png" alt="carouse4"> </picture> <div class="dig_ca_text_wrap"> <div class="dig_ca_li_title"> ผู้นำด้านการยกระดับความปลอดภัยของระบบอย่างต่อเนื่อง </div> </div> <div class="dig_ca_mock"></div> </div> <div class="dig_carouse_accordion_li active"> <picture class="dig_swiper_picture"> <source media="(max-width:768px)" srcset="/-/media/SolarV4/images/Home/carouse5768.png"></source> <img src="/-/media/SolarV4/images/Home/carouse5.png" alt="carouse5"> </picture> <div class="dig_ca_text_wrap"> <div class="dig_ca_li_title"> ผู้นำด้านการเชื่อมต่อโครงข่ายไฟฟ้าอัจฉริยะ </div> </div> <div class="dig_ca_mock"></div> </div> </div> </div> </div> <div class="home_pvSystem"> <!-- <video muted src="https://solar.huawei.com/~/media/Solar/videos/_ver2.webm" ></video> --> <video autoplay="" muted="" playsinline="" src="/-/media/SolarV4/images/Home/_ver2.mp4"> </video> <img class="home_pvSystem_bg_m" src="/-/media/SolarV4/images/Home/pvSystem.jpg" alt="pvSystem"> <div class="home_pvSystem_tag home_pvSystem_tag0"> <img src="/-/media/SolarV4/images/Home/pv1.png" alt="pv1"><span class="home_pvSystem_tag_desc">โซลูชันไมโครกริดอัจฉริยะ</span> <div class="home_pvSystem_tag_sub home_pvSystem_tag_sub0"> <img src="/-/media/SolarV4/images/Home/sub1.png" alt="sub1"> <p class="home_pvSystem_sub_title">โซลูชันไมโครกริดอัจฉริยะ</p> <div class="home_pvSystem_sub_btns"> <span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon1"></span><a href="/th/utility-plant-owners" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'Smart Micro-grid Solution'+'+'+'Utility Plant Owners'+'+'+ (window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เจ้าของโรงผลิตไฟฟ้า</a> </span><span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon2"></span><a href="/th/professionals/micro-grid" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'Smart Micro-grid Solution'+'+'+'Professionals'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ผู้เชี่ยวชาญ</a> </span> </div> </div> </div> <div class="home_pvSystem_tag home_pvSystem_tag1"> <img src="/-/media/SolarV4/images/Home/pv2.png" alt="pv2"><span class="home_pvSystem_tag_desc">โซลูชันพลังงานแสงอาทิตย์อัจฉริยเพื่อผู้ผลิตไฟฟ้า</span> <div class="home_pvSystem_tag_sub home_pvSystem_tag_sub1"> <img src="/-/media/SolarV4/images/Home/sub2.png" alt="sub2"> <p class="home_pvSystem_sub_title">โซลูชันพลังงานแสงอาทิตย์อัจฉริยเพื่อผู้ผลิตไฟฟ้า</p> <div class="home_pvSystem_sub_btns"> <span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon1"></span><a href="/th/utility-plant-owners" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'Utility Smart PV Solution'+'+'+'Utility Plant Owners'+'+'+ (window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เจ้าของโรงผลิตไฟฟ้า</a> </span><span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon2"></span><a href="/th/professionals/utility" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'Utility Smart PV Solution'+'+'+ 'Professionals'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ผู้เชี่ยวชาญ</a> </span> </div> </div> </div> <div class="home_pvSystem_tag home_pvSystem_tag2"> <img src="/-/media/SolarV4/images/Home/pv3.png" alt="pv3"><span class="home_pvSystem_tag_desc">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อภาคพาณิชย์และอุตสาหกรรม</span> <div class="home_pvSystem_tag_sub home_pvSystem_tag_sub2"> <img src="/-/media/SolarV4/images/Home/sub3.png" alt="sub3"> <p class="home_pvSystem_sub_title">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อภาคพาณิชย์และอุตสาหกรรม</p> <div class="home_pvSystem_sub_btns"> <span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon1"></span><a href="/th/business-owners" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'C&I Smart PV & ESS Solution'+'+'+'Business Owners'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เจ้าของกิจการ</a> </span><span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon2"></span><a href="/th/professionals/c-i" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'C&I Smart PV & ESS Solution'+'+'+'Professionals'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ผู้เชี่ยวชาญ</a> </span> </div> </div> </div> <div class="home_pvSystem_tag home_pvSystem_tag3"> <img src="/-/media/SolarV4/images/Home/pv4.png" alt="pv4"><span class="home_pvSystem_tag_desc">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อที่พักอาศัย</span> <div class="home_pvSystem_tag_sub home_pvSystem_tag_sub3"> <img src="/-/media/SolarV4/images/Home/sub4.png" alt="sub4"> <p class="home_pvSystem_sub_title">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อที่พักอาศัย</p> <div class="home_pvSystem_sub_btns"> <span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon1"></span><a href="/th/home-owners" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'Residential Smart PV & ESS Solution'+'+'+'Home Owners'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เจ้าของบ้าน</a> </span><span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon2"></span><a href="/th/professionals/residential" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'Residential Smart PV & ESS Solution'+'+'+'Professionals'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ผู้เชี่ยวชาญ</a> </span> </div> </div> </div> <div class="home_pvSystem_tag home_pvSystem_tag4"> <img src="/-/media/SolarV4/images/Home/pv5.png" alt="pv5"><span class="home_pvSystem_tag_desc">โซลูชัน ESS สตริงอัจฉริยะเพื่อผู้ผลิตไฟฟ้า</span> <div class="home_pvSystem_tag_sub home_pvSystem_tag_sub4"> <img src="/-/media/SolarV4/images/Home/sub5.png" alt="sub5"> <p class="home_pvSystem_sub_title">โซลูชัน ESS สตริงอัจฉริยะเพื่อผู้ผลิตไฟฟ้า</p> <div class="home_pvSystem_sub_btns"> <span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon1"></span><a href="/th/utility-plant-owners" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'Utility Smart String ESS Solution'+'+'+'Utility Plant Owners'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เจ้าของโรงผลิตไฟฟ้า</a> </span><span class="home_pvSystem_sub_btn"> <span class="home_pvs_sub_icon home_pvs_sub_icon2"></span><a href="/th/professionals/ess" target="" onclick="try { gtag('event','Scene_Selection',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':'home page','eventAction':'Scene_Selection','eventLabel':'Utility Smart String ESS Solution'+'+'+'Professionals'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ผู้เชี่ยวชาญ</a> </span> </div> </div> </div> </div> <div class="home_global_container"> <div class="home_global"> <div class="home_glb_canvas home_glb_canvas_mobile"> <canvas id="homeGlbCanvas" width="784" height="784"></canvas> </div> <div class="home_glb_content"> <div class="home_glb_inner_content"> <div class="inCont_left"> <span class="inCont_left_value inCont_left_value_yellow">160+</span><span class="inCont_left_desc">ศูนย์การสนับสนุนทางเทคนิคและอะไหล่ทั่วโลก</span> </div> <div class="inCont_split"></div> <div class="inCont_right"> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">5</span> <div class="inCont_right_subItem_desc"> ศูนย์การสนับสนุนทางเทคนิค </div> </div> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">5</span> <div class="inCont_right_subItem_desc"> ศูนย์ปฏิบัติการและจำหน่ายอะไหล่ </div> </div> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">2</span> <div class="inCont_right_subItem_desc"> ศูนย์ซ่อมและจำหน่ายอะไหล่ </div> </div> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">140+</span> <div class="inCont_right_subItem_desc"> ศูนย์โลจิสติกส์จัดส่งอะไหล่ทั่วประเทศ </div> </div> </div> </div> </div> <div class="home_glb_content"> <div class="home_glb_inner_content"> <div class="inCont_left"> <span class="inCont_left_value inCont_left_value_orange">1760+</span><span class="inCont_left_desc">พันธมิตรทั่วโลก</span> </div> <div class="inCont_split"></div> <div class="inCont_right"> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">1700+</span> <div class="inCont_right_subItem_desc"> พันธมิตรด้านการขาย </div> </div> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">60+</span> <div class="inCont_right_subItem_desc"> พันธมิตรด้านการบริการ </div> </div> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">2000+</span> <div class="inCont_right_subItem_desc"> ผู้ติดตั้งที่ได้รับการรับรอง </div> </div> </div> </div> </div> <div class="home_glb_content"> <div class="home_glb_inner_content"> <div class="inCont_left"> <span class="inCont_left_value inCont_left_value_green">17</span><span class="inCont_left_desc">ศูนย์วิจัยทั่วโลก</span> </div> <div class="inCont_split"></div> <div class="inCont_right"> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">5</span> <div class="inCont_right_subItem_desc"> ศูนย์พัฒนาขีดความสามารถ </div> </div> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">12</span> <div class="inCont_right_subItem_desc"> ศูนย์การวิจัยและพัฒนา </div> </div> <div class="inCont_right_subItem"> <span class="inCont_right_subItem_value">23%+</span> <div class="inCont_right_subItem_desc"> ของรายได้ใช้กับการวิจัยและพัฒนา </div> </div> </div> </div> </div> </div> </div> <script> var earchFolder = 'en'; </script> <div class="home_onlineHall"> <video autoplay="" loop="" muted="" playsinline="" poster="" src="/-/media/SolarV4/images/Home/online-hall.mp4"> </video> <div class="hO_hallTitle"> <span class="hO_circle"></span> <h2>Online Experience Hall</h2> <p>เยี่ยมชมโครงการอ้างอิง ห้องจัดแสดง และอื่น ๆ ได้ในโลกเสมือนจริง</p> </div> <div class="banner-buttons hO_btn"> <a href="/th/online-experience-hall?step=card" target="" onclick="try { gtag('event', 'Online_Experience_Entry Interaction',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory': 'home page','eventAction': 'Online_Experience_Entry','eventLabel': 'Take a Tour Now'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}"> <button id="ev_bt_1007" class="ev_button default button-transparent border-radius-24" title="" tabindex="0" type="button"> <span class="ev_button_text">เยี่ยมชมเลย</span> </button> </a> </div> </div> <!--/HWDocContent--> </div> <div id="pageFooterWrapper" class="dark"> <div class="page-footer"> <div class="footer-main"> <div class="footer-note"> <p> </p> </div> <div class="footer-top-pc"> <div class="footer-item"> <p class="footer-col-title"> เกี่ยวกับ FusionSolar <span class="textItem_arr"></span> </p> <ul class="footer-col-list"> <li> <a href="/th/news-room" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'About FusionSolar'+'+'+'News'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ข่าวสาร</a> </li> <li> <a href="/th/success-stories" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'About FusionSolar'+'+'+'Success Stories'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เรื่องราวความสำเร็จ</a> </li> </ul> </div> <div class="footer-item"> <p class="footer-col-title"> ผลิตภัณฑ์และโซลูชัน <span class="textItem_arr"></span> </p> <ul class="footer-col-list"> <li> <a href="/th/professionals/residential" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Products & Solution'+'+'+'Residential Smart PV & ESS Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อที่พักอาศัย</a> </li> <li> <a href="/th/professionals/c-i" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Products & Solution'+'+'+'C&I Smart PV & ESS Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชันพลังงานแสงอาทิตย์อัจฉริยะและ ESS เพื่อภาคพาณิชย์และอุตสาหกรรม</a> </li> <li> <a href="/th/professionals/utility" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Products & Solution'+'+'+'Utility Smart PV Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชันพลังงานแสงอาทิตย์อัจฉริยเพื่อผู้ผลิตไฟฟ้า</a> </li> <li> <a href="/th/professionals/ess" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Products & Solution'+'+'+'Utility Smart String ESS Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชัน ESS สตริงอัจฉริยะเพื่อผู้ผลิตไฟฟ้า</a> </li> <li> <a href="/th/professionals/micro-grid" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Products & Solution'+'+'+'Smart Micro-grid Solution'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">โซลูชันไมโครกริดอัจฉริยะ</a> </li> <li> <a href="/th/professionals/all-products" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Products & Solution'+'+'+'All Products'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ผลิตภัณฑ์ทั้งหมด</a> </li> <li> <a href="/th/professionals/SmartDesign" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Products & Solution'+'+'+'SmartDesign 2.0'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">SmartDesign 2.0</a> </li> </ul> </div> <div class="footer-item"> <p class="footer-col-title"> พันธมิตร <span class="textItem_arr"></span> </p> <ul class="footer-col-list"> <li> <a href="/th/partners/partner-introduction" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Partners'+'+'+'Partner Introduction'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ข้อมูลเบื้องต้น</a> </li> <li> <a href="https://partner.huawei.com/eplus/#/en/web/registration-guidance?source=channel-home" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Partners'+'+'+'Become a Partner'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ร่วมเป็นพันธมิตรกับเรา</a> </li> <li> <a href="/th/partners/map?type=distributor" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Partners'+'+'+'Find a Distributor'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ค้นหาตัวแทนจำหน่าย</a> </li> <li> <a href="https://digitalpower.huawei.com/partner#/en/main" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Partners'+'+'+'Power-Partner'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">พันธมิตรด้านพลังงาน</a> </li> </ul> </div> <div class="footer-item"> <p class="footer-col-title"> บริการและการสนับสนุน <span class="textItem_arr"></span> </p> <ul class="footer-col-list"> <li> <a href="/th/service-support/tsc" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Service & Support'+'+'+'Technical Support Center'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ศูนย์การสนับสนุนทางเทคนิค</a> </li> <li> <a href="https://digitalpower.huawei.com/power-marketing/#/th/home" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Service & Support'+'+'+'Power-Marketing'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">Power-Marketing</a> </li> <li> <a href="https://solar.huawei.com/en/info/" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Service & Support'+'+'+'Product Document'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">เอกสารผลิตภัณฑ์</a> </li> <li> <a href="https://community.solar.huawei.com/th/index.html" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Service & Support'+'+'+'Community'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ชุมชน</a> </li> <li> <a href="https://digitalpower.huawei.com/robotchat/#/home/index?lang=en_US&domain=smartpv&product=" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Service & Support'+'+'+'Online Support'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">การสนับสนุนทางออนไลน์</a> </li> <li> <a href="/th/0investmentcampaign" target="" onclick="try { gtag('event', 'Bottom Navigation',{'Site_Country_Code_H': $('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory': document.location.pathname,'eventAction': 'Bottom Navigation', 'eventLabel': 'บริการและการสนับสนุน-0 Investment Campaign+'+ document.URL}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">0 Investment Campaign</a> </li> </ul> </div> <div class="footer-item"> <p class="footer-col-title"> ลิงก์ด่วน <span class="textItem_arr"></span> </p> <ul class="footer-col-list"> <li> <a href="https://www.huawei.com/th" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Quick Links'+'+'+'Huawei Corporate'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">Huawei Corporate</a> </li> <li> <a href="https://e.huawei.com/th" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Quick Links'+'+'+'Huawei Enterprise'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">Huawei Enterprise</a> </li> <li> <a href="https://digitalpower.huawei.com/en/?from=solar" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Quick Links'+'+'+'Huawei Digital Power'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">Huawei Digital Power</a> </li> <li> <a href="https://intl.fusionsolar.huawei.com/pvmswebsite/nologin/assets/build/index.html#/jumppage" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Quick Links'+'+'+'Download FusionSolar App (Mobile Version)'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">ดาวน์โหลดแอป FusionSolar</a> </li> <li> <a href="https://intl.fusionsolar.huawei.com" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation', 'eventLabel': 'Quick Links'+'+'+'FusionSolar SmartPVMS'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}">FusionSolar SmartPVMS</a> </li> </ul> </div> </div> <div class="footer-buttom"> <div class="footer-copyright-content"> <div class="footer-copyright footer-copyright-item"> © 2024 Huawei Technologies Co., Ltd. </div> <div class="footer-law"> <span class="footer-copyright-item"> <a class="item-link" href="https://www.huawei.com/th/legal" target="_blank" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation','eventLabel': 'Terms of Use'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}" rel="noreferrer"> ข้อกำหนดการใช้งาน </a> </span> <span class="footer-copyright-item"> <a class="item-link" href="/th/privacy" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation','eventLabel': 'Privacy'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}" rel="noreferrer"> ความเป็นส่วนตัว </a> </span> <span class="footer-copyright-item"> <a class="item-link" href="/th/cookies" target="" onclick="try { gtag('event','Bottom_Navigation',{'Site_Country_Code_H':$('html').attr('data-region').replace(/[/]/g, '').toUpperCase(),'eventCategory':document.location.pathname,'eventAction':'Bottom_Navigation','eventLabel': 'Cookies'+'+'+(window.location.origin + window.location.pathname).replace(/\/$/, '')}) } catch (error) {if (error.message === 'gtag is not defined') {console.log('Google Analytics is not available. Event tracking is disabled.');} else {throw error;}}" rel="noreferrer"> คุกกี้ </a> </span> <span class="footer-copyright-item"> <a class="item-link" href="javascript:;" target="" onclick="utag.gdpr.showConsentPreferences()" rel="noreferrer"> การตั้งค่าคุ้กกี้ </a> </span> </div> </div> <div class="footer-link"> <a class="social-item" href="https://www.linkedin.com/company/huawei-digitalpower/" target="_blank" rel="noreferrer"> <span class="footer-link-img link-img-linkedin"></span> </a> <a class="social-item" href="https://www.facebook.com/huaweidpth" target="_blank" rel="noreferrer"> <span class="footer-link-img link-img-facebook"></span> </a> <a class="social-item" href="https://twitter.com/HuaweiSolar" target="_blank" rel="noreferrer"> <span class="footer-link-img link-img-twitter"></span> </a> <a class="social-item" href="https://www.youtube.com/@digitalpowerthailand4112" target="_blank" rel="noreferrer"> <span class="footer-link-img link-img-youtube"></span> </a> <!-- <div class="social-item social-icon"> <span class="footer-link-img link-img-wechat"> </span> <div class="hover-pop"> <div class="icon-close"></div> <div class="pop-text"> <p>官方微信</p> </div> <div class="pop-img"> <img src="/Assets/Solar/v4/img/common/wechat.png"> </div> </div> </div> <div class="social-item social-icon last-icon"> <span class="footer-link-img link-img-toutiao"> </span> <div class="hover-pop"> <div class="icon-close"></div> <div class="pop-text"> <p>头条</p> </div> <div class="pop-img"> <img src="/Assets/Solar/v4/img/common/toutiao.png"> </div> </div> </div> --> </div> </div> </div> </div> </div> <div id="pageSideTips"> <div class="side-tips"> <div class="side-tip"> <div class="icon-download"></div> <div class="hover grid--vertical-align-center"> <a href="https://digitalpower.huawei.com/power-marketing/#/th/home" target="_blank"> <div class="side-tip-text ml18">Power-Marketing</div> </a> <div class="side-tip-line ml12"></div> <a href="https://solar.huawei.com/en/info/" target="_blank"> <div class="side-tip-text ml12">เอกสารผลิตภัณฑ์</div> </a> <div class="icon-download"></div> </div> </div> <div class="side-tip"> <a href="https://community.solar.huawei.com/th/index.html" target="_blank"> <div class="icon-community"></div> <div class="hover grid--vertical-align-center"> <div class="side-tip-text ml24">ชุมชน</div> <div class="icon-community"></div> </div> </a> </div> <div class="side-tip"> <a href="https://digitalpower.huawei.com/robotchat/#/home/index?lang=en_US&domain=smartpv&product=" target="_blank"> <div class="icon-onlineChat"></div> <div class="hover grid--vertical-align-center"> <div class="side-tip-text ml24">การสนับสนุนทางออนไลน์</div> <div class="icon-onlineChat"></div> </div> </a> </div> <div class='side-tip back-top'> <span></span> </div> </div> </div> <script src="/Assets/Solar/v4/js/utils/jquery-3.6.0.min.js?ver=202411131551"></script> <!--<script src="/Assets/Solar/v4/js/utils/common.js"></script>--> <script src="/Assets/Solar/v4/js/utils/publicPages.js?ver=202411131551"></script> <!--<script src="/-/media/SolarV4/solar-version2/common/test/publicPages_v1.js"></script>--> <!--Solar track code--> <script type="text/javascript"> var utag_data = { site_name: "solar", site_type: "website", }; </script> <script type="text/javascript"> (function (a, b, c, d) { a = ((navigator.languages && navigator.languages.length) ? navigator.languages[0] : (navigator.browserLanguage || navigator.userLanguage || navigator.language || 'en')).toLowerCase() == "zh-cn" ? '//tags.tiqcdn.cn/utag/huawei/solar/prod/utag.js' : '//tags.tiqcdn.com/utag/huawei/solar/prod/utag.js'; b = document; c = 'script'; d = b.createElement(c); d.src = a; d.type = 'text/java' + c; d.async = true; a = b.getElementsByTagName(c)[0]; a.parentNode.insertBefore(d, a); })(); </script> <script src="/-/media/SolarV4/solar-version2/common/seo/common-seo.js?ver=202411131551"></script> <script src="/-/media/SolarV4/solar-version2/common/data-analysis/analysis-v2.js?ver=202411131551"></script> <script src="/Assets/Solar/v4/js/utils/bvideo.js?ver=202411131551"></script> <script src="/Assets/Solar/v4/js/utils/oft.js?ver=202411131551"></script> <script src="/Assets/Solar/v4/js/utils/swiper-new.min.js?ver=202411131551"></script> <!--<script src="/Assets/Solar/v4/js/utils/publicPages.js"></script>--> <script async="" src="/Assets/Solar/v4/js/index.js?ver=202411131551"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10